要件: JMSキュー(別のアプリケーションによって公開されている)からメッセージを取得し、JMSキューにメッセージを保持する必要があります。トランザクション全体にフロー全体が必要なので、メッセージをダウンストリームJMSキューに永続化できない場合は、アップストリームJMSキューから受信したメッセージを確認しないでください。 私の設定は、私は、このシナリオでJmsTransactionManagerを使用する必要があるか、設定で十分超えるべきですか1つのJMSキューから別のJMSキューに永続化するときにJmsTransactionManagerを使用する必要があります
<int-jms:message-driven-channel-adapter
id="MessageDrivenAdapter" channel=" jmsMessageChannel " destination="sourceDestination"
connectionFactory="CF1"
acknowledge="transacted"
/>
<int:channel id=" jmsMessageChannel " />
<int-jms:outbound-channel-adapter id="sendsomemsg"
channel=" jmsMessageChannel " destination=”finalDestination”
connectionFactory="CF2"
session-transacted="true" />
以下の通りです。私たちは重複したメッセージを扱うことができるので、私たちはXAトランザクションを必要としないと信じています。
これらのコンポーネントは同じ接続ファクトリを使用しています。 –
接続ファクトリが異なります。コードを編集しました。したがって、JmsTransactionManagerを使用する必要があります – vjm
いいえ、あなたが 'ChainedTransactionManager'を複雑にすると' JtaTransactionManager'やその他のXA実装が必要です。共有された単一の 'JmsTransactionManager'はあなたのケースでは機能しません。 –