- - PR -
セッションBeanについて
1|2|3
次のページへ»
| 投稿者 | 投稿内容 | ||||
|---|---|---|---|---|---|
|
投稿日時: 2003-07-16 17:05
>クライアントとセッションBeanのインスタンスとは1対1であり、複数のクライアント
>からのアクセスはできません。 こんにちは、疑問があるので分かる方、説明をお願いします。 「セッションBeanに複数クライアントからのアクセスはできませ ん」という記述が@ITの記事にありました。 もし、同時に複数クライアントからアクセスされたときはEJB コンテナが排他処理をしてくれるのでしょうか?この辺の、同時 にアクセスがあった時の処理の流れを教えてください。 以上、よろしくお願いします。 | ||||
|
投稿日時: 2003-07-16 18:25
同時呼び出しを行うと RemoteException が送出されます。
WebLogicでは独自のデプロメントデスクリプタ(weblogic-ejb-jar.xml)の allow-concurrent-calls 要素を true に設定することで同時呼び出しを 許可しますが、実際のメソッド呼び出しは直列化されます。 ・[weblogic-ejb-jar.xml 文書型定義]-[allow-concurrent-calls] http://edocs.beasys.co.jp/e-docs/wls/docs70/ejb/reference.html#594589 | ||||
|
投稿日時: 2003-07-17 09:16
インギさんレスありがとうございます。
"allow-concurrent-calls"はステートフル セッションBeanに設定できる ようですが、ステートレス セッションBeanの同時呼び出しはどのようにな りますか? | ||||
|
投稿日時: 2003-07-17 10:36
お世話になります。
回答になっているか分からないのですが、 セッションBeanはシングルスレッドなので同一インスタンスを 同時アクセスすることは「ない」のでは?と思います。 もし、同時アクセスを許してしまうと プーリングがどう機能するかなぞです。 排他処理とは違うような気がしますが 同時アクセスがあった場合、 プール内に既に利用可能なインスタンスが存在する場合はそれを割り当て、 なかったらインスタンスを新規作成して対象スレッドに割り当てる。 という動作になると思います。 以上ですが、間違った認識があったら指摘願います。 | ||||
|
投稿日時: 2003-07-17 11:29
なべぞう様
>ステートレス セッションBeanの同時呼び出しはどのようにな >りますか? そもそもステートレスセッションビーンはスレッドセーフなロジック にするべきと思いましたが違いましたでしょうか? ステートレスセッションビーンはJ2EE Blue Printでは サーブレットに対する入り口(Facade)に使用しており、 ここがシリアライザブル(排他)になるとスループットが あがりませんよね? 実際、SunのRIではステートレスセッションビーンは同一インスタンスが 返されて使いまわされています。(あるいみステートフル) 私はサーブレットのセッションスコープにステートレスセッションビーンを プールして使いまわしてます。 また、EJBコマンドパターンもそういう前提のつくりですよね? | ||||
|
投稿日時: 2003-07-17 11:41
うどさん、プリンスさんレス有難うございます。
*うどさんへ* >プール内に既に利用可能なインスタンスが存在する場合はそれを >割り当て、なかったらインスタンスを新規作成して対象スレッド >に割り当てる。 という動作になると思います。 この動作なら@ITの記事は誤りとなりますよね。 うどさんの説明してくれた動作ならインギさんのレスにあった RemoteExceptionは発生しない気がしますが、どうでしょうか 、説明してもらえますか? *プリンスさんへ* ステートレスセッションBeanはサーブレットと同じマルチスレッド として動作すると考えて良いでしょうか? 以上、宜しくお願いします | ||||
|
投稿日時: 2003-07-17 14:21
なべぞうさんの書き込み (2003-07-17 11:41) より:
>この動作なら@ITの記事は誤りとなりますよね。 そもそもこの記事というのはどの記事のことでしょうか。 引用部分だけではわからないのですが。 | ||||
|
投稿日時: 2003-07-17 14:32
ukさんへ
一応、スレッド元に参照元としてリンクを張っていたのですが 分かりづらかったですね、すみません。 以下の記事をもとに質問をしています。 "Webアプリケーションにおけるサーバ・サイドJavaの効果的な利用(後編)" http://www.atmarkit.co.jp/fjava/special/ejb02/ejb02.html //後半の黒い囲み中にセッションBeanについての記述です。 | ||||
1|2|3
次のページへ»
