【发布时间】:2014-11-29 23:28:21
【问题描述】:
我正在尝试编写一个骆驼路由,它使用来自 JMS 队列的传入消息并在不同线程中同时处理它们。我得到的骆驼路线是这样的:
<camel:endpoint id="requestQueue" uri="jms:queue.request" camelContextId="camel"/>
<camel:endpoint id="responseQueue" uri="jms:queue.response" camelContextId="camel"/>
<camel:camelContext id="camel">
<camel:threadPool id="serviceThreadPool" poolSize="10" threadName="workerThread" maxPoolSize="20"/>
<camel:route id="requestServingRoute">
<camel:from ref="requestQueue"/>
<camel:threads executorServiceRef="serviceThreadPool">
<camel:to uri="bean:doSomething"/>
<camel:to ref="responseQueue"/>
</camel:threads>
</camel:route>
</camel:camelContext>
但是,我可以观察到传入的消息确实是由单独的线程处理的,但是它们是按顺序处理的。
我试图实现的是,camel 在 doSomething bean 中为每个传入请求在单独的线程中处理每个请求。
我怎样才能做到这一点?
非常感谢。
【问题讨论】:
标签: java apache-camel