2

独自の XAResource を実装する方法について、良いチュートリアルやアドバイスを持っている人はいますか? トランザクションがコミットされたときにのみメールが送信されるように、Spring の MailSender をトランザクション対応にする必要があります。既存のトランザクション ラッパーはないようです。

4

4 に答える 4

2

コメントで言うように、コミットを待つ必要がある場合は、コミット時にTransactionSynchronizationManager.registerSynchronization()メール送信をトリガーするために使用して調査できます。

于 2010-11-06T01:38:53.353 に答える
1

SMTP に真の XAResource を実装できるとは思えません。リソース マネージャー (この場合は SMTP サーバー) にはトランザクション サポートが必要ですが、私は何もないと思います。あなたの最善の策は、「最後のリソース コミット」パターンです。これにより、1 つの非 XA リソースが XA トランザクションに参加できるようになります。Googleで検索すると、たくさんの情報があります。ほとんどの Java EE サーバーはこれをサポートしています。

于 2010-11-03T13:57:54.977 に答える