gpt4 book ai didi

java - 我们可以将 jmsxgroupid 与 apache camel 中的线程一起使用来解决线程 dsl 标记中的排序问题吗

转载 作者:行者123 更新时间:2023-11-30 08:11:17 25 4
gpt4 key购买 nike

您好我正在使用 camel 并且有一个排序问题来解决我不希望在多个线程中并行处理相同的事务或组来解决相同的问题我计划使用 JMSXGROUPID header http://camel.apache.org/parallel-processing-and-ordering.html解决同样的问题。我的问题是这可以与线程标签/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。我的问题是,如果我将 header 放置到发送到消费者路由的消息中,这些线程将使用 JMSXGROUPID。

最佳答案

在此处阅读有关 JMS 消息组的信息

当使用它时,它们保证从同一组中顺序处理。但是您可以并行处理多个组。

因此您不需要使用 Camel 的线程,只需将 JMS/ActiveMQ 端点配置为使用 concurrentConsumers 即可轻松实现。

关于java - 我们可以将 jmsxgroupid 与 apache camel 中的线程一起使用来解决线程 dsl 标记中的排序问题吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31089197/

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