【发布时间】:2017-12-29 11:34:33
【问题描述】:
我正在使用 spring 集成 jms 通道来消费队列中的消息并进行处理。
这是我的入站通道配置.xml
<jms:message-driven-channel-adapter id="jmsIn"
destination="requestQueue"
channel="routingChannel"
connection-factory="cachingConnectionFactory"
error-channel="errorChannel"
concurrent-consumers="${jms_adapter_concurrent_consumers}" />
在这里,当我将 concurrent-consumers 设置为大于 1 的值时,我使用的消息在处理时会损坏。我正在使用队列中的 XML 和 Json 消息,在解析数据时,我可以看到它的某些内容已更改并设置为某个随机值。
上述配置只有在concurrent-consumers 值设置为1 时才能正常工作。
我的问题是,当我将 concurrent-consumers 设置为大于 1 的值时,我是否必须手动同步(使线程安全)我的代码?
【问题讨论】:
-
minimal reproducible example 是强制性的。猜测你的代码是什么样子并没有帮助
标签: java concurrency spring-integration spring-jms