0

我有一个队列,我想以并发方式从中使用消息,然后通过实现 org.apache.camel.Processor 将这些消息传递给 MyProcessor,我希望 MyProcessor 也以并行方式运行。请注意,MyProcessor 调用带有 reantrantlock 的可运行对象。

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)

        }
    }

它会以并行方式运行吗?

4

1 回答 1

0

是的,您可以配置 Camel JMS / ActiveMQ 端点以使用并发消费者,然后 Camel rotue 将并行处理消息

from("activemq:Myqueue?concurrentConsumers=5&maxConcurrentConsumers=10")
    .process(new MyProcessor());

端点有 2 个选项来设置并发消费者的范围。在上面的代码中,我们有 5-10 作为范围。

在以下位置查看更多详细信息:http ://camel.apache.org/jms

于 2013-11-13T08:14:52.810 回答