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