質問
メッセージ駆動型Beanを(プログラムで)停止して、新しいメッセージを消費せず、実行中のトランザクションを通常どおりに処理することは可能ですか?
(これは、アンデプロイする前にメッセージ処理を停止する方法のフォローアップです?)。
与えられた
- JBossMessagingを使用したJBoss4.2.3
- EJB2.0に準拠したメッセージ駆動型Bean
失敗した試み
- MBeanメソッドを使用したいのです
stopDelivery
が、残念ながらトランザクションがすぐに閉じられ(バグ#EJBTHREE-1870を参照)、多くの例外が発生します。 - JMXコンソールで最大プールサイズを0に減らしようとしましたが、アクティブなセッションの数はまったく影響を受けません。
- キューを停止することはできますが
NameNotFoundException
、プロデューサー内でsを処理する必要があります。