2016-07-15 9 views
0

私はjms-message-driven-channel-adapterをキューから受信しました。私はrouterにメッセージを渡しています。これは、いくつかのパラメータに基づいて、Service Activatorsとして設定された春の豆にメッセージを送信しています。バネ統合のトランザクション処理

春の豆がメッセージを処理した後にのみ、JMSキューからメッセージを削除します。それ以外の場合は、メッセージをキューから削除しないでください。

私はchainの内側に上記のすべての流れを入れてみましたが、jms-adapterchainと互換性がありません。私は春の統合には新しいです。これを実装する方法を教えてください。

答えて

0

すべてのコンポーネント間でチャネルを直接(デフォルト)使用する限り、フローはトランザクションで実行され、フローが完了するとメッセージは削除(コミット)されます。 acknowledge="transacted"(バージョン4.2以降のデフォルト)を設定してください。

フローが例外をスローすると、メッセージはキューに入れられます(ロールバックされます)。

+0

直接チャネルと間接チャネルとは何ですか?私はルータを使用しているので、それは直接チャネルですか? – zilcuanu

+0

キューまたはタスクエグゼキュータを持たない単純な「」は直接チャネルです。 [メッセージチャネル](http://docs.spring.io/spring-integration/reference/html/messaging-channels-section.html)および[トランザクションサポート](http://docs.spring.io/spring- integration/reference/html/transactions.html)を参照してください。 –

関連する問題