0

ejb のライフサイクルから考えると、ejb がタイムアウトしたときに ejbRemove メソッドが呼び出されると思います。私が間違っている場合は、私を修正してください。

とにかく、そうでない場合は、ejb がタイムアウトしたことを知る方法。

JBOSS 5.1 GA を使用しています。

しかし、実際には、ejb タイムアウト時に ejbRemove が呼び出されないため、ejb タイムアウト イベントをキャッチできません。どうにかしてこのイベントをキャッチするのを手伝ってください。

ちなみに、ejb タイムアウトはトランザクション タイムアウトに関連していますが、そうではないと思いますが、よくわかりません。

注: < cache-policy>org.jboss.ejb.plugins.LRUStatefulContextCachePolicy< の下の < max-bean-life> タグから、JBOSS サーバー フォルダー内の conf フォルダーにある standardjboss.xml から ejb タイムアウト時間を変更できます。 /cache-policy> タグ

4

1 に答える 1

0

EJB 仕様に従って、呼び出し元は、オブジェクトのメソッドを呼び出して、結果の例外をキャッチすることにより、オブジェクトがタイムアウトしたことを判断できます。

  • java.rmi.NoSuchObjectException - EJBObject/EJBHome、または@Remotejava.rmi.Remote を拡張するインターフェース
  • javax.ejb.NoSuchLocalObjectException - EJBLocalObject/EJBLocalHome
  • javax.ejb.NoSuchEJBException - @Local、または@Remotejava.rmi.Remote を拡張しないビジネス インターフェイス
于 2012-10-24T21:14:35.860 に答える