0

私の知る限り、MDB で可能なのは AUTO_ACKNOWLEDGE と DUPS_OK_ACKNOWLEDGE だけです。XA トランザクションを回避するために、CLIENT_ACKNOWLEDGE のようなものが必要です。

基本的に私が欲しいもの:メッセージを取得する->ローカルトランザクションを開始する->データベース操作を実行する->ローカルトランザクションを終了する->メッセージを確認する

これを達成する方法を知っていますか?

現在、Jboss 5.1.GA を使用しています。

4

1 に答える 1

0

ここで MDB 戦略の包括的な説明を見つけました。

私の知る限り、手動で ack を実行する方法はありませんが、Bean Managed Transaction を使用すると、onMessage メソッドで例外が発生した場合に ack が発生しません。したがって、トランザクションを「手動で」開始および終了することができ、例外が発生した場合、メッセージは確認されません。

于 2012-11-19T19:29:23.907 に答える