camel-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Claus Ibsen (JIRA)" <j...@apache.org>
Subject [jira] Commented: (CAMEL-2049) Improper configuration of MINA connector and acceptor instances; Better producer
Date Sun, 04 Oct 2009 08:53:53 GMT

    [ https://issues.apache.org/activemq/browse/CAMEL-2049?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=54611#action_54611
] 

Claus Ibsen commented on CAMEL-2049:
------------------------------------

Dmytro

Do you mind creating a new patch with the updated code from the 1.x branch which uses your
thread safe producer.
Then it would be much easier for me to commit it to the 1.x codebase.

Then we have a solution with concurrent mina producers for both 1.x and 2.0

Backporting the pooling is *way* to much work.

> Improper configuration of MINA connector and acceptor instances; Better producer
> --------------------------------------------------------------------------------
>
>                 Key: CAMEL-2049
>                 URL: https://issues.apache.org/activemq/browse/CAMEL-2049
>             Project: Apache Camel
>          Issue Type: Bug
>          Components: camel-mina
>    Affects Versions: 1.6.0
>         Environment: Windows XP
>            Reporter: Dmytro Rud
>            Assignee: Claus Ibsen
>             Fix For: 1.6.2, 2.0.0
>
>         Attachments: MinaComponent.patch, MinaSocketProducer.java
>
>
> A sample scenario where both MINA producer(s) and consumer(s) are used in the same route
(e.g. some kind of dispatching or proxying):
> from("mina:tcp://localhost:8888?lazySessionCreation=true&sync=true")
>     .to("mina:tcp://localhost:7777?lazySessionCreation=true&sync=true");
> from("mina:tcp://localhost:7777?lazySessionCreation=true&sync=true")
>     .process(/*prepare answer*/);
> Due to improper configuration of MINA acceptor and connector instances in MinaComponent#createSocketEndpoint(),
no more than 15 incoming threads can be served at port 8888 -- the producer becomes unable
to open an outgoing session.  This is actually an issue of MINA, not of Camel -- a test application
written using "raw" MINA shows the same behaviour.
> A solution is to apply configuration rules described, e.g., at http://mina.apache.org/configuring-thread-model.html,
as done in the attached patch.
> Moreover, the standard Camel-MINA producer is not thread-safe -- actually a well-known
point.  A second attached file contains a thread pool-based reentrant version, which can be
efficiently used for TCP endpoints with both parameters 'lazySessionCreation' and 'sync' set
to true.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message