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