1
春の統合XMLのDSLで
は、JMSメッセージドリブンチャネルアダプタ用のトランザクションマネージャを指定する機能である:私の存在するトランザクションマネージャを追加する方法トランザクションマネージャの定義は
<int-jms:message-driven-channel-adapter id="..."
connection-factory="..." destination="..."
channel="..." error-channel="errorChannel"
transaction-manager="processTransactionManager" auto-startup="false"/>
Jms.messageDrivenChannelAdapter(...)
.destination(...)
.outputChannel(...)
.errorChannel(errorChannel)
.autoStartup(false)
.get();
私は使用しないでくださいJms.channel(...)
DSLコールここで私は私の出口フローを修正する必要があります。
Jms.messageDrivenChannelAdapter(
Jms.container(this.jmsConnectionFactory, ...)
.transactionManager(...)
.get())
Jms.messageDrivenChannelAdapter()
がAbstractMessageListenerContainer
実装を受け入れ、あなたがJms.container()
工場からトップレベルのビルダーを見るようにすることがあります:このように
ありがとうございます。私のSI 1.1.2.RELEASEバージョンには、 'transactionManager'メソッドはありません。どのバージョンを使うべきですか? –
'JmsListenerContainerSpec.get()'と 'setTransactionManager()'を呼び出していただきありがとうございます。 '1.2'にアップグレードすることを検討してください:https://spring.io/blog/2016/10/14/java-dsl-for-spring-integration-1-2-release-is-available。 (あなたの質問にバージョンは言及していませんでした...) –
他のスプリングのlibsを '4.3.4'などにアップグレードする必要があるため、' 1.2.0'バージョンへの単純なアップグレードではソリューションを使用できませんでしたアップグレードは私たちのコードに他の問題をもたらします。それで '1.1.2.RELEASE'に' transactionManager'を何とか指定することが可能ですか? –