2013-11-12 3 views
0

У меня есть очередь, из которой я хочу использовать сообщения одновременно, а затем передавая эти сообщения в MyProcessor с помощью реализации org.apache.camel.Processor, я хочу, чтобы MyProcessor запускался параллельно. обратите внимание, что MyProcessor вызывает runnable с reantrantlock.Компонент camel activemq и customproccessor

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

Да, вы можете настроить конечную точку Camel JMS/ActiveMQ использовать одновременно потребителей, то rotue Camel будет обрабатывать сообщения в параллельном

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

конечная точка имеет 2 варианта, чтобы установить диапазон для одновременных потребителей. В приведенном выше коде мы имеем 5-10 в качестве диапазона.

См. Более подробную информацию по адресу: http://camel.apache.org/jms

Смежные вопросы