You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@camel.apache.org by Norman Maurer <no...@apache.org> on 2010/03/18 12:58:37 UTC

ConsumerTemplate and OOM exception

Hi all,

I'm using the ConsumerTemplate to consume messages from a ActiceMQ
queue (using a selector for filtering). Everything seems to work
without a problem but after some days I get an OOM Exception. (To be
hornest the queue is empty all the time). When I remove the
ConsumerTemplate stuff I don't see the problems. So I suspect there is
something leakin..

Any idea howto track down this ?

My code is here:

http://svn.apache.org/viewvc/james/server/trunk/spoolmanager/src/main/java/org/apache/james/transport/camel/JMSSelectorPollingConsumer.java?view=markup

I'm usin camel 2.3 SNAPSHOT..

Thx,
Norman

Re: ConsumerTemplate and OOM exception

Posted by Norman Maurer <no...@googlemail.com>.
Hi Claus,

yeah sure it would be better to have a dynamic selector but I saw no
way todo this. If you have any just shout ;)

I will create a Ticket for the caching stuff and in the meantime I
will try to eliminate the usage of the consumerTemplate.

Thx again,

Bye,
Norman


2010/3/18 Claus Ibsen <cl...@gmail.com>:
> On Thu, Mar 18, 2010 at 12:58 PM, Norman Maurer <no...@apache.org> wrote:
>> Hi all,
>>
>> I'm using the ConsumerTemplate to consume messages from a ActiceMQ
>> queue (using a selector for filtering). Everything seems to work
>> without a problem but after some days I get an OOM Exception. (To be
>> hornest the queue is empty all the time). When I remove the
>> ConsumerTemplate stuff I don't see the problems. So I suspect there is
>> something leakin..
>>
>> Any idea howto track down this ?
>>
>> My code is here:
>>
>> http://svn.apache.org/viewvc/james/server/trunk/spoolmanager/src/main/java/org/apache/james/transport/camel/JMSSelectorPollingConsumer.java?view=markup
>>
>> I'm usin camel 2.3 SNAPSHOT..
>>
>
> Your consumer endpoint URI will be unique on each call since you use
> System currentTimeMillis.
> And hence the internal consumer cache is without any effect and a new
> endpoint is created to consume from the JMS Broker.
> The ConsumerTemplate has an internal LRUCache of 1000 elements. I
> guess even with that to prevent high memory consumption your JVM hit a
> limit before.
> It would be more ideal if the endpoint could be reused and the
> JMSSelector was dynamic.
>
>
> I recon we need to expose easy cache size on the Consumer/Producer
> Templates so you can set a lower size in your case.
>
> Could you create a JIRA ticket on this?
>
>
> A workaround currently is to not use the consumer template but
> creating the consumer manually and then doing the stop afterwards to
> free resources.
> Another workaround is to stop/start the consumer template once in a
> while to free the cache.
>
>
> But since you are on 2.3-SNAPSHOT you may want to wait for the fix and
> try it out.
>
>
>
>> Thx,
>> Norman
>>
>
>
>
> --
> Claus Ibsen
> Apache Camel Committer
>
> Author of Camel in Action: http://www.manning.com/ibsen/
> Open Source Integration: http://fusesource.com
> Blog: http://davsclaus.blogspot.com/
> Twitter: http://twitter.com/davsclaus
>

Re: ConsumerTemplate and OOM exception

Posted by Claus Ibsen <cl...@gmail.com>.
On Fri, Mar 26, 2010 at 7:57 AM, Norman Maurer
<no...@googlemail.com> wrote:
> Just to follow up on this.. It seems like I overwrote my startup file
> and so the -Xmx512m was not there anymore.. After adding it back I
> don't saw the OOM anymore..
>

Great news that the memory issue is resolved. Yeah the JVM need a
little more than the default values to run :)


> Thx for all your help,
>
> Norman
>
>
> 2010/3/23 Norman Maurer <no...@googlemail.com>:
>> Will do..
>>
>> Bye,
>> Norman
>>
>>
>> 2010/3/23 Claus Ibsen <cl...@gmail.com>:
>>> Hi
>>>
>>> Also if its possible. Can you let it run as it is now for a while, and
>>> then connect using JConsole to see the JMX stats.
>>>
>>> Then check under Camel if there is many MBeans, eg especially under
>>> endpoints. I suspect the JMSSelector makes Camel register many
>>> endpoints in MBean,
>>> since the JMSSelector is unique.
>>>
>>> It would be good to have this confirmed.
>>>
>>> Then afterwards you can disable JMX in Camel as shown below and try again.
>>>
>>>
>>> On Tue, Mar 23, 2010 at 8:08 AM, Claus Ibsen <cl...@gmail.com> wrote:
>>>> Hi
>>>>
>>>> You disable JMX in Camel as documented here
>>>> http://camel.apache.org/camel-jmx.html
>>>>
>>>> eg by adding this tag inside <camelContext>
>>>>  <jmxAgent id="agent" disabled="true"/>
>>>>
>>>>
>>>>
>>>> On Tue, Mar 23, 2010 at 7:27 AM, Norman Maurer
>>>> <no...@googlemail.com> wrote:
>>>>> Hi Claus,
>>>>>
>>>>> yes we use pooled connections. Here is the config:
>>>>>
>>>>> http://svn.apache.org/viewvc/james/server/trunk/spring-deployment/src/main/config/james/activemq.xml?view=markup
>>>>> http://svn.apache.org/viewvc/james/server/trunk/spring-deployment/src/main/config/james/spring-beans.xml?view=markup
>>>>>
>>>>> Thx again for all your help..
>>>>>
>>>>> Bye,
>>>>> Norman
>>>>>
>>>>>
>>>>> 2010/3/22 Claus Ibsen <cl...@gmail.com>:
>>>>>> On Mon, Mar 22, 2010 at 7:47 PM, Norman Maurer <no...@apache.org> wrote:
>>>>>>> Same problem again,
>>>>>>>
>>>>>>> any other idea?
>>>>>>>
>>>>>>
>>>>>> What is your JMS configuration? Are you using pooled connection factories etc?
>>>>>>
>>>>>>
>>>>>>> Bye
>>>>>>> Norman
>>>>>>>
>>>>>>> 2010/3/22, Norman Maurer <no...@googlemail.com>:
>>>>>>>> Thx for the suggestion. I just disabled it.. Now I will have to wait
>>>>>>>> to see what happens ..
>>>>>>>>
>>>>>>>> Bye,
>>>>>>>> Norman
>>>>>>>>
>>>>>>>>
>>>>>>>> 2010/3/22 Claus Ibsen <cl...@gmail.com>:
>>>>>>>>> On Sun, Mar 21, 2010 at 8:54 PM, Norman Maurer <no...@apache.org> wrote:
>>>>>>>>>> After committing the changes and re-deploy the app , we still see the
>>>>>>>>>> OOM Exception.
>>>>>>>>>>
>>>>>>>>>> Seems like it's to much for the Java VM to create a now Consumer evert
>>>>>>>>>> 30 seconds. Any other suggestions?
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Can you disable JMX which is the one I would assume could be the cause
>>>>>>>>> of the issue.
>>>>>>>>> http://camel.apache.org/camel-jmx.html
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>> Thx
>>>>>>>>>> Norman
>>>>>>>>>>
>>>>>>>>>> 2010/3/19, Norman Maurer <no...@googlemail.com>:
>>>>>>>>>>> Ah right..
>>>>>>>>>>>
>>>>>>>>>>> Thx for the pointer :)
>>>>>>>>>>>
>>>>>>>>>>> Bye,
>>>>>>>>>>> Norman
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> 2010/3/19 Claus Ibsen <cl...@gmail.com>:
>>>>>>>>>>>> On Fri, Mar 19, 2010 at 8:55 AM, Norman Maurer
>>>>>>>>>>>> <no...@googlemail.com> wrote:
>>>>>>>>>>>>> Hi Claus,
>>>>>>>>>>>>>
>>>>>>>>>>>>> did I get it right ?
>>>>>>>>>>>>>
>>>>>>>>>>>>> http://svn.apache.org/viewvc/james/server/trunk/spoolmanager/src/main/java/org/apache/james/transport/camel/JMSSelectorPollingConsumer.java?view=markup
>>>>>>>>>>>>>
>>>>>>>>>>>>> Would be nice if you could have a look ...
>>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> Yes it looks perfect. The only issue would be if an exception was
>>>>>>>>>>>> thrown, eg consider using try .. finally
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>> Thx,
>>>>>>>>>>>>> Norman
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> 2010/3/18 Norman Maurer <no...@googlemail.com>:
>>>>>>>>>>>>>> Jira Ticket created:
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> https://issues.apache.org/activemq/browse/CAMEL-2558
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Thx,
>>>>>>>>>>>>>> Norman
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> 2010/3/18 Claus Ibsen <cl...@gmail.com>:
>>>>>>>>>>>>>>> On Thu, Mar 18, 2010 at 12:58 PM, Norman Maurer <no...@apache.org>
>>>>>>>>>>>>>>> wrote:
>>>>>>>>>>>>>>>> Hi all,
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> I'm using the ConsumerTemplate to consume messages from a ActiceMQ
>>>>>>>>>>>>>>>> queue (using a selector for filtering). Everything seems to work
>>>>>>>>>>>>>>>> without a problem but after some days I get an OOM Exception. (To
>>>>>>>>>>>>>>>> be
>>>>>>>>>>>>>>>> hornest the queue is empty all the time). When I remove the
>>>>>>>>>>>>>>>> ConsumerTemplate stuff I don't see the problems. So I suspect
>>>>>>>>>>>>>>>> there
>>>>>>>>>>>>>>>> is
>>>>>>>>>>>>>>>> something leakin..
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Any idea howto track down this ?
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> My code is here:
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> http://svn.apache.org/viewvc/james/server/trunk/spoolmanager/src/main/java/org/apache/james/transport/camel/JMSSelectorPollingConsumer.java?view=markup
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> I'm usin camel 2.3 SNAPSHOT..
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Your consumer endpoint URI will be unique on each call since you
>>>>>>>>>>>>>>> use
>>>>>>>>>>>>>>> System currentTimeMillis.
>>>>>>>>>>>>>>> And hence the internal consumer cache is without any effect and a
>>>>>>>>>>>>>>> new
>>>>>>>>>>>>>>> endpoint is created to consume from the JMS Broker.
>>>>>>>>>>>>>>> The ConsumerTemplate has an internal LRUCache of 1000 elements. I
>>>>>>>>>>>>>>> guess even with that to prevent high memory consumption your JVM hit
>>>>>>>>>>>>>>> a
>>>>>>>>>>>>>>> limit before.
>>>>>>>>>>>>>>> It would be more ideal if the endpoint could be reused and the
>>>>>>>>>>>>>>> JMSSelector was dynamic.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> I recon we need to expose easy cache size on the Consumer/Producer
>>>>>>>>>>>>>>> Templates so you can set a lower size in your case.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Could you create a JIRA ticket on this?
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> A workaround currently is to not use the consumer template but
>>>>>>>>>>>>>>> creating the consumer manually and then doing the stop afterwards
>>>>>>>>>>>>>>> to
>>>>>>>>>>>>>>> free resources.
>>>>>>>>>>>>>>> Another workaround is to stop/start the consumer template once in a
>>>>>>>>>>>>>>> while to free the cache.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> But since you are on 2.3-SNAPSHOT you may want to wait for the fix
>>>>>>>>>>>>>>> and
>>>>>>>>>>>>>>> try it out.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Thx,
>>>>>>>>>>>>>>>> Norman
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> --
>>>>>>>>>>>>>>> Claus Ibsen
>>>>>>>>>>>>>>> Apache Camel Committer
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Author of Camel in Action: http://www.manning.com/ibsen/
>>>>>>>>>>>>>>> Open Source Integration: http://fusesource.com
>>>>>>>>>>>>>>> Blog: http://davsclaus.blogspot.com/
>>>>>>>>>>>>>>> Twitter: http://twitter.com/davsclaus
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> --
>>>>>>>>>>>> Claus Ibsen
>>>>>>>>>>>> Apache Camel Committer
>>>>>>>>>>>>
>>>>>>>>>>>> Author of Camel in Action: http://www.manning.com/ibsen/
>>>>>>>>>>>> Open Source Integration: http://fusesource.com
>>>>>>>>>>>> Blog: http://davsclaus.blogspot.com/
>>>>>>>>>>>> Twitter: http://twitter.com/davsclaus
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> --
>>>>>>>>> Claus Ibsen
>>>>>>>>> Apache Camel Committer
>>>>>>>>>
>>>>>>>>> Author of Camel in Action: http://www.manning.com/ibsen/
>>>>>>>>> Open Source Integration: http://fusesource.com
>>>>>>>>> Blog: http://davsclaus.blogspot.com/
>>>>>>>>> Twitter: http://twitter.com/davsclaus
>>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Claus Ibsen
>>>>>> Apache Camel Committer
>>>>>>
>>>>>> Author of Camel in Action: http://www.manning.com/ibsen/
>>>>>> Open Source Integration: http://fusesource.com
>>>>>> Blog: http://davsclaus.blogspot.com/
>>>>>> Twitter: http://twitter.com/davsclaus
>>>>>>
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Claus Ibsen
>>>> Apache Camel Committer
>>>>
>>>> Author of Camel in Action: http://www.manning.com/ibsen/
>>>> Open Source Integration: http://fusesource.com
>>>> Blog: http://davsclaus.blogspot.com/
>>>> Twitter: http://twitter.com/davsclaus
>>>>
>>>
>>>
>>>
>>> --
>>> Claus Ibsen
>>> Apache Camel Committer
>>>
>>> Author of Camel in Action: http://www.manning.com/ibsen/
>>> Open Source Integration: http://fusesource.com
>>> Blog: http://davsclaus.blogspot.com/
>>> Twitter: http://twitter.com/davsclaus
>>>
>>
>



-- 
Claus Ibsen
Apache Camel Committer

Author of Camel in Action: http://www.manning.com/ibsen/
Open Source Integration: http://fusesource.com
Blog: http://davsclaus.blogspot.com/
Twitter: http://twitter.com/davsclaus

Re: ConsumerTemplate and OOM exception

Posted by Norman Maurer <no...@googlemail.com>.
Just to follow up on this.. It seems like I overwrote my startup file
and so the -Xmx512m was not there anymore.. After adding it back I
don't saw the OOM anymore..

Thx for all your help,

Norman


2010/3/23 Norman Maurer <no...@googlemail.com>:
> Will do..
>
> Bye,
> Norman
>
>
> 2010/3/23 Claus Ibsen <cl...@gmail.com>:
>> Hi
>>
>> Also if its possible. Can you let it run as it is now for a while, and
>> then connect using JConsole to see the JMX stats.
>>
>> Then check under Camel if there is many MBeans, eg especially under
>> endpoints. I suspect the JMSSelector makes Camel register many
>> endpoints in MBean,
>> since the JMSSelector is unique.
>>
>> It would be good to have this confirmed.
>>
>> Then afterwards you can disable JMX in Camel as shown below and try again.
>>
>>
>> On Tue, Mar 23, 2010 at 8:08 AM, Claus Ibsen <cl...@gmail.com> wrote:
>>> Hi
>>>
>>> You disable JMX in Camel as documented here
>>> http://camel.apache.org/camel-jmx.html
>>>
>>> eg by adding this tag inside <camelContext>
>>>  <jmxAgent id="agent" disabled="true"/>
>>>
>>>
>>>
>>> On Tue, Mar 23, 2010 at 7:27 AM, Norman Maurer
>>> <no...@googlemail.com> wrote:
>>>> Hi Claus,
>>>>
>>>> yes we use pooled connections. Here is the config:
>>>>
>>>> http://svn.apache.org/viewvc/james/server/trunk/spring-deployment/src/main/config/james/activemq.xml?view=markup
>>>> http://svn.apache.org/viewvc/james/server/trunk/spring-deployment/src/main/config/james/spring-beans.xml?view=markup
>>>>
>>>> Thx again for all your help..
>>>>
>>>> Bye,
>>>> Norman
>>>>
>>>>
>>>> 2010/3/22 Claus Ibsen <cl...@gmail.com>:
>>>>> On Mon, Mar 22, 2010 at 7:47 PM, Norman Maurer <no...@apache.org> wrote:
>>>>>> Same problem again,
>>>>>>
>>>>>> any other idea?
>>>>>>
>>>>>
>>>>> What is your JMS configuration? Are you using pooled connection factories etc?
>>>>>
>>>>>
>>>>>> Bye
>>>>>> Norman
>>>>>>
>>>>>> 2010/3/22, Norman Maurer <no...@googlemail.com>:
>>>>>>> Thx for the suggestion. I just disabled it.. Now I will have to wait
>>>>>>> to see what happens ..
>>>>>>>
>>>>>>> Bye,
>>>>>>> Norman
>>>>>>>
>>>>>>>
>>>>>>> 2010/3/22 Claus Ibsen <cl...@gmail.com>:
>>>>>>>> On Sun, Mar 21, 2010 at 8:54 PM, Norman Maurer <no...@apache.org> wrote:
>>>>>>>>> After committing the changes and re-deploy the app , we still see the
>>>>>>>>> OOM Exception.
>>>>>>>>>
>>>>>>>>> Seems like it's to much for the Java VM to create a now Consumer evert
>>>>>>>>> 30 seconds. Any other suggestions?
>>>>>>>>>
>>>>>>>>
>>>>>>>> Can you disable JMX which is the one I would assume could be the cause
>>>>>>>> of the issue.
>>>>>>>> http://camel.apache.org/camel-jmx.html
>>>>>>>>
>>>>>>>>
>>>>>>>>> Thx
>>>>>>>>> Norman
>>>>>>>>>
>>>>>>>>> 2010/3/19, Norman Maurer <no...@googlemail.com>:
>>>>>>>>>> Ah right..
>>>>>>>>>>
>>>>>>>>>> Thx for the pointer :)
>>>>>>>>>>
>>>>>>>>>> Bye,
>>>>>>>>>> Norman
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> 2010/3/19 Claus Ibsen <cl...@gmail.com>:
>>>>>>>>>>> On Fri, Mar 19, 2010 at 8:55 AM, Norman Maurer
>>>>>>>>>>> <no...@googlemail.com> wrote:
>>>>>>>>>>>> Hi Claus,
>>>>>>>>>>>>
>>>>>>>>>>>> did I get it right ?
>>>>>>>>>>>>
>>>>>>>>>>>> http://svn.apache.org/viewvc/james/server/trunk/spoolmanager/src/main/java/org/apache/james/transport/camel/JMSSelectorPollingConsumer.java?view=markup
>>>>>>>>>>>>
>>>>>>>>>>>> Would be nice if you could have a look ...
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> Yes it looks perfect. The only issue would be if an exception was
>>>>>>>>>>> thrown, eg consider using try .. finally
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>> Thx,
>>>>>>>>>>>> Norman
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> 2010/3/18 Norman Maurer <no...@googlemail.com>:
>>>>>>>>>>>>> Jira Ticket created:
>>>>>>>>>>>>>
>>>>>>>>>>>>> https://issues.apache.org/activemq/browse/CAMEL-2558
>>>>>>>>>>>>>
>>>>>>>>>>>>> Thx,
>>>>>>>>>>>>> Norman
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> 2010/3/18 Claus Ibsen <cl...@gmail.com>:
>>>>>>>>>>>>>> On Thu, Mar 18, 2010 at 12:58 PM, Norman Maurer <no...@apache.org>
>>>>>>>>>>>>>> wrote:
>>>>>>>>>>>>>>> Hi all,
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> I'm using the ConsumerTemplate to consume messages from a ActiceMQ
>>>>>>>>>>>>>>> queue (using a selector for filtering). Everything seems to work
>>>>>>>>>>>>>>> without a problem but after some days I get an OOM Exception. (To
>>>>>>>>>>>>>>> be
>>>>>>>>>>>>>>> hornest the queue is empty all the time). When I remove the
>>>>>>>>>>>>>>> ConsumerTemplate stuff I don't see the problems. So I suspect
>>>>>>>>>>>>>>> there
>>>>>>>>>>>>>>> is
>>>>>>>>>>>>>>> something leakin..
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Any idea howto track down this ?
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> My code is here:
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> http://svn.apache.org/viewvc/james/server/trunk/spoolmanager/src/main/java/org/apache/james/transport/camel/JMSSelectorPollingConsumer.java?view=markup
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> I'm usin camel 2.3 SNAPSHOT..
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Your consumer endpoint URI will be unique on each call since you
>>>>>>>>>>>>>> use
>>>>>>>>>>>>>> System currentTimeMillis.
>>>>>>>>>>>>>> And hence the internal consumer cache is without any effect and a
>>>>>>>>>>>>>> new
>>>>>>>>>>>>>> endpoint is created to consume from the JMS Broker.
>>>>>>>>>>>>>> The ConsumerTemplate has an internal LRUCache of 1000 elements. I
>>>>>>>>>>>>>> guess even with that to prevent high memory consumption your JVM hit
>>>>>>>>>>>>>> a
>>>>>>>>>>>>>> limit before.
>>>>>>>>>>>>>> It would be more ideal if the endpoint could be reused and the
>>>>>>>>>>>>>> JMSSelector was dynamic.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> I recon we need to expose easy cache size on the Consumer/Producer
>>>>>>>>>>>>>> Templates so you can set a lower size in your case.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Could you create a JIRA ticket on this?
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> A workaround currently is to not use the consumer template but
>>>>>>>>>>>>>> creating the consumer manually and then doing the stop afterwards
>>>>>>>>>>>>>> to
>>>>>>>>>>>>>> free resources.
>>>>>>>>>>>>>> Another workaround is to stop/start the consumer template once in a
>>>>>>>>>>>>>> while to free the cache.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> But since you are on 2.3-SNAPSHOT you may want to wait for the fix
>>>>>>>>>>>>>> and
>>>>>>>>>>>>>> try it out.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Thx,
>>>>>>>>>>>>>>> Norman
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> --
>>>>>>>>>>>>>> Claus Ibsen
>>>>>>>>>>>>>> Apache Camel Committer
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Author of Camel in Action: http://www.manning.com/ibsen/
>>>>>>>>>>>>>> Open Source Integration: http://fusesource.com
>>>>>>>>>>>>>> Blog: http://davsclaus.blogspot.com/
>>>>>>>>>>>>>> Twitter: http://twitter.com/davsclaus
>>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> --
>>>>>>>>>>> Claus Ibsen
>>>>>>>>>>> Apache Camel Committer
>>>>>>>>>>>
>>>>>>>>>>> Author of Camel in Action: http://www.manning.com/ibsen/
>>>>>>>>>>> Open Source Integration: http://fusesource.com
>>>>>>>>>>> Blog: http://davsclaus.blogspot.com/
>>>>>>>>>>> Twitter: http://twitter.com/davsclaus
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> --
>>>>>>>> Claus Ibsen
>>>>>>>> Apache Camel Committer
>>>>>>>>
>>>>>>>> Author of Camel in Action: http://www.manning.com/ibsen/
>>>>>>>> Open Source Integration: http://fusesource.com
>>>>>>>> Blog: http://davsclaus.blogspot.com/
>>>>>>>> Twitter: http://twitter.com/davsclaus
>>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Claus Ibsen
>>>>> Apache Camel Committer
>>>>>
>>>>> Author of Camel in Action: http://www.manning.com/ibsen/
>>>>> Open Source Integration: http://fusesource.com
>>>>> Blog: http://davsclaus.blogspot.com/
>>>>> Twitter: http://twitter.com/davsclaus
>>>>>
>>>>
>>>
>>>
>>>
>>> --
>>> Claus Ibsen
>>> Apache Camel Committer
>>>
>>> Author of Camel in Action: http://www.manning.com/ibsen/
>>> Open Source Integration: http://fusesource.com
>>> Blog: http://davsclaus.blogspot.com/
>>> Twitter: http://twitter.com/davsclaus
>>>
>>
>>
>>
>> --
>> Claus Ibsen
>> Apache Camel Committer
>>
>> Author of Camel in Action: http://www.manning.com/ibsen/
>> Open Source Integration: http://fusesource.com
>> Blog: http://davsclaus.blogspot.com/
>> Twitter: http://twitter.com/davsclaus
>>
>

Re: ConsumerTemplate and OOM exception

Posted by Norman Maurer <no...@googlemail.com>.
Will do..

Bye,
Norman


2010/3/23 Claus Ibsen <cl...@gmail.com>:
> Hi
>
> Also if its possible. Can you let it run as it is now for a while, and
> then connect using JConsole to see the JMX stats.
>
> Then check under Camel if there is many MBeans, eg especially under
> endpoints. I suspect the JMSSelector makes Camel register many
> endpoints in MBean,
> since the JMSSelector is unique.
>
> It would be good to have this confirmed.
>
> Then afterwards you can disable JMX in Camel as shown below and try again.
>
>
> On Tue, Mar 23, 2010 at 8:08 AM, Claus Ibsen <cl...@gmail.com> wrote:
>> Hi
>>
>> You disable JMX in Camel as documented here
>> http://camel.apache.org/camel-jmx.html
>>
>> eg by adding this tag inside <camelContext>
>>  <jmxAgent id="agent" disabled="true"/>
>>
>>
>>
>> On Tue, Mar 23, 2010 at 7:27 AM, Norman Maurer
>> <no...@googlemail.com> wrote:
>>> Hi Claus,
>>>
>>> yes we use pooled connections. Here is the config:
>>>
>>> http://svn.apache.org/viewvc/james/server/trunk/spring-deployment/src/main/config/james/activemq.xml?view=markup
>>> http://svn.apache.org/viewvc/james/server/trunk/spring-deployment/src/main/config/james/spring-beans.xml?view=markup
>>>
>>> Thx again for all your help..
>>>
>>> Bye,
>>> Norman
>>>
>>>
>>> 2010/3/22 Claus Ibsen <cl...@gmail.com>:
>>>> On Mon, Mar 22, 2010 at 7:47 PM, Norman Maurer <no...@apache.org> wrote:
>>>>> Same problem again,
>>>>>
>>>>> any other idea?
>>>>>
>>>>
>>>> What is your JMS configuration? Are you using pooled connection factories etc?
>>>>
>>>>
>>>>> Bye
>>>>> Norman
>>>>>
>>>>> 2010/3/22, Norman Maurer <no...@googlemail.com>:
>>>>>> Thx for the suggestion. I just disabled it.. Now I will have to wait
>>>>>> to see what happens ..
>>>>>>
>>>>>> Bye,
>>>>>> Norman
>>>>>>
>>>>>>
>>>>>> 2010/3/22 Claus Ibsen <cl...@gmail.com>:
>>>>>>> On Sun, Mar 21, 2010 at 8:54 PM, Norman Maurer <no...@apache.org> wrote:
>>>>>>>> After committing the changes and re-deploy the app , we still see the
>>>>>>>> OOM Exception.
>>>>>>>>
>>>>>>>> Seems like it's to much for the Java VM to create a now Consumer evert
>>>>>>>> 30 seconds. Any other suggestions?
>>>>>>>>
>>>>>>>
>>>>>>> Can you disable JMX which is the one I would assume could be the cause
>>>>>>> of the issue.
>>>>>>> http://camel.apache.org/camel-jmx.html
>>>>>>>
>>>>>>>
>>>>>>>> Thx
>>>>>>>> Norman
>>>>>>>>
>>>>>>>> 2010/3/19, Norman Maurer <no...@googlemail.com>:
>>>>>>>>> Ah right..
>>>>>>>>>
>>>>>>>>> Thx for the pointer :)
>>>>>>>>>
>>>>>>>>> Bye,
>>>>>>>>> Norman
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> 2010/3/19 Claus Ibsen <cl...@gmail.com>:
>>>>>>>>>> On Fri, Mar 19, 2010 at 8:55 AM, Norman Maurer
>>>>>>>>>> <no...@googlemail.com> wrote:
>>>>>>>>>>> Hi Claus,
>>>>>>>>>>>
>>>>>>>>>>> did I get it right ?
>>>>>>>>>>>
>>>>>>>>>>> http://svn.apache.org/viewvc/james/server/trunk/spoolmanager/src/main/java/org/apache/james/transport/camel/JMSSelectorPollingConsumer.java?view=markup
>>>>>>>>>>>
>>>>>>>>>>> Would be nice if you could have a look ...
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> Yes it looks perfect. The only issue would be if an exception was
>>>>>>>>>> thrown, eg consider using try .. finally
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>> Thx,
>>>>>>>>>>> Norman
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> 2010/3/18 Norman Maurer <no...@googlemail.com>:
>>>>>>>>>>>> Jira Ticket created:
>>>>>>>>>>>>
>>>>>>>>>>>> https://issues.apache.org/activemq/browse/CAMEL-2558
>>>>>>>>>>>>
>>>>>>>>>>>> Thx,
>>>>>>>>>>>> Norman
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> 2010/3/18 Claus Ibsen <cl...@gmail.com>:
>>>>>>>>>>>>> On Thu, Mar 18, 2010 at 12:58 PM, Norman Maurer <no...@apache.org>
>>>>>>>>>>>>> wrote:
>>>>>>>>>>>>>> Hi all,
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> I'm using the ConsumerTemplate to consume messages from a ActiceMQ
>>>>>>>>>>>>>> queue (using a selector for filtering). Everything seems to work
>>>>>>>>>>>>>> without a problem but after some days I get an OOM Exception. (To
>>>>>>>>>>>>>> be
>>>>>>>>>>>>>> hornest the queue is empty all the time). When I remove the
>>>>>>>>>>>>>> ConsumerTemplate stuff I don't see the problems. So I suspect
>>>>>>>>>>>>>> there
>>>>>>>>>>>>>> is
>>>>>>>>>>>>>> something leakin..
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Any idea howto track down this ?
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> My code is here:
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> http://svn.apache.org/viewvc/james/server/trunk/spoolmanager/src/main/java/org/apache/james/transport/camel/JMSSelectorPollingConsumer.java?view=markup
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> I'm usin camel 2.3 SNAPSHOT..
>>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> Your consumer endpoint URI will be unique on each call since you
>>>>>>>>>>>>> use
>>>>>>>>>>>>> System currentTimeMillis.
>>>>>>>>>>>>> And hence the internal consumer cache is without any effect and a
>>>>>>>>>>>>> new
>>>>>>>>>>>>> endpoint is created to consume from the JMS Broker.
>>>>>>>>>>>>> The ConsumerTemplate has an internal LRUCache of 1000 elements. I
>>>>>>>>>>>>> guess even with that to prevent high memory consumption your JVM hit
>>>>>>>>>>>>> a
>>>>>>>>>>>>> limit before.
>>>>>>>>>>>>> It would be more ideal if the endpoint could be reused and the
>>>>>>>>>>>>> JMSSelector was dynamic.
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> I recon we need to expose easy cache size on the Consumer/Producer
>>>>>>>>>>>>> Templates so you can set a lower size in your case.
>>>>>>>>>>>>>
>>>>>>>>>>>>> Could you create a JIRA ticket on this?
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> A workaround currently is to not use the consumer template but
>>>>>>>>>>>>> creating the consumer manually and then doing the stop afterwards
>>>>>>>>>>>>> to
>>>>>>>>>>>>> free resources.
>>>>>>>>>>>>> Another workaround is to stop/start the consumer template once in a
>>>>>>>>>>>>> while to free the cache.
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> But since you are on 2.3-SNAPSHOT you may want to wait for the fix
>>>>>>>>>>>>> and
>>>>>>>>>>>>> try it out.
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>> Thx,
>>>>>>>>>>>>>> Norman
>>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> --
>>>>>>>>>>>>> Claus Ibsen
>>>>>>>>>>>>> Apache Camel Committer
>>>>>>>>>>>>>
>>>>>>>>>>>>> Author of Camel in Action: http://www.manning.com/ibsen/
>>>>>>>>>>>>> Open Source Integration: http://fusesource.com
>>>>>>>>>>>>> Blog: http://davsclaus.blogspot.com/
>>>>>>>>>>>>> Twitter: http://twitter.com/davsclaus
>>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> --
>>>>>>>>>> Claus Ibsen
>>>>>>>>>> Apache Camel Committer
>>>>>>>>>>
>>>>>>>>>> Author of Camel in Action: http://www.manning.com/ibsen/
>>>>>>>>>> Open Source Integration: http://fusesource.com
>>>>>>>>>> Blog: http://davsclaus.blogspot.com/
>>>>>>>>>> Twitter: http://twitter.com/davsclaus
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> Claus Ibsen
>>>>>>> Apache Camel Committer
>>>>>>>
>>>>>>> Author of Camel in Action: http://www.manning.com/ibsen/
>>>>>>> Open Source Integration: http://fusesource.com
>>>>>>> Blog: http://davsclaus.blogspot.com/
>>>>>>> Twitter: http://twitter.com/davsclaus
>>>>>>>
>>>>>>
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Claus Ibsen
>>>> Apache Camel Committer
>>>>
>>>> Author of Camel in Action: http://www.manning.com/ibsen/
>>>> Open Source Integration: http://fusesource.com
>>>> Blog: http://davsclaus.blogspot.com/
>>>> Twitter: http://twitter.com/davsclaus
>>>>
>>>
>>
>>
>>
>> --
>> Claus Ibsen
>> Apache Camel Committer
>>
>> Author of Camel in Action: http://www.manning.com/ibsen/
>> Open Source Integration: http://fusesource.com
>> Blog: http://davsclaus.blogspot.com/
>> Twitter: http://twitter.com/davsclaus
>>
>
>
>
> --
> Claus Ibsen
> Apache Camel Committer
>
> Author of Camel in Action: http://www.manning.com/ibsen/
> Open Source Integration: http://fusesource.com
> Blog: http://davsclaus.blogspot.com/
> Twitter: http://twitter.com/davsclaus
>

Re: ConsumerTemplate and OOM exception

Posted by Claus Ibsen <cl...@gmail.com>.
Hi

Also if its possible. Can you let it run as it is now for a while, and
then connect using JConsole to see the JMX stats.

Then check under Camel if there is many MBeans, eg especially under
endpoints. I suspect the JMSSelector makes Camel register many
endpoints in MBean,
since the JMSSelector is unique.

It would be good to have this confirmed.

Then afterwards you can disable JMX in Camel as shown below and try again.


On Tue, Mar 23, 2010 at 8:08 AM, Claus Ibsen <cl...@gmail.com> wrote:
> Hi
>
> You disable JMX in Camel as documented here
> http://camel.apache.org/camel-jmx.html
>
> eg by adding this tag inside <camelContext>
>  <jmxAgent id="agent" disabled="true"/>
>
>
>
> On Tue, Mar 23, 2010 at 7:27 AM, Norman Maurer
> <no...@googlemail.com> wrote:
>> Hi Claus,
>>
>> yes we use pooled connections. Here is the config:
>>
>> http://svn.apache.org/viewvc/james/server/trunk/spring-deployment/src/main/config/james/activemq.xml?view=markup
>> http://svn.apache.org/viewvc/james/server/trunk/spring-deployment/src/main/config/james/spring-beans.xml?view=markup
>>
>> Thx again for all your help..
>>
>> Bye,
>> Norman
>>
>>
>> 2010/3/22 Claus Ibsen <cl...@gmail.com>:
>>> On Mon, Mar 22, 2010 at 7:47 PM, Norman Maurer <no...@apache.org> wrote:
>>>> Same problem again,
>>>>
>>>> any other idea?
>>>>
>>>
>>> What is your JMS configuration? Are you using pooled connection factories etc?
>>>
>>>
>>>> Bye
>>>> Norman
>>>>
>>>> 2010/3/22, Norman Maurer <no...@googlemail.com>:
>>>>> Thx for the suggestion. I just disabled it.. Now I will have to wait
>>>>> to see what happens ..
>>>>>
>>>>> Bye,
>>>>> Norman
>>>>>
>>>>>
>>>>> 2010/3/22 Claus Ibsen <cl...@gmail.com>:
>>>>>> On Sun, Mar 21, 2010 at 8:54 PM, Norman Maurer <no...@apache.org> wrote:
>>>>>>> After committing the changes and re-deploy the app , we still see the
>>>>>>> OOM Exception.
>>>>>>>
>>>>>>> Seems like it's to much for the Java VM to create a now Consumer evert
>>>>>>> 30 seconds. Any other suggestions?
>>>>>>>
>>>>>>
>>>>>> Can you disable JMX which is the one I would assume could be the cause
>>>>>> of the issue.
>>>>>> http://camel.apache.org/camel-jmx.html
>>>>>>
>>>>>>
>>>>>>> Thx
>>>>>>> Norman
>>>>>>>
>>>>>>> 2010/3/19, Norman Maurer <no...@googlemail.com>:
>>>>>>>> Ah right..
>>>>>>>>
>>>>>>>> Thx for the pointer :)
>>>>>>>>
>>>>>>>> Bye,
>>>>>>>> Norman
>>>>>>>>
>>>>>>>>
>>>>>>>> 2010/3/19 Claus Ibsen <cl...@gmail.com>:
>>>>>>>>> On Fri, Mar 19, 2010 at 8:55 AM, Norman Maurer
>>>>>>>>> <no...@googlemail.com> wrote:
>>>>>>>>>> Hi Claus,
>>>>>>>>>>
>>>>>>>>>> did I get it right ?
>>>>>>>>>>
>>>>>>>>>> http://svn.apache.org/viewvc/james/server/trunk/spoolmanager/src/main/java/org/apache/james/transport/camel/JMSSelectorPollingConsumer.java?view=markup
>>>>>>>>>>
>>>>>>>>>> Would be nice if you could have a look ...
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Yes it looks perfect. The only issue would be if an exception was
>>>>>>>>> thrown, eg consider using try .. finally
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>> Thx,
>>>>>>>>>> Norman
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> 2010/3/18 Norman Maurer <no...@googlemail.com>:
>>>>>>>>>>> Jira Ticket created:
>>>>>>>>>>>
>>>>>>>>>>> https://issues.apache.org/activemq/browse/CAMEL-2558
>>>>>>>>>>>
>>>>>>>>>>> Thx,
>>>>>>>>>>> Norman
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> 2010/3/18 Claus Ibsen <cl...@gmail.com>:
>>>>>>>>>>>> On Thu, Mar 18, 2010 at 12:58 PM, Norman Maurer <no...@apache.org>
>>>>>>>>>>>> wrote:
>>>>>>>>>>>>> Hi all,
>>>>>>>>>>>>>
>>>>>>>>>>>>> I'm using the ConsumerTemplate to consume messages from a ActiceMQ
>>>>>>>>>>>>> queue (using a selector for filtering). Everything seems to work
>>>>>>>>>>>>> without a problem but after some days I get an OOM Exception. (To
>>>>>>>>>>>>> be
>>>>>>>>>>>>> hornest the queue is empty all the time). When I remove the
>>>>>>>>>>>>> ConsumerTemplate stuff I don't see the problems. So I suspect
>>>>>>>>>>>>> there
>>>>>>>>>>>>> is
>>>>>>>>>>>>> something leakin..
>>>>>>>>>>>>>
>>>>>>>>>>>>> Any idea howto track down this ?
>>>>>>>>>>>>>
>>>>>>>>>>>>> My code is here:
>>>>>>>>>>>>>
>>>>>>>>>>>>> http://svn.apache.org/viewvc/james/server/trunk/spoolmanager/src/main/java/org/apache/james/transport/camel/JMSSelectorPollingConsumer.java?view=markup
>>>>>>>>>>>>>
>>>>>>>>>>>>> I'm usin camel 2.3 SNAPSHOT..
>>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> Your consumer endpoint URI will be unique on each call since you
>>>>>>>>>>>> use
>>>>>>>>>>>> System currentTimeMillis.
>>>>>>>>>>>> And hence the internal consumer cache is without any effect and a
>>>>>>>>>>>> new
>>>>>>>>>>>> endpoint is created to consume from the JMS Broker.
>>>>>>>>>>>> The ConsumerTemplate has an internal LRUCache of 1000 elements. I
>>>>>>>>>>>> guess even with that to prevent high memory consumption your JVM hit
>>>>>>>>>>>> a
>>>>>>>>>>>> limit before.
>>>>>>>>>>>> It would be more ideal if the endpoint could be reused and the
>>>>>>>>>>>> JMSSelector was dynamic.
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> I recon we need to expose easy cache size on the Consumer/Producer
>>>>>>>>>>>> Templates so you can set a lower size in your case.
>>>>>>>>>>>>
>>>>>>>>>>>> Could you create a JIRA ticket on this?
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> A workaround currently is to not use the consumer template but
>>>>>>>>>>>> creating the consumer manually and then doing the stop afterwards
>>>>>>>>>>>> to
>>>>>>>>>>>> free resources.
>>>>>>>>>>>> Another workaround is to stop/start the consumer template once in a
>>>>>>>>>>>> while to free the cache.
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> But since you are on 2.3-SNAPSHOT you may want to wait for the fix
>>>>>>>>>>>> and
>>>>>>>>>>>> try it out.
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>> Thx,
>>>>>>>>>>>>> Norman
>>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> --
>>>>>>>>>>>> Claus Ibsen
>>>>>>>>>>>> Apache Camel Committer
>>>>>>>>>>>>
>>>>>>>>>>>> Author of Camel in Action: http://www.manning.com/ibsen/
>>>>>>>>>>>> Open Source Integration: http://fusesource.com
>>>>>>>>>>>> Blog: http://davsclaus.blogspot.com/
>>>>>>>>>>>> Twitter: http://twitter.com/davsclaus
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> --
>>>>>>>>> Claus Ibsen
>>>>>>>>> Apache Camel Committer
>>>>>>>>>
>>>>>>>>> Author of Camel in Action: http://www.manning.com/ibsen/
>>>>>>>>> Open Source Integration: http://fusesource.com
>>>>>>>>> Blog: http://davsclaus.blogspot.com/
>>>>>>>>> Twitter: http://twitter.com/davsclaus
>>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Claus Ibsen
>>>>>> Apache Camel Committer
>>>>>>
>>>>>> Author of Camel in Action: http://www.manning.com/ibsen/
>>>>>> Open Source Integration: http://fusesource.com
>>>>>> Blog: http://davsclaus.blogspot.com/
>>>>>> Twitter: http://twitter.com/davsclaus
>>>>>>
>>>>>
>>>>
>>>
>>>
>>>
>>> --
>>> Claus Ibsen
>>> Apache Camel Committer
>>>
>>> Author of Camel in Action: http://www.manning.com/ibsen/
>>> Open Source Integration: http://fusesource.com
>>> Blog: http://davsclaus.blogspot.com/
>>> Twitter: http://twitter.com/davsclaus
>>>
>>
>
>
>
> --
> Claus Ibsen
> Apache Camel Committer
>
> Author of Camel in Action: http://www.manning.com/ibsen/
> Open Source Integration: http://fusesource.com
> Blog: http://davsclaus.blogspot.com/
> Twitter: http://twitter.com/davsclaus
>



-- 
Claus Ibsen
Apache Camel Committer

Author of Camel in Action: http://www.manning.com/ibsen/
Open Source Integration: http://fusesource.com
Blog: http://davsclaus.blogspot.com/
Twitter: http://twitter.com/davsclaus

Re: ConsumerTemplate and OOM exception

Posted by Norman Maurer <no...@googlemail.com>.
Sorry I missed to tell you that I have the jmxAgent disabled here..
Its just not in svn atm.. I have this on my local install:

    <!-- Change trace to true for debugging purposes -->
    <camel:camelContext id="jamesCamelContext" trace="false" >
        <camel:jmxAgent id="agent" disabled="true"/>
        <camel:template id="producerTemplate"/>
        <camel:routeBuilder ref="processorRoute" />
    </camel:camelContext>


2010/3/23 Claus Ibsen <cl...@gmail.com>:
> Hi
>
> You disable JMX in Camel as documented here
> http://camel.apache.org/camel-jmx.html
>
> eg by adding this tag inside <camelContext>
>  <jmxAgent id="agent" disabled="true"/>
>
>
>
> On Tue, Mar 23, 2010 at 7:27 AM, Norman Maurer
> <no...@googlemail.com> wrote:
>> Hi Claus,
>>
>> yes we use pooled connections. Here is the config:
>>
>> http://svn.apache.org/viewvc/james/server/trunk/spring-deployment/src/main/config/james/activemq.xml?view=markup
>> http://svn.apache.org/viewvc/james/server/trunk/spring-deployment/src/main/config/james/spring-beans.xml?view=markup
>>
>> Thx again for all your help..
>>
>> Bye,
>> Norman
>>
>>
>> 2010/3/22 Claus Ibsen <cl...@gmail.com>:
>>> On Mon, Mar 22, 2010 at 7:47 PM, Norman Maurer <no...@apache.org> wrote:
>>>> Same problem again,
>>>>
>>>> any other idea?
>>>>
>>>
>>> What is your JMS configuration? Are you using pooled connection factories etc?
>>>
>>>
>>>> Bye
>>>> Norman
>>>>
>>>> 2010/3/22, Norman Maurer <no...@googlemail.com>:
>>>>> Thx for the suggestion. I just disabled it.. Now I will have to wait
>>>>> to see what happens ..
>>>>>
>>>>> Bye,
>>>>> Norman
>>>>>
>>>>>
>>>>> 2010/3/22 Claus Ibsen <cl...@gmail.com>:
>>>>>> On Sun, Mar 21, 2010 at 8:54 PM, Norman Maurer <no...@apache.org> wrote:
>>>>>>> After committing the changes and re-deploy the app , we still see the
>>>>>>> OOM Exception.
>>>>>>>
>>>>>>> Seems like it's to much for the Java VM to create a now Consumer evert
>>>>>>> 30 seconds. Any other suggestions?
>>>>>>>
>>>>>>
>>>>>> Can you disable JMX which is the one I would assume could be the cause
>>>>>> of the issue.
>>>>>> http://camel.apache.org/camel-jmx.html
>>>>>>
>>>>>>
>>>>>>> Thx
>>>>>>> Norman
>>>>>>>
>>>>>>> 2010/3/19, Norman Maurer <no...@googlemail.com>:
>>>>>>>> Ah right..
>>>>>>>>
>>>>>>>> Thx for the pointer :)
>>>>>>>>
>>>>>>>> Bye,
>>>>>>>> Norman
>>>>>>>>
>>>>>>>>
>>>>>>>> 2010/3/19 Claus Ibsen <cl...@gmail.com>:
>>>>>>>>> On Fri, Mar 19, 2010 at 8:55 AM, Norman Maurer
>>>>>>>>> <no...@googlemail.com> wrote:
>>>>>>>>>> Hi Claus,
>>>>>>>>>>
>>>>>>>>>> did I get it right ?
>>>>>>>>>>
>>>>>>>>>> http://svn.apache.org/viewvc/james/server/trunk/spoolmanager/src/main/java/org/apache/james/transport/camel/JMSSelectorPollingConsumer.java?view=markup
>>>>>>>>>>
>>>>>>>>>> Would be nice if you could have a look ...
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Yes it looks perfect. The only issue would be if an exception was
>>>>>>>>> thrown, eg consider using try .. finally
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>> Thx,
>>>>>>>>>> Norman
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> 2010/3/18 Norman Maurer <no...@googlemail.com>:
>>>>>>>>>>> Jira Ticket created:
>>>>>>>>>>>
>>>>>>>>>>> https://issues.apache.org/activemq/browse/CAMEL-2558
>>>>>>>>>>>
>>>>>>>>>>> Thx,
>>>>>>>>>>> Norman
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> 2010/3/18 Claus Ibsen <cl...@gmail.com>:
>>>>>>>>>>>> On Thu, Mar 18, 2010 at 12:58 PM, Norman Maurer <no...@apache.org>
>>>>>>>>>>>> wrote:
>>>>>>>>>>>>> Hi all,
>>>>>>>>>>>>>
>>>>>>>>>>>>> I'm using the ConsumerTemplate to consume messages from a ActiceMQ
>>>>>>>>>>>>> queue (using a selector for filtering). Everything seems to work
>>>>>>>>>>>>> without a problem but after some days I get an OOM Exception. (To
>>>>>>>>>>>>> be
>>>>>>>>>>>>> hornest the queue is empty all the time). When I remove the
>>>>>>>>>>>>> ConsumerTemplate stuff I don't see the problems. So I suspect
>>>>>>>>>>>>> there
>>>>>>>>>>>>> is
>>>>>>>>>>>>> something leakin..
>>>>>>>>>>>>>
>>>>>>>>>>>>> Any idea howto track down this ?
>>>>>>>>>>>>>
>>>>>>>>>>>>> My code is here:
>>>>>>>>>>>>>
>>>>>>>>>>>>> http://svn.apache.org/viewvc/james/server/trunk/spoolmanager/src/main/java/org/apache/james/transport/camel/JMSSelectorPollingConsumer.java?view=markup
>>>>>>>>>>>>>
>>>>>>>>>>>>> I'm usin camel 2.3 SNAPSHOT..
>>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> Your consumer endpoint URI will be unique on each call since you
>>>>>>>>>>>> use
>>>>>>>>>>>> System currentTimeMillis.
>>>>>>>>>>>> And hence the internal consumer cache is without any effect and a
>>>>>>>>>>>> new
>>>>>>>>>>>> endpoint is created to consume from the JMS Broker.
>>>>>>>>>>>> The ConsumerTemplate has an internal LRUCache of 1000 elements. I
>>>>>>>>>>>> guess even with that to prevent high memory consumption your JVM hit
>>>>>>>>>>>> a
>>>>>>>>>>>> limit before.
>>>>>>>>>>>> It would be more ideal if the endpoint could be reused and the
>>>>>>>>>>>> JMSSelector was dynamic.
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> I recon we need to expose easy cache size on the Consumer/Producer
>>>>>>>>>>>> Templates so you can set a lower size in your case.
>>>>>>>>>>>>
>>>>>>>>>>>> Could you create a JIRA ticket on this?
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> A workaround currently is to not use the consumer template but
>>>>>>>>>>>> creating the consumer manually and then doing the stop afterwards
>>>>>>>>>>>> to
>>>>>>>>>>>> free resources.
>>>>>>>>>>>> Another workaround is to stop/start the consumer template once in a
>>>>>>>>>>>> while to free the cache.
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> But since you are on 2.3-SNAPSHOT you may want to wait for the fix
>>>>>>>>>>>> and
>>>>>>>>>>>> try it out.
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>> Thx,
>>>>>>>>>>>>> Norman
>>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> --
>>>>>>>>>>>> Claus Ibsen
>>>>>>>>>>>> Apache Camel Committer
>>>>>>>>>>>>
>>>>>>>>>>>> Author of Camel in Action: http://www.manning.com/ibsen/
>>>>>>>>>>>> Open Source Integration: http://fusesource.com
>>>>>>>>>>>> Blog: http://davsclaus.blogspot.com/
>>>>>>>>>>>> Twitter: http://twitter.com/davsclaus
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> --
>>>>>>>>> Claus Ibsen
>>>>>>>>> Apache Camel Committer
>>>>>>>>>
>>>>>>>>> Author of Camel in Action: http://www.manning.com/ibsen/
>>>>>>>>> Open Source Integration: http://fusesource.com
>>>>>>>>> Blog: http://davsclaus.blogspot.com/
>>>>>>>>> Twitter: http://twitter.com/davsclaus
>>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Claus Ibsen
>>>>>> Apache Camel Committer
>>>>>>
>>>>>> Author of Camel in Action: http://www.manning.com/ibsen/
>>>>>> Open Source Integration: http://fusesource.com
>>>>>> Blog: http://davsclaus.blogspot.com/
>>>>>> Twitter: http://twitter.com/davsclaus
>>>>>>
>>>>>
>>>>
>>>
>>>
>>>
>>> --
>>> Claus Ibsen
>>> Apache Camel Committer
>>>
>>> Author of Camel in Action: http://www.manning.com/ibsen/
>>> Open Source Integration: http://fusesource.com
>>> Blog: http://davsclaus.blogspot.com/
>>> Twitter: http://twitter.com/davsclaus
>>>
>>
>
>
>
> --
> Claus Ibsen
> Apache Camel Committer
>
> Author of Camel in Action: http://www.manning.com/ibsen/
> Open Source Integration: http://fusesource.com
> Blog: http://davsclaus.blogspot.com/
> Twitter: http://twitter.com/davsclaus
>

Re: ConsumerTemplate and OOM exception

Posted by Claus Ibsen <cl...@gmail.com>.
Hi

You disable JMX in Camel as documented here
http://camel.apache.org/camel-jmx.html

eg by adding this tag inside <camelContext>
 <jmxAgent id="agent" disabled="true"/>



On Tue, Mar 23, 2010 at 7:27 AM, Norman Maurer
<no...@googlemail.com> wrote:
> Hi Claus,
>
> yes we use pooled connections. Here is the config:
>
> http://svn.apache.org/viewvc/james/server/trunk/spring-deployment/src/main/config/james/activemq.xml?view=markup
> http://svn.apache.org/viewvc/james/server/trunk/spring-deployment/src/main/config/james/spring-beans.xml?view=markup
>
> Thx again for all your help..
>
> Bye,
> Norman
>
>
> 2010/3/22 Claus Ibsen <cl...@gmail.com>:
>> On Mon, Mar 22, 2010 at 7:47 PM, Norman Maurer <no...@apache.org> wrote:
>>> Same problem again,
>>>
>>> any other idea?
>>>
>>
>> What is your JMS configuration? Are you using pooled connection factories etc?
>>
>>
>>> Bye
>>> Norman
>>>
>>> 2010/3/22, Norman Maurer <no...@googlemail.com>:
>>>> Thx for the suggestion. I just disabled it.. Now I will have to wait
>>>> to see what happens ..
>>>>
>>>> Bye,
>>>> Norman
>>>>
>>>>
>>>> 2010/3/22 Claus Ibsen <cl...@gmail.com>:
>>>>> On Sun, Mar 21, 2010 at 8:54 PM, Norman Maurer <no...@apache.org> wrote:
>>>>>> After committing the changes and re-deploy the app , we still see the
>>>>>> OOM Exception.
>>>>>>
>>>>>> Seems like it's to much for the Java VM to create a now Consumer evert
>>>>>> 30 seconds. Any other suggestions?
>>>>>>
>>>>>
>>>>> Can you disable JMX which is the one I would assume could be the cause
>>>>> of the issue.
>>>>> http://camel.apache.org/camel-jmx.html
>>>>>
>>>>>
>>>>>> Thx
>>>>>> Norman
>>>>>>
>>>>>> 2010/3/19, Norman Maurer <no...@googlemail.com>:
>>>>>>> Ah right..
>>>>>>>
>>>>>>> Thx for the pointer :)
>>>>>>>
>>>>>>> Bye,
>>>>>>> Norman
>>>>>>>
>>>>>>>
>>>>>>> 2010/3/19 Claus Ibsen <cl...@gmail.com>:
>>>>>>>> On Fri, Mar 19, 2010 at 8:55 AM, Norman Maurer
>>>>>>>> <no...@googlemail.com> wrote:
>>>>>>>>> Hi Claus,
>>>>>>>>>
>>>>>>>>> did I get it right ?
>>>>>>>>>
>>>>>>>>> http://svn.apache.org/viewvc/james/server/trunk/spoolmanager/src/main/java/org/apache/james/transport/camel/JMSSelectorPollingConsumer.java?view=markup
>>>>>>>>>
>>>>>>>>> Would be nice if you could have a look ...
>>>>>>>>>
>>>>>>>>
>>>>>>>> Yes it looks perfect. The only issue would be if an exception was
>>>>>>>> thrown, eg consider using try .. finally
>>>>>>>>
>>>>>>>>
>>>>>>>>> Thx,
>>>>>>>>> Norman
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> 2010/3/18 Norman Maurer <no...@googlemail.com>:
>>>>>>>>>> Jira Ticket created:
>>>>>>>>>>
>>>>>>>>>> https://issues.apache.org/activemq/browse/CAMEL-2558
>>>>>>>>>>
>>>>>>>>>> Thx,
>>>>>>>>>> Norman
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> 2010/3/18 Claus Ibsen <cl...@gmail.com>:
>>>>>>>>>>> On Thu, Mar 18, 2010 at 12:58 PM, Norman Maurer <no...@apache.org>
>>>>>>>>>>> wrote:
>>>>>>>>>>>> Hi all,
>>>>>>>>>>>>
>>>>>>>>>>>> I'm using the ConsumerTemplate to consume messages from a ActiceMQ
>>>>>>>>>>>> queue (using a selector for filtering). Everything seems to work
>>>>>>>>>>>> without a problem but after some days I get an OOM Exception. (To
>>>>>>>>>>>> be
>>>>>>>>>>>> hornest the queue is empty all the time). When I remove the
>>>>>>>>>>>> ConsumerTemplate stuff I don't see the problems. So I suspect
>>>>>>>>>>>> there
>>>>>>>>>>>> is
>>>>>>>>>>>> something leakin..
>>>>>>>>>>>>
>>>>>>>>>>>> Any idea howto track down this ?
>>>>>>>>>>>>
>>>>>>>>>>>> My code is here:
>>>>>>>>>>>>
>>>>>>>>>>>> http://svn.apache.org/viewvc/james/server/trunk/spoolmanager/src/main/java/org/apache/james/transport/camel/JMSSelectorPollingConsumer.java?view=markup
>>>>>>>>>>>>
>>>>>>>>>>>> I'm usin camel 2.3 SNAPSHOT..
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> Your consumer endpoint URI will be unique on each call since you
>>>>>>>>>>> use
>>>>>>>>>>> System currentTimeMillis.
>>>>>>>>>>> And hence the internal consumer cache is without any effect and a
>>>>>>>>>>> new
>>>>>>>>>>> endpoint is created to consume from the JMS Broker.
>>>>>>>>>>> The ConsumerTemplate has an internal LRUCache of 1000 elements. I
>>>>>>>>>>> guess even with that to prevent high memory consumption your JVM hit
>>>>>>>>>>> a
>>>>>>>>>>> limit before.
>>>>>>>>>>> It would be more ideal if the endpoint could be reused and the
>>>>>>>>>>> JMSSelector was dynamic.
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> I recon we need to expose easy cache size on the Consumer/Producer
>>>>>>>>>>> Templates so you can set a lower size in your case.
>>>>>>>>>>>
>>>>>>>>>>> Could you create a JIRA ticket on this?
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> A workaround currently is to not use the consumer template but
>>>>>>>>>>> creating the consumer manually and then doing the stop afterwards
>>>>>>>>>>> to
>>>>>>>>>>> free resources.
>>>>>>>>>>> Another workaround is to stop/start the consumer template once in a
>>>>>>>>>>> while to free the cache.
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> But since you are on 2.3-SNAPSHOT you may want to wait for the fix
>>>>>>>>>>> and
>>>>>>>>>>> try it out.
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>> Thx,
>>>>>>>>>>>> Norman
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> --
>>>>>>>>>>> Claus Ibsen
>>>>>>>>>>> Apache Camel Committer
>>>>>>>>>>>
>>>>>>>>>>> Author of Camel in Action: http://www.manning.com/ibsen/
>>>>>>>>>>> Open Source Integration: http://fusesource.com
>>>>>>>>>>> Blog: http://davsclaus.blogspot.com/
>>>>>>>>>>> Twitter: http://twitter.com/davsclaus
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> --
>>>>>>>> Claus Ibsen
>>>>>>>> Apache Camel Committer
>>>>>>>>
>>>>>>>> Author of Camel in Action: http://www.manning.com/ibsen/
>>>>>>>> Open Source Integration: http://fusesource.com
>>>>>>>> Blog: http://davsclaus.blogspot.com/
>>>>>>>> Twitter: http://twitter.com/davsclaus
>>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Claus Ibsen
>>>>> Apache Camel Committer
>>>>>
>>>>> Author of Camel in Action: http://www.manning.com/ibsen/
>>>>> Open Source Integration: http://fusesource.com
>>>>> Blog: http://davsclaus.blogspot.com/
>>>>> Twitter: http://twitter.com/davsclaus
>>>>>
>>>>
>>>
>>
>>
>>
>> --
>> Claus Ibsen
>> Apache Camel Committer
>>
>> Author of Camel in Action: http://www.manning.com/ibsen/
>> Open Source Integration: http://fusesource.com
>> Blog: http://davsclaus.blogspot.com/
>> Twitter: http://twitter.com/davsclaus
>>
>



-- 
Claus Ibsen
Apache Camel Committer

Author of Camel in Action: http://www.manning.com/ibsen/
Open Source Integration: http://fusesource.com
Blog: http://davsclaus.blogspot.com/
Twitter: http://twitter.com/davsclaus

Re: ConsumerTemplate and OOM exception

Posted by Norman Maurer <no...@googlemail.com>.
Hi Claus,

yes we use pooled connections. Here is the config:

http://svn.apache.org/viewvc/james/server/trunk/spring-deployment/src/main/config/james/activemq.xml?view=markup
http://svn.apache.org/viewvc/james/server/trunk/spring-deployment/src/main/config/james/spring-beans.xml?view=markup

Thx again for all your help..

Bye,
Norman


2010/3/22 Claus Ibsen <cl...@gmail.com>:
> On Mon, Mar 22, 2010 at 7:47 PM, Norman Maurer <no...@apache.org> wrote:
>> Same problem again,
>>
>> any other idea?
>>
>
> What is your JMS configuration? Are you using pooled connection factories etc?
>
>
>> Bye
>> Norman
>>
>> 2010/3/22, Norman Maurer <no...@googlemail.com>:
>>> Thx for the suggestion. I just disabled it.. Now I will have to wait
>>> to see what happens ..
>>>
>>> Bye,
>>> Norman
>>>
>>>
>>> 2010/3/22 Claus Ibsen <cl...@gmail.com>:
>>>> On Sun, Mar 21, 2010 at 8:54 PM, Norman Maurer <no...@apache.org> wrote:
>>>>> After committing the changes and re-deploy the app , we still see the
>>>>> OOM Exception.
>>>>>
>>>>> Seems like it's to much for the Java VM to create a now Consumer evert
>>>>> 30 seconds. Any other suggestions?
>>>>>
>>>>
>>>> Can you disable JMX which is the one I would assume could be the cause
>>>> of the issue.
>>>> http://camel.apache.org/camel-jmx.html
>>>>
>>>>
>>>>> Thx
>>>>> Norman
>>>>>
>>>>> 2010/3/19, Norman Maurer <no...@googlemail.com>:
>>>>>> Ah right..
>>>>>>
>>>>>> Thx for the pointer :)
>>>>>>
>>>>>> Bye,
>>>>>> Norman
>>>>>>
>>>>>>
>>>>>> 2010/3/19 Claus Ibsen <cl...@gmail.com>:
>>>>>>> On Fri, Mar 19, 2010 at 8:55 AM, Norman Maurer
>>>>>>> <no...@googlemail.com> wrote:
>>>>>>>> Hi Claus,
>>>>>>>>
>>>>>>>> did I get it right ?
>>>>>>>>
>>>>>>>> http://svn.apache.org/viewvc/james/server/trunk/spoolmanager/src/main/java/org/apache/james/transport/camel/JMSSelectorPollingConsumer.java?view=markup
>>>>>>>>
>>>>>>>> Would be nice if you could have a look ...
>>>>>>>>
>>>>>>>
>>>>>>> Yes it looks perfect. The only issue would be if an exception was
>>>>>>> thrown, eg consider using try .. finally
>>>>>>>
>>>>>>>
>>>>>>>> Thx,
>>>>>>>> Norman
>>>>>>>>
>>>>>>>>
>>>>>>>> 2010/3/18 Norman Maurer <no...@googlemail.com>:
>>>>>>>>> Jira Ticket created:
>>>>>>>>>
>>>>>>>>> https://issues.apache.org/activemq/browse/CAMEL-2558
>>>>>>>>>
>>>>>>>>> Thx,
>>>>>>>>> Norman
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> 2010/3/18 Claus Ibsen <cl...@gmail.com>:
>>>>>>>>>> On Thu, Mar 18, 2010 at 12:58 PM, Norman Maurer <no...@apache.org>
>>>>>>>>>> wrote:
>>>>>>>>>>> Hi all,
>>>>>>>>>>>
>>>>>>>>>>> I'm using the ConsumerTemplate to consume messages from a ActiceMQ
>>>>>>>>>>> queue (using a selector for filtering). Everything seems to work
>>>>>>>>>>> without a problem but after some days I get an OOM Exception. (To
>>>>>>>>>>> be
>>>>>>>>>>> hornest the queue is empty all the time). When I remove the
>>>>>>>>>>> ConsumerTemplate stuff I don't see the problems. So I suspect
>>>>>>>>>>> there
>>>>>>>>>>> is
>>>>>>>>>>> something leakin..
>>>>>>>>>>>
>>>>>>>>>>> Any idea howto track down this ?
>>>>>>>>>>>
>>>>>>>>>>> My code is here:
>>>>>>>>>>>
>>>>>>>>>>> http://svn.apache.org/viewvc/james/server/trunk/spoolmanager/src/main/java/org/apache/james/transport/camel/JMSSelectorPollingConsumer.java?view=markup
>>>>>>>>>>>
>>>>>>>>>>> I'm usin camel 2.3 SNAPSHOT..
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> Your consumer endpoint URI will be unique on each call since you
>>>>>>>>>> use
>>>>>>>>>> System currentTimeMillis.
>>>>>>>>>> And hence the internal consumer cache is without any effect and a
>>>>>>>>>> new
>>>>>>>>>> endpoint is created to consume from the JMS Broker.
>>>>>>>>>> The ConsumerTemplate has an internal LRUCache of 1000 elements. I
>>>>>>>>>> guess even with that to prevent high memory consumption your JVM hit
>>>>>>>>>> a
>>>>>>>>>> limit before.
>>>>>>>>>> It would be more ideal if the endpoint could be reused and the
>>>>>>>>>> JMSSelector was dynamic.
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> I recon we need to expose easy cache size on the Consumer/Producer
>>>>>>>>>> Templates so you can set a lower size in your case.
>>>>>>>>>>
>>>>>>>>>> Could you create a JIRA ticket on this?
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> A workaround currently is to not use the consumer template but
>>>>>>>>>> creating the consumer manually and then doing the stop afterwards
>>>>>>>>>> to
>>>>>>>>>> free resources.
>>>>>>>>>> Another workaround is to stop/start the consumer template once in a
>>>>>>>>>> while to free the cache.
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> But since you are on 2.3-SNAPSHOT you may want to wait for the fix
>>>>>>>>>> and
>>>>>>>>>> try it out.
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>> Thx,
>>>>>>>>>>> Norman
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> --
>>>>>>>>>> Claus Ibsen
>>>>>>>>>> Apache Camel Committer
>>>>>>>>>>
>>>>>>>>>> Author of Camel in Action: http://www.manning.com/ibsen/
>>>>>>>>>> Open Source Integration: http://fusesource.com
>>>>>>>>>> Blog: http://davsclaus.blogspot.com/
>>>>>>>>>> Twitter: http://twitter.com/davsclaus
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> Claus Ibsen
>>>>>>> Apache Camel Committer
>>>>>>>
>>>>>>> Author of Camel in Action: http://www.manning.com/ibsen/
>>>>>>> Open Source Integration: http://fusesource.com
>>>>>>> Blog: http://davsclaus.blogspot.com/
>>>>>>> Twitter: http://twitter.com/davsclaus
>>>>>>>
>>>>>>
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Claus Ibsen
>>>> Apache Camel Committer
>>>>
>>>> Author of Camel in Action: http://www.manning.com/ibsen/
>>>> Open Source Integration: http://fusesource.com
>>>> Blog: http://davsclaus.blogspot.com/
>>>> Twitter: http://twitter.com/davsclaus
>>>>
>>>
>>
>
>
>
> --
> Claus Ibsen
> Apache Camel Committer
>
> Author of Camel in Action: http://www.manning.com/ibsen/
> Open Source Integration: http://fusesource.com
> Blog: http://davsclaus.blogspot.com/
> Twitter: http://twitter.com/davsclaus
>

Re: ConsumerTemplate and OOM exception

Posted by Claus Ibsen <cl...@gmail.com>.
On Mon, Mar 22, 2010 at 7:47 PM, Norman Maurer <no...@apache.org> wrote:
> Same problem again,
>
> any other idea?
>

What is your JMS configuration? Are you using pooled connection factories etc?


> Bye
> Norman
>
> 2010/3/22, Norman Maurer <no...@googlemail.com>:
>> Thx for the suggestion. I just disabled it.. Now I will have to wait
>> to see what happens ..
>>
>> Bye,
>> Norman
>>
>>
>> 2010/3/22 Claus Ibsen <cl...@gmail.com>:
>>> On Sun, Mar 21, 2010 at 8:54 PM, Norman Maurer <no...@apache.org> wrote:
>>>> After committing the changes and re-deploy the app , we still see the
>>>> OOM Exception.
>>>>
>>>> Seems like it's to much for the Java VM to create a now Consumer evert
>>>> 30 seconds. Any other suggestions?
>>>>
>>>
>>> Can you disable JMX which is the one I would assume could be the cause
>>> of the issue.
>>> http://camel.apache.org/camel-jmx.html
>>>
>>>
>>>> Thx
>>>> Norman
>>>>
>>>> 2010/3/19, Norman Maurer <no...@googlemail.com>:
>>>>> Ah right..
>>>>>
>>>>> Thx for the pointer :)
>>>>>
>>>>> Bye,
>>>>> Norman
>>>>>
>>>>>
>>>>> 2010/3/19 Claus Ibsen <cl...@gmail.com>:
>>>>>> On Fri, Mar 19, 2010 at 8:55 AM, Norman Maurer
>>>>>> <no...@googlemail.com> wrote:
>>>>>>> Hi Claus,
>>>>>>>
>>>>>>> did I get it right ?
>>>>>>>
>>>>>>> http://svn.apache.org/viewvc/james/server/trunk/spoolmanager/src/main/java/org/apache/james/transport/camel/JMSSelectorPollingConsumer.java?view=markup
>>>>>>>
>>>>>>> Would be nice if you could have a look ...
>>>>>>>
>>>>>>
>>>>>> Yes it looks perfect. The only issue would be if an exception was
>>>>>> thrown, eg consider using try .. finally
>>>>>>
>>>>>>
>>>>>>> Thx,
>>>>>>> Norman
>>>>>>>
>>>>>>>
>>>>>>> 2010/3/18 Norman Maurer <no...@googlemail.com>:
>>>>>>>> Jira Ticket created:
>>>>>>>>
>>>>>>>> https://issues.apache.org/activemq/browse/CAMEL-2558
>>>>>>>>
>>>>>>>> Thx,
>>>>>>>> Norman
>>>>>>>>
>>>>>>>>
>>>>>>>> 2010/3/18 Claus Ibsen <cl...@gmail.com>:
>>>>>>>>> On Thu, Mar 18, 2010 at 12:58 PM, Norman Maurer <no...@apache.org>
>>>>>>>>> wrote:
>>>>>>>>>> Hi all,
>>>>>>>>>>
>>>>>>>>>> I'm using the ConsumerTemplate to consume messages from a ActiceMQ
>>>>>>>>>> queue (using a selector for filtering). Everything seems to work
>>>>>>>>>> without a problem but after some days I get an OOM Exception. (To
>>>>>>>>>> be
>>>>>>>>>> hornest the queue is empty all the time). When I remove the
>>>>>>>>>> ConsumerTemplate stuff I don't see the problems. So I suspect
>>>>>>>>>> there
>>>>>>>>>> is
>>>>>>>>>> something leakin..
>>>>>>>>>>
>>>>>>>>>> Any idea howto track down this ?
>>>>>>>>>>
>>>>>>>>>> My code is here:
>>>>>>>>>>
>>>>>>>>>> http://svn.apache.org/viewvc/james/server/trunk/spoolmanager/src/main/java/org/apache/james/transport/camel/JMSSelectorPollingConsumer.java?view=markup
>>>>>>>>>>
>>>>>>>>>> I'm usin camel 2.3 SNAPSHOT..
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Your consumer endpoint URI will be unique on each call since you
>>>>>>>>> use
>>>>>>>>> System currentTimeMillis.
>>>>>>>>> And hence the internal consumer cache is without any effect and a
>>>>>>>>> new
>>>>>>>>> endpoint is created to consume from the JMS Broker.
>>>>>>>>> The ConsumerTemplate has an internal LRUCache of 1000 elements. I
>>>>>>>>> guess even with that to prevent high memory consumption your JVM hit
>>>>>>>>> a
>>>>>>>>> limit before.
>>>>>>>>> It would be more ideal if the endpoint could be reused and the
>>>>>>>>> JMSSelector was dynamic.
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> I recon we need to expose easy cache size on the Consumer/Producer
>>>>>>>>> Templates so you can set a lower size in your case.
>>>>>>>>>
>>>>>>>>> Could you create a JIRA ticket on this?
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> A workaround currently is to not use the consumer template but
>>>>>>>>> creating the consumer manually and then doing the stop afterwards
>>>>>>>>> to
>>>>>>>>> free resources.
>>>>>>>>> Another workaround is to stop/start the consumer template once in a
>>>>>>>>> while to free the cache.
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> But since you are on 2.3-SNAPSHOT you may want to wait for the fix
>>>>>>>>> and
>>>>>>>>> try it out.
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>> Thx,
>>>>>>>>>> Norman
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> --
>>>>>>>>> Claus Ibsen
>>>>>>>>> Apache Camel Committer
>>>>>>>>>
>>>>>>>>> Author of Camel in Action: http://www.manning.com/ibsen/
>>>>>>>>> Open Source Integration: http://fusesource.com
>>>>>>>>> Blog: http://davsclaus.blogspot.com/
>>>>>>>>> Twitter: http://twitter.com/davsclaus
>>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Claus Ibsen
>>>>>> Apache Camel Committer
>>>>>>
>>>>>> Author of Camel in Action: http://www.manning.com/ibsen/
>>>>>> Open Source Integration: http://fusesource.com
>>>>>> Blog: http://davsclaus.blogspot.com/
>>>>>> Twitter: http://twitter.com/davsclaus
>>>>>>
>>>>>
>>>>
>>>
>>>
>>>
>>> --
>>> Claus Ibsen
>>> Apache Camel Committer
>>>
>>> Author of Camel in Action: http://www.manning.com/ibsen/
>>> Open Source Integration: http://fusesource.com
>>> Blog: http://davsclaus.blogspot.com/
>>> Twitter: http://twitter.com/davsclaus
>>>
>>
>



-- 
Claus Ibsen
Apache Camel Committer

Author of Camel in Action: http://www.manning.com/ibsen/
Open Source Integration: http://fusesource.com
Blog: http://davsclaus.blogspot.com/
Twitter: http://twitter.com/davsclaus

Re: ConsumerTemplate and OOM exception

Posted by Norman Maurer <no...@apache.org>.
Same problem again,

any other idea?

Bye
Norman

2010/3/22, Norman Maurer <no...@googlemail.com>:
> Thx for the suggestion. I just disabled it.. Now I will have to wait
> to see what happens ..
>
> Bye,
> Norman
>
>
> 2010/3/22 Claus Ibsen <cl...@gmail.com>:
>> On Sun, Mar 21, 2010 at 8:54 PM, Norman Maurer <no...@apache.org> wrote:
>>> After committing the changes and re-deploy the app , we still see the
>>> OOM Exception.
>>>
>>> Seems like it's to much for the Java VM to create a now Consumer evert
>>> 30 seconds. Any other suggestions?
>>>
>>
>> Can you disable JMX which is the one I would assume could be the cause
>> of the issue.
>> http://camel.apache.org/camel-jmx.html
>>
>>
>>> Thx
>>> Norman
>>>
>>> 2010/3/19, Norman Maurer <no...@googlemail.com>:
>>>> Ah right..
>>>>
>>>> Thx for the pointer :)
>>>>
>>>> Bye,
>>>> Norman
>>>>
>>>>
>>>> 2010/3/19 Claus Ibsen <cl...@gmail.com>:
>>>>> On Fri, Mar 19, 2010 at 8:55 AM, Norman Maurer
>>>>> <no...@googlemail.com> wrote:
>>>>>> Hi Claus,
>>>>>>
>>>>>> did I get it right ?
>>>>>>
>>>>>> http://svn.apache.org/viewvc/james/server/trunk/spoolmanager/src/main/java/org/apache/james/transport/camel/JMSSelectorPollingConsumer.java?view=markup
>>>>>>
>>>>>> Would be nice if you could have a look ...
>>>>>>
>>>>>
>>>>> Yes it looks perfect. The only issue would be if an exception was
>>>>> thrown, eg consider using try .. finally
>>>>>
>>>>>
>>>>>> Thx,
>>>>>> Norman
>>>>>>
>>>>>>
>>>>>> 2010/3/18 Norman Maurer <no...@googlemail.com>:
>>>>>>> Jira Ticket created:
>>>>>>>
>>>>>>> https://issues.apache.org/activemq/browse/CAMEL-2558
>>>>>>>
>>>>>>> Thx,
>>>>>>> Norman
>>>>>>>
>>>>>>>
>>>>>>> 2010/3/18 Claus Ibsen <cl...@gmail.com>:
>>>>>>>> On Thu, Mar 18, 2010 at 12:58 PM, Norman Maurer <no...@apache.org>
>>>>>>>> wrote:
>>>>>>>>> Hi all,
>>>>>>>>>
>>>>>>>>> I'm using the ConsumerTemplate to consume messages from a ActiceMQ
>>>>>>>>> queue (using a selector for filtering). Everything seems to work
>>>>>>>>> without a problem but after some days I get an OOM Exception. (To
>>>>>>>>> be
>>>>>>>>> hornest the queue is empty all the time). When I remove the
>>>>>>>>> ConsumerTemplate stuff I don't see the problems. So I suspect
>>>>>>>>> there
>>>>>>>>> is
>>>>>>>>> something leakin..
>>>>>>>>>
>>>>>>>>> Any idea howto track down this ?
>>>>>>>>>
>>>>>>>>> My code is here:
>>>>>>>>>
>>>>>>>>> http://svn.apache.org/viewvc/james/server/trunk/spoolmanager/src/main/java/org/apache/james/transport/camel/JMSSelectorPollingConsumer.java?view=markup
>>>>>>>>>
>>>>>>>>> I'm usin camel 2.3 SNAPSHOT..
>>>>>>>>>
>>>>>>>>
>>>>>>>> Your consumer endpoint URI will be unique on each call since you
>>>>>>>> use
>>>>>>>> System currentTimeMillis.
>>>>>>>> And hence the internal consumer cache is without any effect and a
>>>>>>>> new
>>>>>>>> endpoint is created to consume from the JMS Broker.
>>>>>>>> The ConsumerTemplate has an internal LRUCache of 1000 elements. I
>>>>>>>> guess even with that to prevent high memory consumption your JVM hit
>>>>>>>> a
>>>>>>>> limit before.
>>>>>>>> It would be more ideal if the endpoint could be reused and the
>>>>>>>> JMSSelector was dynamic.
>>>>>>>>
>>>>>>>>
>>>>>>>> I recon we need to expose easy cache size on the Consumer/Producer
>>>>>>>> Templates so you can set a lower size in your case.
>>>>>>>>
>>>>>>>> Could you create a JIRA ticket on this?
>>>>>>>>
>>>>>>>>
>>>>>>>> A workaround currently is to not use the consumer template but
>>>>>>>> creating the consumer manually and then doing the stop afterwards
>>>>>>>> to
>>>>>>>> free resources.
>>>>>>>> Another workaround is to stop/start the consumer template once in a
>>>>>>>> while to free the cache.
>>>>>>>>
>>>>>>>>
>>>>>>>> But since you are on 2.3-SNAPSHOT you may want to wait for the fix
>>>>>>>> and
>>>>>>>> try it out.
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>> Thx,
>>>>>>>>> Norman
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> --
>>>>>>>> Claus Ibsen
>>>>>>>> Apache Camel Committer
>>>>>>>>
>>>>>>>> Author of Camel in Action: http://www.manning.com/ibsen/
>>>>>>>> Open Source Integration: http://fusesource.com
>>>>>>>> Blog: http://davsclaus.blogspot.com/
>>>>>>>> Twitter: http://twitter.com/davsclaus
>>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Claus Ibsen
>>>>> Apache Camel Committer
>>>>>
>>>>> Author of Camel in Action: http://www.manning.com/ibsen/
>>>>> Open Source Integration: http://fusesource.com
>>>>> Blog: http://davsclaus.blogspot.com/
>>>>> Twitter: http://twitter.com/davsclaus
>>>>>
>>>>
>>>
>>
>>
>>
>> --
>> Claus Ibsen
>> Apache Camel Committer
>>
>> Author of Camel in Action: http://www.manning.com/ibsen/
>> Open Source Integration: http://fusesource.com
>> Blog: http://davsclaus.blogspot.com/
>> Twitter: http://twitter.com/davsclaus
>>
>

Re: ConsumerTemplate and OOM exception

Posted by Norman Maurer <no...@googlemail.com>.
Thx for the suggestion. I just disabled it.. Now I will have to wait
to see what happens ..

Bye,
Norman


2010/3/22 Claus Ibsen <cl...@gmail.com>:
> On Sun, Mar 21, 2010 at 8:54 PM, Norman Maurer <no...@apache.org> wrote:
>> After committing the changes and re-deploy the app , we still see the
>> OOM Exception.
>>
>> Seems like it's to much for the Java VM to create a now Consumer evert
>> 30 seconds. Any other suggestions?
>>
>
> Can you disable JMX which is the one I would assume could be the cause
> of the issue.
> http://camel.apache.org/camel-jmx.html
>
>
>> Thx
>> Norman
>>
>> 2010/3/19, Norman Maurer <no...@googlemail.com>:
>>> Ah right..
>>>
>>> Thx for the pointer :)
>>>
>>> Bye,
>>> Norman
>>>
>>>
>>> 2010/3/19 Claus Ibsen <cl...@gmail.com>:
>>>> On Fri, Mar 19, 2010 at 8:55 AM, Norman Maurer
>>>> <no...@googlemail.com> wrote:
>>>>> Hi Claus,
>>>>>
>>>>> did I get it right ?
>>>>>
>>>>> http://svn.apache.org/viewvc/james/server/trunk/spoolmanager/src/main/java/org/apache/james/transport/camel/JMSSelectorPollingConsumer.java?view=markup
>>>>>
>>>>> Would be nice if you could have a look ...
>>>>>
>>>>
>>>> Yes it looks perfect. The only issue would be if an exception was
>>>> thrown, eg consider using try .. finally
>>>>
>>>>
>>>>> Thx,
>>>>> Norman
>>>>>
>>>>>
>>>>> 2010/3/18 Norman Maurer <no...@googlemail.com>:
>>>>>> Jira Ticket created:
>>>>>>
>>>>>> https://issues.apache.org/activemq/browse/CAMEL-2558
>>>>>>
>>>>>> Thx,
>>>>>> Norman
>>>>>>
>>>>>>
>>>>>> 2010/3/18 Claus Ibsen <cl...@gmail.com>:
>>>>>>> On Thu, Mar 18, 2010 at 12:58 PM, Norman Maurer <no...@apache.org>
>>>>>>> wrote:
>>>>>>>> Hi all,
>>>>>>>>
>>>>>>>> I'm using the ConsumerTemplate to consume messages from a ActiceMQ
>>>>>>>> queue (using a selector for filtering). Everything seems to work
>>>>>>>> without a problem but after some days I get an OOM Exception. (To be
>>>>>>>> hornest the queue is empty all the time). When I remove the
>>>>>>>> ConsumerTemplate stuff I don't see the problems. So I suspect there
>>>>>>>> is
>>>>>>>> something leakin..
>>>>>>>>
>>>>>>>> Any idea howto track down this ?
>>>>>>>>
>>>>>>>> My code is here:
>>>>>>>>
>>>>>>>> http://svn.apache.org/viewvc/james/server/trunk/spoolmanager/src/main/java/org/apache/james/transport/camel/JMSSelectorPollingConsumer.java?view=markup
>>>>>>>>
>>>>>>>> I'm usin camel 2.3 SNAPSHOT..
>>>>>>>>
>>>>>>>
>>>>>>> Your consumer endpoint URI will be unique on each call since you use
>>>>>>> System currentTimeMillis.
>>>>>>> And hence the internal consumer cache is without any effect and a new
>>>>>>> endpoint is created to consume from the JMS Broker.
>>>>>>> The ConsumerTemplate has an internal LRUCache of 1000 elements. I
>>>>>>> guess even with that to prevent high memory consumption your JVM hit a
>>>>>>> limit before.
>>>>>>> It would be more ideal if the endpoint could be reused and the
>>>>>>> JMSSelector was dynamic.
>>>>>>>
>>>>>>>
>>>>>>> I recon we need to expose easy cache size on the Consumer/Producer
>>>>>>> Templates so you can set a lower size in your case.
>>>>>>>
>>>>>>> Could you create a JIRA ticket on this?
>>>>>>>
>>>>>>>
>>>>>>> A workaround currently is to not use the consumer template but
>>>>>>> creating the consumer manually and then doing the stop afterwards to
>>>>>>> free resources.
>>>>>>> Another workaround is to stop/start the consumer template once in a
>>>>>>> while to free the cache.
>>>>>>>
>>>>>>>
>>>>>>> But since you are on 2.3-SNAPSHOT you may want to wait for the fix and
>>>>>>> try it out.
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>> Thx,
>>>>>>>> Norman
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> Claus Ibsen
>>>>>>> Apache Camel Committer
>>>>>>>
>>>>>>> Author of Camel in Action: http://www.manning.com/ibsen/
>>>>>>> Open Source Integration: http://fusesource.com
>>>>>>> Blog: http://davsclaus.blogspot.com/
>>>>>>> Twitter: http://twitter.com/davsclaus
>>>>>>>
>>>>>>
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Claus Ibsen
>>>> Apache Camel Committer
>>>>
>>>> Author of Camel in Action: http://www.manning.com/ibsen/
>>>> Open Source Integration: http://fusesource.com
>>>> Blog: http://davsclaus.blogspot.com/
>>>> Twitter: http://twitter.com/davsclaus
>>>>
>>>
>>
>
>
>
> --
> Claus Ibsen
> Apache Camel Committer
>
> Author of Camel in Action: http://www.manning.com/ibsen/
> Open Source Integration: http://fusesource.com
> Blog: http://davsclaus.blogspot.com/
> Twitter: http://twitter.com/davsclaus
>

Re: ConsumerTemplate and OOM exception

Posted by Claus Ibsen <cl...@gmail.com>.
On Sun, Mar 21, 2010 at 8:54 PM, Norman Maurer <no...@apache.org> wrote:
> After committing the changes and re-deploy the app , we still see the
> OOM Exception.
>
> Seems like it's to much for the Java VM to create a now Consumer evert
> 30 seconds. Any other suggestions?
>

Can you disable JMX which is the one I would assume could be the cause
of the issue.
http://camel.apache.org/camel-jmx.html


> Thx
> Norman
>
> 2010/3/19, Norman Maurer <no...@googlemail.com>:
>> Ah right..
>>
>> Thx for the pointer :)
>>
>> Bye,
>> Norman
>>
>>
>> 2010/3/19 Claus Ibsen <cl...@gmail.com>:
>>> On Fri, Mar 19, 2010 at 8:55 AM, Norman Maurer
>>> <no...@googlemail.com> wrote:
>>>> Hi Claus,
>>>>
>>>> did I get it right ?
>>>>
>>>> http://svn.apache.org/viewvc/james/server/trunk/spoolmanager/src/main/java/org/apache/james/transport/camel/JMSSelectorPollingConsumer.java?view=markup
>>>>
>>>> Would be nice if you could have a look ...
>>>>
>>>
>>> Yes it looks perfect. The only issue would be if an exception was
>>> thrown, eg consider using try .. finally
>>>
>>>
>>>> Thx,
>>>> Norman
>>>>
>>>>
>>>> 2010/3/18 Norman Maurer <no...@googlemail.com>:
>>>>> Jira Ticket created:
>>>>>
>>>>> https://issues.apache.org/activemq/browse/CAMEL-2558
>>>>>
>>>>> Thx,
>>>>> Norman
>>>>>
>>>>>
>>>>> 2010/3/18 Claus Ibsen <cl...@gmail.com>:
>>>>>> On Thu, Mar 18, 2010 at 12:58 PM, Norman Maurer <no...@apache.org>
>>>>>> wrote:
>>>>>>> Hi all,
>>>>>>>
>>>>>>> I'm using the ConsumerTemplate to consume messages from a ActiceMQ
>>>>>>> queue (using a selector for filtering). Everything seems to work
>>>>>>> without a problem but after some days I get an OOM Exception. (To be
>>>>>>> hornest the queue is empty all the time). When I remove the
>>>>>>> ConsumerTemplate stuff I don't see the problems. So I suspect there
>>>>>>> is
>>>>>>> something leakin..
>>>>>>>
>>>>>>> Any idea howto track down this ?
>>>>>>>
>>>>>>> My code is here:
>>>>>>>
>>>>>>> http://svn.apache.org/viewvc/james/server/trunk/spoolmanager/src/main/java/org/apache/james/transport/camel/JMSSelectorPollingConsumer.java?view=markup
>>>>>>>
>>>>>>> I'm usin camel 2.3 SNAPSHOT..
>>>>>>>
>>>>>>
>>>>>> Your consumer endpoint URI will be unique on each call since you use
>>>>>> System currentTimeMillis.
>>>>>> And hence the internal consumer cache is without any effect and a new
>>>>>> endpoint is created to consume from the JMS Broker.
>>>>>> The ConsumerTemplate has an internal LRUCache of 1000 elements. I
>>>>>> guess even with that to prevent high memory consumption your JVM hit a
>>>>>> limit before.
>>>>>> It would be more ideal if the endpoint could be reused and the
>>>>>> JMSSelector was dynamic.
>>>>>>
>>>>>>
>>>>>> I recon we need to expose easy cache size on the Consumer/Producer
>>>>>> Templates so you can set a lower size in your case.
>>>>>>
>>>>>> Could you create a JIRA ticket on this?
>>>>>>
>>>>>>
>>>>>> A workaround currently is to not use the consumer template but
>>>>>> creating the consumer manually and then doing the stop afterwards to
>>>>>> free resources.
>>>>>> Another workaround is to stop/start the consumer template once in a
>>>>>> while to free the cache.
>>>>>>
>>>>>>
>>>>>> But since you are on 2.3-SNAPSHOT you may want to wait for the fix and
>>>>>> try it out.
>>>>>>
>>>>>>
>>>>>>
>>>>>>> Thx,
>>>>>>> Norman
>>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Claus Ibsen
>>>>>> Apache Camel Committer
>>>>>>
>>>>>> Author of Camel in Action: http://www.manning.com/ibsen/
>>>>>> Open Source Integration: http://fusesource.com
>>>>>> Blog: http://davsclaus.blogspot.com/
>>>>>> Twitter: http://twitter.com/davsclaus
>>>>>>
>>>>>
>>>>
>>>
>>>
>>>
>>> --
>>> Claus Ibsen
>>> Apache Camel Committer
>>>
>>> Author of Camel in Action: http://www.manning.com/ibsen/
>>> Open Source Integration: http://fusesource.com
>>> Blog: http://davsclaus.blogspot.com/
>>> Twitter: http://twitter.com/davsclaus
>>>
>>
>



-- 
Claus Ibsen
Apache Camel Committer

Author of Camel in Action: http://www.manning.com/ibsen/
Open Source Integration: http://fusesource.com
Blog: http://davsclaus.blogspot.com/
Twitter: http://twitter.com/davsclaus

Re: ConsumerTemplate and OOM exception

Posted by Norman Maurer <no...@apache.org>.
After committing the changes and re-deploy the app , we still see the
OOM Exception.

Seems like it's to much for the Java VM to create a now Consumer evert
30 seconds. Any other suggestions?

Thx
Norman

2010/3/19, Norman Maurer <no...@googlemail.com>:
> Ah right..
>
> Thx for the pointer :)
>
> Bye,
> Norman
>
>
> 2010/3/19 Claus Ibsen <cl...@gmail.com>:
>> On Fri, Mar 19, 2010 at 8:55 AM, Norman Maurer
>> <no...@googlemail.com> wrote:
>>> Hi Claus,
>>>
>>> did I get it right ?
>>>
>>> http://svn.apache.org/viewvc/james/server/trunk/spoolmanager/src/main/java/org/apache/james/transport/camel/JMSSelectorPollingConsumer.java?view=markup
>>>
>>> Would be nice if you could have a look ...
>>>
>>
>> Yes it looks perfect. The only issue would be if an exception was
>> thrown, eg consider using try .. finally
>>
>>
>>> Thx,
>>> Norman
>>>
>>>
>>> 2010/3/18 Norman Maurer <no...@googlemail.com>:
>>>> Jira Ticket created:
>>>>
>>>> https://issues.apache.org/activemq/browse/CAMEL-2558
>>>>
>>>> Thx,
>>>> Norman
>>>>
>>>>
>>>> 2010/3/18 Claus Ibsen <cl...@gmail.com>:
>>>>> On Thu, Mar 18, 2010 at 12:58 PM, Norman Maurer <no...@apache.org>
>>>>> wrote:
>>>>>> Hi all,
>>>>>>
>>>>>> I'm using the ConsumerTemplate to consume messages from a ActiceMQ
>>>>>> queue (using a selector for filtering). Everything seems to work
>>>>>> without a problem but after some days I get an OOM Exception. (To be
>>>>>> hornest the queue is empty all the time). When I remove the
>>>>>> ConsumerTemplate stuff I don't see the problems. So I suspect there
>>>>>> is
>>>>>> something leakin..
>>>>>>
>>>>>> Any idea howto track down this ?
>>>>>>
>>>>>> My code is here:
>>>>>>
>>>>>> http://svn.apache.org/viewvc/james/server/trunk/spoolmanager/src/main/java/org/apache/james/transport/camel/JMSSelectorPollingConsumer.java?view=markup
>>>>>>
>>>>>> I'm usin camel 2.3 SNAPSHOT..
>>>>>>
>>>>>
>>>>> Your consumer endpoint URI will be unique on each call since you use
>>>>> System currentTimeMillis.
>>>>> And hence the internal consumer cache is without any effect and a new
>>>>> endpoint is created to consume from the JMS Broker.
>>>>> The ConsumerTemplate has an internal LRUCache of 1000 elements. I
>>>>> guess even with that to prevent high memory consumption your JVM hit a
>>>>> limit before.
>>>>> It would be more ideal if the endpoint could be reused and the
>>>>> JMSSelector was dynamic.
>>>>>
>>>>>
>>>>> I recon we need to expose easy cache size on the Consumer/Producer
>>>>> Templates so you can set a lower size in your case.
>>>>>
>>>>> Could you create a JIRA ticket on this?
>>>>>
>>>>>
>>>>> A workaround currently is to not use the consumer template but
>>>>> creating the consumer manually and then doing the stop afterwards to
>>>>> free resources.
>>>>> Another workaround is to stop/start the consumer template once in a
>>>>> while to free the cache.
>>>>>
>>>>>
>>>>> But since you are on 2.3-SNAPSHOT you may want to wait for the fix and
>>>>> try it out.
>>>>>
>>>>>
>>>>>
>>>>>> Thx,
>>>>>> Norman
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Claus Ibsen
>>>>> Apache Camel Committer
>>>>>
>>>>> Author of Camel in Action: http://www.manning.com/ibsen/
>>>>> Open Source Integration: http://fusesource.com
>>>>> Blog: http://davsclaus.blogspot.com/
>>>>> Twitter: http://twitter.com/davsclaus
>>>>>
>>>>
>>>
>>
>>
>>
>> --
>> Claus Ibsen
>> Apache Camel Committer
>>
>> Author of Camel in Action: http://www.manning.com/ibsen/
>> Open Source Integration: http://fusesource.com
>> Blog: http://davsclaus.blogspot.com/
>> Twitter: http://twitter.com/davsclaus
>>
>

Re: ConsumerTemplate and OOM exception

Posted by Norman Maurer <no...@googlemail.com>.
Ah right..

Thx for the pointer :)

Bye,
Norman


2010/3/19 Claus Ibsen <cl...@gmail.com>:
> On Fri, Mar 19, 2010 at 8:55 AM, Norman Maurer
> <no...@googlemail.com> wrote:
>> Hi Claus,
>>
>> did I get it right ?
>>
>> http://svn.apache.org/viewvc/james/server/trunk/spoolmanager/src/main/java/org/apache/james/transport/camel/JMSSelectorPollingConsumer.java?view=markup
>>
>> Would be nice if you could have a look ...
>>
>
> Yes it looks perfect. The only issue would be if an exception was
> thrown, eg consider using try .. finally
>
>
>> Thx,
>> Norman
>>
>>
>> 2010/3/18 Norman Maurer <no...@googlemail.com>:
>>> Jira Ticket created:
>>>
>>> https://issues.apache.org/activemq/browse/CAMEL-2558
>>>
>>> Thx,
>>> Norman
>>>
>>>
>>> 2010/3/18 Claus Ibsen <cl...@gmail.com>:
>>>> On Thu, Mar 18, 2010 at 12:58 PM, Norman Maurer <no...@apache.org> wrote:
>>>>> Hi all,
>>>>>
>>>>> I'm using the ConsumerTemplate to consume messages from a ActiceMQ
>>>>> queue (using a selector for filtering). Everything seems to work
>>>>> without a problem but after some days I get an OOM Exception. (To be
>>>>> hornest the queue is empty all the time). When I remove the
>>>>> ConsumerTemplate stuff I don't see the problems. So I suspect there is
>>>>> something leakin..
>>>>>
>>>>> Any idea howto track down this ?
>>>>>
>>>>> My code is here:
>>>>>
>>>>> http://svn.apache.org/viewvc/james/server/trunk/spoolmanager/src/main/java/org/apache/james/transport/camel/JMSSelectorPollingConsumer.java?view=markup
>>>>>
>>>>> I'm usin camel 2.3 SNAPSHOT..
>>>>>
>>>>
>>>> Your consumer endpoint URI will be unique on each call since you use
>>>> System currentTimeMillis.
>>>> And hence the internal consumer cache is without any effect and a new
>>>> endpoint is created to consume from the JMS Broker.
>>>> The ConsumerTemplate has an internal LRUCache of 1000 elements. I
>>>> guess even with that to prevent high memory consumption your JVM hit a
>>>> limit before.
>>>> It would be more ideal if the endpoint could be reused and the
>>>> JMSSelector was dynamic.
>>>>
>>>>
>>>> I recon we need to expose easy cache size on the Consumer/Producer
>>>> Templates so you can set a lower size in your case.
>>>>
>>>> Could you create a JIRA ticket on this?
>>>>
>>>>
>>>> A workaround currently is to not use the consumer template but
>>>> creating the consumer manually and then doing the stop afterwards to
>>>> free resources.
>>>> Another workaround is to stop/start the consumer template once in a
>>>> while to free the cache.
>>>>
>>>>
>>>> But since you are on 2.3-SNAPSHOT you may want to wait for the fix and
>>>> try it out.
>>>>
>>>>
>>>>
>>>>> Thx,
>>>>> Norman
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Claus Ibsen
>>>> Apache Camel Committer
>>>>
>>>> Author of Camel in Action: http://www.manning.com/ibsen/
>>>> Open Source Integration: http://fusesource.com
>>>> Blog: http://davsclaus.blogspot.com/
>>>> Twitter: http://twitter.com/davsclaus
>>>>
>>>
>>
>
>
>
> --
> Claus Ibsen
> Apache Camel Committer
>
> Author of Camel in Action: http://www.manning.com/ibsen/
> Open Source Integration: http://fusesource.com
> Blog: http://davsclaus.blogspot.com/
> Twitter: http://twitter.com/davsclaus
>

Re: ConsumerTemplate and OOM exception

Posted by Claus Ibsen <cl...@gmail.com>.
On Fri, Mar 19, 2010 at 8:55 AM, Norman Maurer
<no...@googlemail.com> wrote:
> Hi Claus,
>
> did I get it right ?
>
> http://svn.apache.org/viewvc/james/server/trunk/spoolmanager/src/main/java/org/apache/james/transport/camel/JMSSelectorPollingConsumer.java?view=markup
>
> Would be nice if you could have a look ...
>

Yes it looks perfect. The only issue would be if an exception was
thrown, eg consider using try .. finally


> Thx,
> Norman
>
>
> 2010/3/18 Norman Maurer <no...@googlemail.com>:
>> Jira Ticket created:
>>
>> https://issues.apache.org/activemq/browse/CAMEL-2558
>>
>> Thx,
>> Norman
>>
>>
>> 2010/3/18 Claus Ibsen <cl...@gmail.com>:
>>> On Thu, Mar 18, 2010 at 12:58 PM, Norman Maurer <no...@apache.org> wrote:
>>>> Hi all,
>>>>
>>>> I'm using the ConsumerTemplate to consume messages from a ActiceMQ
>>>> queue (using a selector for filtering). Everything seems to work
>>>> without a problem but after some days I get an OOM Exception. (To be
>>>> hornest the queue is empty all the time). When I remove the
>>>> ConsumerTemplate stuff I don't see the problems. So I suspect there is
>>>> something leakin..
>>>>
>>>> Any idea howto track down this ?
>>>>
>>>> My code is here:
>>>>
>>>> http://svn.apache.org/viewvc/james/server/trunk/spoolmanager/src/main/java/org/apache/james/transport/camel/JMSSelectorPollingConsumer.java?view=markup
>>>>
>>>> I'm usin camel 2.3 SNAPSHOT..
>>>>
>>>
>>> Your consumer endpoint URI will be unique on each call since you use
>>> System currentTimeMillis.
>>> And hence the internal consumer cache is without any effect and a new
>>> endpoint is created to consume from the JMS Broker.
>>> The ConsumerTemplate has an internal LRUCache of 1000 elements. I
>>> guess even with that to prevent high memory consumption your JVM hit a
>>> limit before.
>>> It would be more ideal if the endpoint could be reused and the
>>> JMSSelector was dynamic.
>>>
>>>
>>> I recon we need to expose easy cache size on the Consumer/Producer
>>> Templates so you can set a lower size in your case.
>>>
>>> Could you create a JIRA ticket on this?
>>>
>>>
>>> A workaround currently is to not use the consumer template but
>>> creating the consumer manually and then doing the stop afterwards to
>>> free resources.
>>> Another workaround is to stop/start the consumer template once in a
>>> while to free the cache.
>>>
>>>
>>> But since you are on 2.3-SNAPSHOT you may want to wait for the fix and
>>> try it out.
>>>
>>>
>>>
>>>> Thx,
>>>> Norman
>>>>
>>>
>>>
>>>
>>> --
>>> Claus Ibsen
>>> Apache Camel Committer
>>>
>>> Author of Camel in Action: http://www.manning.com/ibsen/
>>> Open Source Integration: http://fusesource.com
>>> Blog: http://davsclaus.blogspot.com/
>>> Twitter: http://twitter.com/davsclaus
>>>
>>
>



-- 
Claus Ibsen
Apache Camel Committer

Author of Camel in Action: http://www.manning.com/ibsen/
Open Source Integration: http://fusesource.com
Blog: http://davsclaus.blogspot.com/
Twitter: http://twitter.com/davsclaus

Re: ConsumerTemplate and OOM exception

Posted by Norman Maurer <no...@googlemail.com>.
Hi Claus,

did I get it right ?

http://svn.apache.org/viewvc/james/server/trunk/spoolmanager/src/main/java/org/apache/james/transport/camel/JMSSelectorPollingConsumer.java?view=markup

Would be nice if you could have a look ...

Thx,
Norman


2010/3/18 Norman Maurer <no...@googlemail.com>:
> Jira Ticket created:
>
> https://issues.apache.org/activemq/browse/CAMEL-2558
>
> Thx,
> Norman
>
>
> 2010/3/18 Claus Ibsen <cl...@gmail.com>:
>> On Thu, Mar 18, 2010 at 12:58 PM, Norman Maurer <no...@apache.org> wrote:
>>> Hi all,
>>>
>>> I'm using the ConsumerTemplate to consume messages from a ActiceMQ
>>> queue (using a selector for filtering). Everything seems to work
>>> without a problem but after some days I get an OOM Exception. (To be
>>> hornest the queue is empty all the time). When I remove the
>>> ConsumerTemplate stuff I don't see the problems. So I suspect there is
>>> something leakin..
>>>
>>> Any idea howto track down this ?
>>>
>>> My code is here:
>>>
>>> http://svn.apache.org/viewvc/james/server/trunk/spoolmanager/src/main/java/org/apache/james/transport/camel/JMSSelectorPollingConsumer.java?view=markup
>>>
>>> I'm usin camel 2.3 SNAPSHOT..
>>>
>>
>> Your consumer endpoint URI will be unique on each call since you use
>> System currentTimeMillis.
>> And hence the internal consumer cache is without any effect and a new
>> endpoint is created to consume from the JMS Broker.
>> The ConsumerTemplate has an internal LRUCache of 1000 elements. I
>> guess even with that to prevent high memory consumption your JVM hit a
>> limit before.
>> It would be more ideal if the endpoint could be reused and the
>> JMSSelector was dynamic.
>>
>>
>> I recon we need to expose easy cache size on the Consumer/Producer
>> Templates so you can set a lower size in your case.
>>
>> Could you create a JIRA ticket on this?
>>
>>
>> A workaround currently is to not use the consumer template but
>> creating the consumer manually and then doing the stop afterwards to
>> free resources.
>> Another workaround is to stop/start the consumer template once in a
>> while to free the cache.
>>
>>
>> But since you are on 2.3-SNAPSHOT you may want to wait for the fix and
>> try it out.
>>
>>
>>
>>> Thx,
>>> Norman
>>>
>>
>>
>>
>> --
>> Claus Ibsen
>> Apache Camel Committer
>>
>> Author of Camel in Action: http://www.manning.com/ibsen/
>> Open Source Integration: http://fusesource.com
>> Blog: http://davsclaus.blogspot.com/
>> Twitter: http://twitter.com/davsclaus
>>
>

Re: ConsumerTemplate and OOM exception

Posted by Norman Maurer <no...@googlemail.com>.
Jira Ticket created:

https://issues.apache.org/activemq/browse/CAMEL-2558

Thx,
Norman


2010/3/18 Claus Ibsen <cl...@gmail.com>:
> On Thu, Mar 18, 2010 at 12:58 PM, Norman Maurer <no...@apache.org> wrote:
>> Hi all,
>>
>> I'm using the ConsumerTemplate to consume messages from a ActiceMQ
>> queue (using a selector for filtering). Everything seems to work
>> without a problem but after some days I get an OOM Exception. (To be
>> hornest the queue is empty all the time). When I remove the
>> ConsumerTemplate stuff I don't see the problems. So I suspect there is
>> something leakin..
>>
>> Any idea howto track down this ?
>>
>> My code is here:
>>
>> http://svn.apache.org/viewvc/james/server/trunk/spoolmanager/src/main/java/org/apache/james/transport/camel/JMSSelectorPollingConsumer.java?view=markup
>>
>> I'm usin camel 2.3 SNAPSHOT..
>>
>
> Your consumer endpoint URI will be unique on each call since you use
> System currentTimeMillis.
> And hence the internal consumer cache is without any effect and a new
> endpoint is created to consume from the JMS Broker.
> The ConsumerTemplate has an internal LRUCache of 1000 elements. I
> guess even with that to prevent high memory consumption your JVM hit a
> limit before.
> It would be more ideal if the endpoint could be reused and the
> JMSSelector was dynamic.
>
>
> I recon we need to expose easy cache size on the Consumer/Producer
> Templates so you can set a lower size in your case.
>
> Could you create a JIRA ticket on this?
>
>
> A workaround currently is to not use the consumer template but
> creating the consumer manually and then doing the stop afterwards to
> free resources.
> Another workaround is to stop/start the consumer template once in a
> while to free the cache.
>
>
> But since you are on 2.3-SNAPSHOT you may want to wait for the fix and
> try it out.
>
>
>
>> Thx,
>> Norman
>>
>
>
>
> --
> Claus Ibsen
> Apache Camel Committer
>
> Author of Camel in Action: http://www.manning.com/ibsen/
> Open Source Integration: http://fusesource.com
> Blog: http://davsclaus.blogspot.com/
> Twitter: http://twitter.com/davsclaus
>

Re: ConsumerTemplate and OOM exception

Posted by Claus Ibsen <cl...@gmail.com>.
On Thu, Mar 18, 2010 at 12:58 PM, Norman Maurer <no...@apache.org> wrote:
> Hi all,
>
> I'm using the ConsumerTemplate to consume messages from a ActiceMQ
> queue (using a selector for filtering). Everything seems to work
> without a problem but after some days I get an OOM Exception. (To be
> hornest the queue is empty all the time). When I remove the
> ConsumerTemplate stuff I don't see the problems. So I suspect there is
> something leakin..
>
> Any idea howto track down this ?
>
> My code is here:
>
> http://svn.apache.org/viewvc/james/server/trunk/spoolmanager/src/main/java/org/apache/james/transport/camel/JMSSelectorPollingConsumer.java?view=markup
>
> I'm usin camel 2.3 SNAPSHOT..
>

Your consumer endpoint URI will be unique on each call since you use
System currentTimeMillis.
And hence the internal consumer cache is without any effect and a new
endpoint is created to consume from the JMS Broker.
The ConsumerTemplate has an internal LRUCache of 1000 elements. I
guess even with that to prevent high memory consumption your JVM hit a
limit before.
It would be more ideal if the endpoint could be reused and the
JMSSelector was dynamic.


I recon we need to expose easy cache size on the Consumer/Producer
Templates so you can set a lower size in your case.

Could you create a JIRA ticket on this?


A workaround currently is to not use the consumer template but
creating the consumer manually and then doing the stop afterwards to
free resources.
Another workaround is to stop/start the consumer template once in a
while to free the cache.


But since you are on 2.3-SNAPSHOT you may want to wait for the fix and
try it out.



> Thx,
> Norman
>



-- 
Claus Ibsen
Apache Camel Committer

Author of Camel in Action: http://www.manning.com/ibsen/
Open Source Integration: http://fusesource.com
Blog: http://davsclaus.blogspot.com/
Twitter: http://twitter.com/davsclaus