gpt4 book ai didi

java - Spring Integration JMS 端点的事务管理器定义

转载 作者:行者123 更新时间:2023-11-30 10:37:27 24 4
gpt4 key购买 nike

在 Spring Integration 中,XML DSL 能够为 JMS 消息驱动的 channel 适配器指定事务管理器:

<int-jms:message-driven-channel-adapter id="..."
connection-factory="..." destination="..."
channel="..." error-channel="errorChannel"
transaction-manager="processTransactionManager" auto-startup="false"/>

如何将事务管理器添加到我的存在 SI Java DSL

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 Java DSL 1.1.x,解决方法如下:

  1. 使用Jms.messageDrivenChannelAdapter(AbstractMessageListenerContainer)
  2. DefaultMessageListenerContainer 配置顶级 @Bean
  3. 并使用它的setTransactionManager()

关于java - Spring Integration JMS 端点的事务管理器定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40115487/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com