およびトランザクションについて多くの質問があることは承知してmessage driven beans
いますが、一般的なシナリオであるに違いない (私が考えるもの) に対する答えを見つけることができませんでした。
メールを送信するために呼び出すことができるサービスがあります。呼び出されると、テーブルに電子メール レコードが作成されActiveMQ
、処理のために ID がプッシュされます。ここまでは問題ありませんが、キューは ID を取得し、トランザクションがコミットされる前に電子メールの送信を試み、電子メールはデータベースにありません。
サービス自体はトランザクションですが、より大きなトランザクションの一部である場合もあります。
このシナリオを処理する最善の方法は何ですか? 現在、動作する Thread.sleep を使用してConsumer
います。しかし、これは汚い気がします...
(私はSpringを使用していません)