On Tue, Feb 9, 2010 at 10:49 AM, Johan Haleby <[email protected]> wrote: > > I've added issue https://issues.apache.org/activemq/browse/CAMEL-2455 > CAMEL-2455 . > Thanks for your help! >
Johan you are welcome to try out camel trunk as I have just commited this new feature. > /Johan > > > Claus Ibsen-2 wrote: >> >> On Tue, Feb 9, 2010 at 10:24 AM, Johan Haleby <[email protected]> >> wrote: >>> >>> I found one way to do this by setting the >>> "CamelMinaCloseSessionWhenComplete" >>> header to true in my route. How ever I would like the route to be as >>> decoupled as possible from the actual endpoint component. Is there anyway >>> to >>> configure the "CamelMinaCloseSessionWhenComplete" in the session using >>> the >>> endpoint URI only? >>> >> >> No could you create a JIRA ticket for this RFE. >> >> >>> /Johan >>> >>> >>> Johan Haleby wrote: >>>> >>>> Hi, >>>> >>>> I'm using Camel 2.1 with an Apache Mina endpoint configured like: >>>> inbound.endpoint=mina:tcp://localhost:6204?sync=false&textline=false >>>> >>>> When many messages are sent to this endpoint I get the following >>>> exception: >>>> org.apache.mina.common.RuntimeIOException: Failed to get the session. >>>> at >>>> org.apache.mina.common.support.DefaultConnectFuture.getSession(DefaultConnectFuture.java:63) >>>> at >>>> org.apache.camel.component.mina.MinaProducer.openConnection(MinaProducer.java:175) >>>> at >>>> org.apache.camel.component.mina.MinaProducer.process(MinaProducer.java:73) >>>> at >>>> org.apache.camel.processor.MulticastProcessor.doProcess(MulticastProcessor.java:241) >>>> at >>>> org.apache.camel.processor.MulticastProcessor.doProcessSequential(MulticastProcessor.java:206) >>>> at >>>> org.apache.camel.processor.MulticastProcessor.process(MulticastProcessor.java:132) >>>> at >>>> org.apache.camel.processor.RecipientList.sendToRecipientList(RecipientList.java:87) >>>> at >>>> org.apache.camel.processor.RecipientList.process(RecipientList.java:71) >>>> at >>>> org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:67) >>>> at >>>> org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53) >>>> at >>>> org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82) >>>> at >>>> org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:162) >>>> at >>>> org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:67) >>>> at >>>> org.apache.camel.processor.RedeliveryErrorHandler.processExchange(RedeliveryErrorHandler.java:223) >>>> at >>>> org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:153) >>>> at >>>> org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:91) >>>> at >>>> org.apache.camel.processor.DefaultErrorHandler.process(DefaultErrorHandler.java:49) >>>> at >>>> org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:206) >>>> at org.apache.camel.processor.Pipeline.process(Pipeline.java:74) >>>> at >>>> org.apache.camel.processor.UnitOfWorkProcessor.processNext(UnitOfWorkProcessor.java:54) >>>> at >>>> org.apache.camel.processor.DelegateProcessor.process(DelegateProcessor.java:48) >>>> at >>>> org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:67) >>>> at >>>> org.apache.camel.component.seda.SedaConsumer.run(SedaConsumer.java:85) >>>> at >>>> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) >>>> at >>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) >>>> at java.lang.Thread.run(Thread.java:619) >>>> Caused by: java.net.SocketException: Too many open files >>>> at sun.nio.ch.Net.socket0(Native Method) >>>> at sun.nio.ch.Net.socket(Net.java:94) >>>> at sun.nio.ch.SocketChannelImpl.<init>(SocketChannelImpl.java:84) >>>> at >>>> sun.nio.ch.SelectorProviderImpl.openSocketChannel(SelectorProviderImpl.java:37) >>>> at java.nio.channels.SocketChannel.open(SocketChannel.java:105) >>>> at >>>> org.apache.mina.transport.socket.nio.SocketConnector.connect(SocketConnector.java:168) >>>> at >>>> org.apache.mina.transport.socket.nio.SocketConnector.connect(SocketConnector.java:137) >>>> at >>>> org.apache.camel.component.mina.MinaProducer.openConnection(MinaProducer.java:173) >>>> ... 24 more >>>> >>>> I understand that this may happen because of too many open descriptors >>>> (in >>>> my system it's 1024) but I would like to configure Mina to automatically >>>> disconnect the socket when a message has been received. I never expect a >>>> reply to these kinds of messages so what I'm looking for is kind of a >>>> "fire and forget" approach. I thought setting the sync flag to false >>>> would >>>> actually do this but I'm not sure anymore because I don't think I should >>>> get this exception if that was the case. Any suggestions? >>>> >>>> /Johan >>>> >>> >>> -- >>> View this message in context: >>> http://old.nabble.com/Close-Mina-socket-after-each-message-tp27512082p27512471.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/Close-Mina-socket-after-each-message-tp27512082p27512763.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
