- PR -

J2EE の制限事項について

投稿者投稿内容
ケイ
会議室デビュー日: 2004/10/29
投稿数: 1
投稿日時: 2004-10-29 12:44
ソケットに限らず EJB で使用するクラスは基本的に Serializable である必要があります。これは ejbActivate()/ejbPassivate() が行われますのでオブジェクトを永続化できないためです。ですのでもしこうした Serializable でないオブジェクトを EJB で使用する場合には、transient 宣言するか、ejbActivate/ejbPassivate() の中でソケットのオープン/クローズといった処理を行う必要があります。
また、ソケットをリッスンするといった処理は行うべきではありません。EJB の動作としてはクライアントからのリクエストがあるとスレッドに結びつけられた EJB の処理が実行されますが、仮にリッスンを行うとするとそこでスレッドが止まってしまいます。TCP レベルでの接続受付の処理はアプリケーションサーバに任せるべきです。

スキルアップ/キャリアアップ(JOB@IT)