On Wed, Feb 17, 2010 at 4:39 PM, Johan Haleby <[email protected]> wrote:
>
> In the test I'm sending messages between 4 different endpoints but they're
> treated as dynamic I suppose. What I mean is that the message body of each
> incoming message contains the reply address(es) (which could be completely
> dynamic). Thus I use a recipientList to distribute a reply message to each
> reply address stated in the message body.
>

I am sure if you close the producer template after use you should
probably not see this as it contains an internal cache.
But that one should only hit 1000, so I wonder why it grows to 20000+.

Well could you post a few samples of the endpoints you send to the
recipient list. If they are all 100% different then I would assume
Camel creates a new producer per message, as it would be a cache miss
in the producer template.



> /Johan
>
>
> Claus Ibsen-2 wrote:
>>
>> Hi
>>
>> On Wed, Feb 17, 2010 at 4:17 PM, Johan Haleby <[email protected]>
>> wrote:
>>>
>>> The debug message ("Closing session when complete at address") is printed
>>> all
>>> the time so it should close the session. I've investigated a bit further
>>> and
>>> I see that the problem seem to be that DefaultProducerTemplate holds a
>>> SpringCamelContext which in turn holds an ArrayList which seem to contain
>>> all MinaProducers that has ever been created.
>>>
>>> I've uploaded a screenshot of the heap dump:
>>> http://old.nabble.com/file/p27625230/mina_camel_retaining_resources.png
>>> mina_camel_retaining_resources.png
>>>
>>
>> Are you using a lot of dynamic endpoints which are different?
>>
>>
>>> /Johan
>>>
>>>
>>> Claus Ibsen-2 wrote:
>>>>
>>>> Hi
>>>>
>>>> Could you google that exception and see what other Mina users have
>>>> encountered.
>>>>
>>>> And you see this DEBUG logging when you send to that remote endpoint?
>>>>
>>>>             if (LOG.isDebugEnabled()) {
>>>>                 LOG.debug("Closing session when complete at address: "
>>>> + endpoint.getAddress());
>>>>             }
>>>>
>>>>
>>>>
>>>> On Wed, Feb 17, 2010 at 3:27 PM, Johan Haleby <[email protected]>
>>>> wrote:
>>>>>
>>>>> Hi,
>>>>>
>>>>> I'm running into problems when using Camel (2.1 and 2.2) with Mina
>>>>> endpoints
>>>>> configured to disconnect the session after each received message. When
>>>>> lots
>>>>> of messages are sent over a longer period of time I eventually run out
>>>>> of
>>>>> memory and the system either throws OutOfMemoryError or spends long
>>>>> intervals in GC. When analyzing the heap dump in Eclipse MAT it finds
>>>>> this
>>>>> leak suspect:
>>>>>
>>>>> 27,840 instances of
>>>>> "org.apache.mina.transport.socket.nio.SocketSessionImpl", loaded by
>>>>> "sun.misc.Launcher$AppClassLoader @ 0xad65d850" occupy 20,662,464
>>>>> (20.42%)
>>>>> bytes
>>>>>
>>>>> The endpoint is configured like:
>>>>> mina:tcp://localhost:6200?sync=false&textline=false and the message is
>>>>> sent
>>>>> to the endpoint using a  http://camel.apache.org/recipient-list.html
>>>>> recipient list .
>>>>>
>>>>> What could be the cause of this? E.g. do I need to stop the producer
>>>>> template after each sent message? Right now the ProducerTemplate is a
>>>>> singleton used concurrently by multiple threads.
>>>>>
>>>>> /Johan
>>>>> --
>>>>> View this message in context:
>>>>> http://old.nabble.com/SocketSessionImpl-in-Mina-component-retained-in-memory-indefinitely-tp27624487p27624487.html
>>>>> Sent from the Camel - Users mailing list archive at Nabble.com.
>>>>>
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> 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
>>>>
>>>>
>>>
>>> --
>>> View this message in context:
>>> http://old.nabble.com/SocketSessionImpl-in-Mina-component-retained-in-memory-indefinitely-tp27624487p27625230.html
>>> Sent from the Camel - Users mailing list archive at Nabble.com.
>>>
>>>
>>
>>
>>
>> --
>> 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
>>
>>
>
> --
> View this message in context: 
> http://old.nabble.com/SocketSessionImpl-in-Mina-component-retained-in-memory-indefinitely-tp27624487p27625648.html
> Sent from the Camel - Users mailing list archive at Nabble.com.
>
>



-- 
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

Reply via email to