您好我正在使用驼峰并有一个订购问题来解决我不希望在多个线程中并行处理相同的事务或组以解决相同的问题我计划使用JMSXGROUPID标头{{3解决同样的问题。我的问题是这可以与threads标签/ dsl
一起使用<route id="consumer" autoStartup="true">
<description>processing route</description>
<from uri="direct:consumer" />
<!-- <log message="Received ${body}:${threadName}" /> -->
<threads executorServiceRef="sfIboundThreadPool">
<log message="Got ${body}:${threadName} for processing" marker="CAMELLOG" />
<setProperty propertyName="step">
<simple>reader</simple>
</setProperty>
<process ref="reader" />
这里产生的多个线程正在使用配置的theadpool。如果我将标头放置到消费者路由的消息中,我的问题就是这些线程使用JMSXGROUPID。
答案 0 :(得分:3)
在这里阅读JMS消息组
使用时,保证从同一组顺序处理它们。但您可以并行处理多个组。
因此,您不需要使用Camel的线程,只需将JMS / ActiveMQ端点配置为使用concurrentConsumers
,您就可以更轻松地使用它。