camel-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Claus Ibsen <claus.ib...@gmail.com>
Subject Re: Apache camel mina concurrency issue
Date Sat, 03 Oct 2009 10:25:54 GMT
Hi

See CAMEL-2049
https://issues.apache.org/activemq/browse/CAMEL-2049

Which has a patch for the concurrent producer mina issue in Camel 1.x
Again this is already fixed in Camel 2.0 as the mina producers are pooled.



On Wed, Sep 16, 2009 at 8:17 AM, Claus Ibsen <claus.ibsen@gmail.com> wrote:
> On Wed, Sep 16, 2009 at 12:40 AM, jamhit <Hitha.Alex@sabre-holdings.com> wrote:
>>
>> Claus, thanks again. I was not able to get much clues by using mina user
>> forum. My debugging tells me that, apache mina endpoint is not using
>> separate connections for each exchange. As a result, when I sent messages in
>> parallel to the same host:port, the same connections is used to send all the
>> requests. While the legacy server is processing and waiting to post a
>> response, the connection is receiving more requests, which is causing the
>> legacy server to forcibly close the connection.
>>
>> Is there any option in apache camel mina that forces the MinaProducer to use
>> a new connection for each exchange?
>
> No I do not think so. Please create a ticket for it so we can add it
> in the future.
> You can then try to create a patch yourself with this new feature.
> That is true open source :)
>
>
>>
>> Also, do you think if there is any benefit performance wise by using mina
>> tcp client over plain java socket clients?
>>
>
> I doubt mina have any negative impact on performance that can be
> measured. Its used in high speed environments.
> And rolling out your your own is often causing more problems in the longer run.
>
>
>
>
>>
>> Claus Ibsen-2 wrote:
>>>
>>> On Mon, Sep 14, 2009 at 5:51 AM, jamhit <Hitha.Alex@sabre-holdings.com>
>>> wrote:
>>>>
>>>> Thanks Claus.  I am not sure, if the issue is due to remote host forcibly
>>>> closing connection. My simple java socket client works fine by sending
>>>> multiple concurrent transactions to the same legacy server. I have a
>>>> feeling
>>>> it is something in my mina configuration or codec setting. Does mina
>>>> reuse
>>>> connections for multiple messages? The legacy system is expecting
>>>> separate
>>>> connections per request.
>>>> I am using an extension of CumulativeProtocolDecoder. Do I need to do
>>>> something in dispose() method to forcibly close the connection or
>>>> session?
>>>
>>> I think you should ask at Apache Mina about this.
>>>
>>>>
>>>> Also, will you please post the link to the camel 2.0 trunk with
>>>> concurrency
>>>> unit test?
>>>>
>>>>
>>>>
>>>> Claus Ibsen-2 wrote:
>>>>>
>>>>> On Sun, Sep 13, 2009 at 6:38 AM, jamhit <Hitha.Alex@sabre-holdings.com>
>>>>> wrote:
>>>>>>
>>>>>> I am getting errors when trying to send more than one message to
a
>>>>>> legacy
>>>>>> tcp/ip service using a Apache camel mina endpoint. Everything works
as
>>>>>> expected when requests are send one at a time.  Using camel 1.6.
 Any
>>>>>> clues
>>>>>> will be appreciated. Following is the error I am getting.
>>>>>>
>>>>>> Caused by: java.io.IOException: An existing connection was forcibly
>>>>>> closed
>>>>>> by the remote host
>>>>>
>>>>> Looks like the remote server forbids multiple connections from same IP
>>>>> (client).
>>>>>
>>>>> There is a concurrency unit test in the unit tests for camel 2.x
>>>>> (trunk).
>>>>> So locally with mina itself it can handle multiple connections.
>>>>>
>>>>>>        at sun.nio.ch.SocketDispatcher.read0(Native Method)
>>>>>>        at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:25)
>>>>>>        at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:233)
>>>>>>        at sun.nio.ch.IOUtil.read(IOUtil.java:200)
>>>>>>        at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:236)
>>>>>>        at
>>>>>> org.apache.mina.transport.socket.nio.SocketIoProcessor.read(SocketIoProcessor.java:218)
>>>>>>        at
>>>>>> org.apache.mina.transport.socket.nio.SocketIoProcessor.process(SocketIoProcessor.java:198)
>>>>>>        at
>>>>>> org.apache.mina.transport.socket.nio.SocketIoProcessor.access$400(SocketIoProcessor.java:45)
>>>>>>        at
>>>>>> org.apache.mina.transport.socket.nio.SocketIoProcessor$Worker.run(SocketIoProcessor.java:485)
>>>>>>        at
>>>>>> org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnable.java:51)
>>>>>>
>>>>>> --
>>>>>> View this message in context:
>>>>>> http://www.nabble.com/Apache-camel-mina-concurrency-issue-tp25420520p25420520.html
>>>>>> Sent from the Camel - Users mailing list archive at Nabble.com.
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Claus Ibsen
>>>>> Apache Camel Committer
>>>>>
>>>>> Open Source Integration: http://fusesource.com
>>>>> Blog: http://davsclaus.blogspot.com/
>>>>> Twitter: http://twitter.com/davsclaus
>>>>>
>>>>>
>>>>
>>>> --
>>>> View this message in context:
>>>> http://www.nabble.com/Apache-camel-mina-concurrency-issue-tp25420520p25429960.html
>>>> Sent from the Camel - Users mailing list archive at Nabble.com.
>>>>
>>>>
>>>
>>>
>>>
>>> --
>>> Claus Ibsen
>>> Apache Camel Committer
>>>
>>> Open Source Integration: http://fusesource.com
>>> Blog: http://davsclaus.blogspot.com/
>>> Twitter: http://twitter.com/davsclaus
>>>
>>>
>>
>> --
>> View this message in context: http://www.nabble.com/Apache-camel-mina-concurrency-issue-tp25420520p25463057.html
>> Sent from the Camel - Users mailing list archive at Nabble.com.
>>
>>
>
>
>
> --
> Claus Ibsen
> Apache Camel Committer
>
> Open Source Integration: http://fusesource.com
> Blog: http://davsclaus.blogspot.com/
> Twitter: http://twitter.com/davsclaus
>



-- 
Claus Ibsen
Apache Camel Committer

Open Source Integration: http://fusesource.com
Blog: http://davsclaus.blogspot.com/
Twitter: http://twitter.com/davsclaus

Mime
View raw message