How to configure active mq JMS with camel

Hi All,

Could you please help me in below scenario:

I have 3 separate micro services which have camunda engine and application on it. All there micro services are no 3 different servers. and camunda DB is shared between all of three. Now I have configured JMS which is having listeners whicha re continuously looking for requests. we have around 200 requests in queue in every 2 mins. currently we are facing issue as my first server get crashed due to higher CPU utilization. where as remaining 2 are normal. How do I make sure that all three sharing same load. I am using camel route as below:



and JMS configuration as below:




<bean id="pooledConnectionFactory" class="org.apache.activemq.pool.PooledConnectionFactory"
	init-method="start" destroy-method="stop">
	<property name="maxConnections" value="-1" />
	<property name="connectionFactory" ref="jmsConnectionFactory" />
</bean>

<bean id="jmsConfig" class="org.apache.camel.component.jms.JmsConfiguration">
	<property name="connectionFactory" ref="pooledConnectionFactory" />
	<property name="concurrentConsumers" value="20" />
</bean>

<bean id="activemq" class="org.apache.activemq.camel.component.ActiveMQComponent">
	<property name="configuration" ref="jmsConfig" />

Also, how it is related to jobExecutor values ?
Please guide me here.

Regards,
Amol

Hi @Amol23,

I think your question is not really related to Camunda and is about configuration of consumers, which should be asked in Camel\ActiveMQ communities. Here are some articles, that might help you though:

http://camel.apache.org/clustering-and-loadbalancing.html
http://activemq.apache.org/clustering.html

Basically it’s all about configuring your consumers properly.

Cheers,
Askar

2 Likes