Hi

You only have 1 consumer listening on the JMS topic
     <property name="concurrentConsumers" value="1" />

Try increasing this number.



On Thu, Oct 15, 2009 at 4:32 PM, Jörn Kottmann <kottm...@gmail.com> wrote:
> Hello,
>
> in this route the messages are read from an ActiveMQ topic
> and then send to an Async Processor. The Async Processor
> drives the processing in an other systems which processes
> 100 messages parallel.
>
> How can I configure camel to keep the Async Processor supplied
> with at least 100 messages concurrently when there are messages
> waiting to be processed on the topic ?
>
> In my current configuration I think camel calls my processor synchronously,
> which really slows the system down.
>
> Here is my route:
> getContext().addComponent("activemq", bean(ActiveMQComponent.class,
> "activemq"));
> SpringTransactionPolicy required = bean(SpringTransactionPolicy.class,
>   "PROPAGATION_REQUIRED");
>      errorHandler(transactionErrorHandler(required));
>
> from("activemq:topic:TestTopic?clientId=test&durableSubscriptionName=test")
> .policy(required)
> .to("CustomAsyncProcessor:xxxxx");
>
> Since the async processing can fail the route uses transactions to not loose
> messages.
>
> And here is my camel-context.xml:
>
> ...
>
>   <bean id="jmsConnectionFactory"
> class="org.apache.activemq.ActiveMQConnectionFactory">
>       <property name="brokerURL"
>
> value="failover:(tcp://10.45.2.100:61616)?jms.redeliveryPolicy.maximumRedeliveries=-1"
> />
>   </bean>
>
>   <bean id="jmsTransactionManager"
>       class="org.springframework.jms.connection.JmsTransactionManager">
>       <property name="connectionFactory" ref="jmsConnectionFactory" />
>   </bean>
>
>   <bean id="jmsConfig"
> class="org.apache.camel.component.jms.JmsConfiguration">
>       <property name="connectionFactory" ref="jmsConnectionFactory" />
>       <property name="transactionManager" ref="jmsTransactionManager" />
>       <property name="transacted" value="true" />
>       <property name="concurrentConsumers" value="1" />
>   </bean>
>
>   <bean id="activemq"
> class="org.apache.activemq.camel.component.ActiveMQComponent">
>       <property name="configuration" ref="jmsConfig" />
>   </bean>
>
>   <bean id="PROPAGATION_REQUIRED"
> class="org.apache.camel.spring.spi.SpringTransactionPolicy">
>       <property name="transactionManager" ref="jmsTransactionManager" />
>       <property name="propagationBehaviorName"
> value="PROPAGATION_REQUIRED"/>
>   </bean>
> ...
>
> Thanks,
> Jörn
>



-- 
Claus Ibsen
Apache Camel Committer

Open Source Integration: http://fusesource.com
Blog: http://davsclaus.blogspot.com/
Twitter: http://twitter.com/davsclaus

Reply via email to