MDB またはその他のコードからトランザクション メッセージを送信することは、Web 全体で文書化されています。
しかし、MDB でトランザクション受信を行うにはどうすればよいでしょうか? 私が見つけた文書によると、トランザクション送信と同様Session.commit()
に、メッセージの受信を確認するために電話する必要があります。
しかし、(JMS) セッション インスタンスにアクセスする方法がわかりません。MessageDrivenContext
インスタンス経由では利用できないようです。
また、インスタンスのafterCompletion
メソッドに関する競合状態を制御するために、MDB で BMT (Bean 管理トランザクション) を使用する必要があります。javax.transaction.Synchronization
から (実行時) 例外をスローするよりも、トランザクション受信を実行できる方がよいでしょうonMessage(Message)
。