私は Tibco MoM で JMS Topic Subscribers について読んでいました (そしてサンプルを実装しました)。これらは私が参照しているリンクです: Link1
ただし、トランザクションが複数のサブスクライバーでどのように管理されるかについては明確ではありませんでした。DefaultMessageListenerContainer
コンテナと永続的なサブスクリプションとして使用しています。
通常、onMessage
サブスクライバの が完了すると、トランザクションがコミットされます。How does it happen over multiple subscribers?
ここで、Subscriber1 がメッセージを受信し、それに基づいてアクションを処理したとします (アクションを元に戻すことはできません)。その後、Subscriber2 が有効になり、このメッセージを処理しようとしました。問題が発生したため、トランザクションをロールバックする必要があります。メッセージはトピックに戻されます。
次に、Subscriber1 にはメッセージが再び表示されますか? メッセージを再度消費する必要がありますか? これは分散トランザクションの場合ですか? コミットはいつ行われますか?