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
