我有一个队列,我希望以并发方式使用消息,然后使用实现org.apache.camel.Processor将这些消息传递给MyProcessor,我希望MyProcessor也以并行方式运行。请注意MyProcessor使用reantrantlock调用runnable。
from(activemq:Myqueue?maxConcurrentConsumers=10)
.process(new MyProcessor());
class MyProcessor implements org.apache.camel.Processor {
@Override
public void process(Exchange exchange) throws Exception {
// Do some process
sleep(1000)
}
}
它会以并行方式运行吗?
答案 0 :(得分:0)
是的,您可以将Camel JMS / ActiveMQ端点配置为使用并发使用者,然后Camel rotue将并行处理消息
from("activemq:Myqueue?concurrentConsumers=5&maxConcurrentConsumers=10")
.process(new MyProcessor());
端点有2个选项可为并发使用者设置范围。在上面的代码中,我们有5-10作为范围。