首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当出站适配器无法打开目标队列时,将丢失来自源的消息

当出站适配器无法打开目标队列时,将丢失来自源的消息
EN

Stack Overflow用户
提问于 2014-04-12 23:12:10
回答 2查看 239关注 0票数 0

我有入站消息侦听器适配器,当出站适配器无法打开目标队列时,源队列中的消息将丢失。我正在使用spring-io进行jms队列消息传输。

在消息到达目标队列或者停留在源队列后,如何提交传输?

EN

回答 2

Stack Overflow用户

发布于 2014-04-12 23:42:19

message-driven-channel-adapter上设置acknowledge="transacted"

票数 0
EN

Stack Overflow用户

发布于 2014-04-22 15:32:01

这只是一个从消费者到生产者的事务传播问题。您可以通过执行以下附加配置来轻松解决此问题。

如果您使用的是DefaultMessageListenerContainer,强烈建议将sessionTransacted设置为true或指定外部transactionManager。

如果未配置消息侦听器容器,而是使用message-driven-channel-adapter,则需要将其acknowledge属性设置为transacted

要将出站适配器配置为参与事务,需要按如下方式配置JmsTemplate,并将其sessionTransacted属性设置为true

代码语言:javascript
复制
<bean id="outboundJmsTemplate" class="org.springframework.jms.core.JmsTemplate">
    <property name="connectionFactory" ref="outboundCF" />
    <property name="defaultDestination" ref="outboundDestination" />
    <property name="sessionTransacted" value="true" />
</bean>
<int-jms:outbound-channel-adapter channel="jmsOutChannel" jms-template="outboundJmsTemplate" />

希望它能解决你的问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23032167

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档