情報 :: XA トランザクションで DefaultMessageListener を実装しています。MessageListener 実装を使用しました。
シナリオ:: 私の XA トランザクションは DB と JMS Q パブリッシュの間です。いずれかで「データ エラー」が発生した場合は、ソース メッセージを別の Q に「移動」し、残りのメッセージの処理を続行する必要があります。
問題:: 現在、DB トランザクションが DataIntegrity エラー (主キー違反) で失敗した場合、XA トランザクションはコンテナーでロールバックします (MessageListener 実装ではありません)。そのため、元のメッセージは Q にロールバックされ、メッセージ リスナーはこのメッセージを無期限に受け取り、処理に失敗します。
いくつかの例外をチェックするにはどうすればよいですか? また、残りのメッセージを続行できるように、コンテナー内でそれらを別の方法で処理できますか?
銀座