You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@camel.apache.org by tnk <ju...@gmail.com> on 2013/08/07 15:48:13 UTC

Lots of ActiveMQMessageConsumer with selector JMSCorrelationID='CamelDummyJmsMessageSelector'

Hello,

 after about 1 day usage, I got a strange situation - there are lot of
ActiveMQMessageConsumers created (~640k) with selector
JMSCorrelationID='CamelDummyJmsMessageSelector'. All consumer objects use
around 1GB heap memory.

Camel route is quite simple:
	<route id="...">
		<from ref="..." />
		<setExchangePattern pattern="InOut" />
		<.. removing some headers from exchange...>

		<doTry>
			<recipientList>
				<method ref="queueMapper" method="mapSync" />
			</recipientList>
			
			<doCatch>....</doCatch>								
		</doTry>
	</route>

queueMapper bean just returns String from properties, in this case it is
"activemq:REQUEST?replyTo=RESPONSE&receiveTimeout=250&requestTimeout=34000"

ActiveMQ configuration:
	<osgi:reference id="jmsConnectionFactory"
interface="javax.jms.ConnectionFactory" filter="(name=activemq)" />
	<bean id="jmsConfiguration"
class="org.apache.camel.component.jms.JmsConfiguration">
		<property name="connectionFactory" ref="jmsConnectionFactory" />
		<property name="transacted" value="false" />
		<property name="maxConcurrentConsumers" value="5" />
		<property name="cacheLevelName" value="CACHE_NONE" />
	</bean>
	<bean id="activemq"
class="org.apache.activemq.camel.component.ActiveMQComponent">
		<property name="configuration" ref="jmsConfiguration" />
	</bean>

Heap usage is growing, consumer objects are not cleaned and heap growing
dosn't depend on system load. But when doing a heap dump, most of consumers
are destoyed (in my case, ~700mb heap memory was released).

Any ideas why camel creates so many activemq consumers with
JMSCorrelationID='CamelDummyJmsMessageSelector'? As I understand, with such
correlationId no messages will be received ever....

camel version 2.7.1.fuse-00-43
java 1.6.0_43

Justas



--
View this message in context: http://camel.465427.n5.nabble.com/Lots-of-ActiveMQMessageConsumer-with-selector-JMSCorrelationID-CamelDummyJmsMessageSelector-tp5736921.html
Sent from the Camel - Users mailing list archive at Nabble.com.

Re: Lots of ActiveMQMessageConsumer with selector JMSCorrelationID='CamelDummyJmsMessageSelector'

Posted by Christian Posta <ch...@gmail.com>.
Take a look here:

https://issues.apache.org/jira/browse/CAMEL-2740


On Wed, Aug 7, 2013 at 7:24 AM, tnk <ju...@gmail.com> wrote:

> Is this problem related to recipientList? Or it is general issue with camel
> request/reply over jms? I haven't noticed this behaviour in other routes
> with InOut pattern over amq queue.
> Do you have any link to jira issue or other pages where this problem is
> described?
>
> Thank you.
>
>
>
> --
> View this message in context:
> http://camel.465427.n5.nabble.com/Lots-of-ActiveMQMessageConsumer-with-selector-JMSCorrelationID-CamelDummyJmsMessageSelector-tp5736921p5736927.html
> Sent from the Camel - Users mailing list archive at Nabble.com.
>



-- 
*Christian Posta*
http://www.christianposta.com/blog
twitter: @christianposta

Re: Lots of ActiveMQMessageConsumer with selector JMSCorrelationID='CamelDummyJmsMessageSelector'

Posted by tnk <ju...@gmail.com>.
Is this problem related to recipientList? Or it is general issue with camel
request/reply over jms? I haven't noticed this behaviour in other routes
with InOut pattern over amq queue.
Do you have any link to jira issue or other pages where this problem is
described?

Thank you.



--
View this message in context: http://camel.465427.n5.nabble.com/Lots-of-ActiveMQMessageConsumer-with-selector-JMSCorrelationID-CamelDummyJmsMessageSelector-tp5736921p5736927.html
Sent from the Camel - Users mailing list archive at Nabble.com.

Re: Lots of ActiveMQMessageConsumer with selector JMSCorrelationID='CamelDummyJmsMessageSelector'

Posted by Claus Ibsen <cl...@gmail.com>.
Use temporary queues for the replies instead of the shared queue. Or
patch the camel-jms with the bug fix yourself.


On Wed, Aug 7, 2013 at 4:02 PM, tnk <ju...@gmail.com> wrote:
> Thanks for quick reply.
> The problem is, I can't update camel version because the system is running
> is production with a lot bundles. Upgrading to new camel requires a lot of
> refactoring due to api changes...
>
> Is there any workaround (other than upgrading camel) possible in this case?
>
>
>
> --
> View this message in context: http://camel.465427.n5.nabble.com/Lots-of-ActiveMQMessageConsumer-with-selector-JMSCorrelationID-CamelDummyJmsMessageSelector-tp5736921p5736924.html
> Sent from the Camel - Users mailing list archive at Nabble.com.



-- 
Claus Ibsen
-----------------
Red Hat, Inc.
Email: cibsen@redhat.com
Twitter: davsclaus
Blog: http://davsclaus.com
Author of Camel in Action: http://www.manning.com/ibsen

Re: Lots of ActiveMQMessageConsumer with selector JMSCorrelationID='CamelDummyJmsMessageSelector'

Posted by tnk <ju...@gmail.com>.
Thanks for quick reply.
The problem is, I can't update camel version because the system is running
is production with a lot bundles. Upgrading to new camel requires a lot of
refactoring due to api changes...

Is there any workaround (other than upgrading camel) possible in this case?



--
View this message in context: http://camel.465427.n5.nabble.com/Lots-of-ActiveMQMessageConsumer-with-selector-JMSCorrelationID-CamelDummyJmsMessageSelector-tp5736921p5736924.html
Sent from the Camel - Users mailing list archive at Nabble.com.

Re: Lots of ActiveMQMessageConsumer with selector JMSCorrelationID='CamelDummyJmsMessageSelector'

Posted by Claus Ibsen <cl...@gmail.com>.
Try a newer Camel version as this is fixed in a later release

On Wed, Aug 7, 2013 at 3:48 PM, tnk <ju...@gmail.com> wrote:
> Hello,
>
>  after about 1 day usage, I got a strange situation - there are lot of
> ActiveMQMessageConsumers created (~640k) with selector
> JMSCorrelationID='CamelDummyJmsMessageSelector'. All consumer objects use
> around 1GB heap memory.
>
> Camel route is quite simple:
>         <route id="...">
>                 <from ref="..." />
>                 <setExchangePattern pattern="InOut" />
>                 <.. removing some headers from exchange...>
>
>                 <doTry>
>                         <recipientList>
>                                 <method ref="queueMapper" method="mapSync" />
>                         </recipientList>
>
>                         <doCatch>....</doCatch>
>                 </doTry>
>         </route>
>
> queueMapper bean just returns String from properties, in this case it is
> "activemq:REQUEST?replyTo=RESPONSE&receiveTimeout=250&requestTimeout=34000"
>
> ActiveMQ configuration:
>         <osgi:reference id="jmsConnectionFactory"
> interface="javax.jms.ConnectionFactory" filter="(name=activemq)" />
>         <bean id="jmsConfiguration"
> class="org.apache.camel.component.jms.JmsConfiguration">
>                 <property name="connectionFactory" ref="jmsConnectionFactory" />
>                 <property name="transacted" value="false" />
>                 <property name="maxConcurrentConsumers" value="5" />
>                 <property name="cacheLevelName" value="CACHE_NONE" />
>         </bean>
>         <bean id="activemq"
> class="org.apache.activemq.camel.component.ActiveMQComponent">
>                 <property name="configuration" ref="jmsConfiguration" />
>         </bean>
>
> Heap usage is growing, consumer objects are not cleaned and heap growing
> dosn't depend on system load. But when doing a heap dump, most of consumers
> are destoyed (in my case, ~700mb heap memory was released).
>
> Any ideas why camel creates so many activemq consumers with
> JMSCorrelationID='CamelDummyJmsMessageSelector'? As I understand, with such
> correlationId no messages will be received ever....
>
> camel version 2.7.1.fuse-00-43
> java 1.6.0_43
>
> Justas
>
>
>
> --
> View this message in context: http://camel.465427.n5.nabble.com/Lots-of-ActiveMQMessageConsumer-with-selector-JMSCorrelationID-CamelDummyJmsMessageSelector-tp5736921.html
> Sent from the Camel - Users mailing list archive at Nabble.com.



-- 
Claus Ibsen
-----------------
Red Hat, Inc.
Email: cibsen@redhat.com
Twitter: davsclaus
Blog: http://davsclaus.com
Author of Camel in Action: http://www.manning.com/ibsen