メッセージがキューに到着するたびにクラスターノードでインスタンス化されるメッセージ駆動型 Bean があります。
メッセージ駆動型 Bean で実行されているプロセスをクラスタ全体で監視およびキャンセルできるようにしたいのですが、これは少し問題です。
それはどのように達成できますか?各クラスタ ノードから現在処理されている MDB のリストを何らかの方法で取得し、必要に応じてそれらのプロセスを強制終了することはできますか? ある種のシングルトンを使用して、すべてのクラスターノード上のすべての MDB の参照を保持できますか (そうは思いません:()
私が使用できるレジストリサービスはありますか、それともそのようなものを書くことは可能ですか?
最後の手段は、データベースを介して監視とキャンセルのプロセスを実行することです。これは、キャンセルを検出するために MDB 内のデータベースをポーリングする必要があるため、私は嫌いです。
サーバー環境は BEA Weblogic 10.02 で、EJB 3.0 を使用しています。