1

MDB メッセージの処理をしばらく一時停止できますか? 例: メッセージ処理用に Jboss 1 でデプロイされた MDB。Jboss 2:-ユーザーの詳細を収集するための Bean。jboss 1 の MDB がユーザーの詳細を取得するために jboss 2 の Bean を呼び出す場合。この場合、Jboss 2 を再起動するときに、jboss 2 が起動するまで jboss 1 の MDB を一時停止する必要があります。メッセージの失敗を回避できるように、MDB を一時停止するオプションはありますか?

4

3 に答える 3

2

アプリケーション全体を停止せずにMDBを停止できるとは思えません。Spring JMSでは可能ですが、通常のメッセージ駆動型Beanでは不可能です。

あなたができること、そして明らかに可能であるのは、キューを一時停止することです。HornetMQを使用すると、キューを「受信専用モード」に切り替えることができますが、これが管理コンソールから利用できるかどうかはわかりません。

于 2011-12-08T11:29:00.917 に答える
2

JBoss(4.xおよび5.x)では、JMXコンソールを介してMDBを検索し、メッセージの配信を一時停止できます。

  1. jmxコンソールに移動します(http://yourserver:8080/jmx-console/8080はHTTPポートです)
  2. jboss.j2ee左側のペインをクリックします
  3. 右側のペインで、MDBを見つけてクリックします。通常、それは次のようになります

    jar=file-containing-your-MDB.jar,name=NameOfYourMDB,service=EJB3

  4. 一時停止するには、「stopDelivery」の横にある「Invoke」ボタンをクリックします
  5. 再開するには、「startDelivery」の横にある「Invoke」ボタンをクリックします
于 2012-02-28T17:36:41.623 に答える
0

HornetQ でキューを停止できます。(JBoss Messaging についてはよくわかりませんが、きっとそうでしょう)

JMX コンソールでメッセージの一時停止と再開を探します

于 2012-02-29T02:13:18.083 に答える