You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "Thomas Johansen (JIRA)" <ji...@apache.org> on 2012/06/27 15:37:42 UTC

[jira] [Updated] (CAMEL-5404) MinaProducer does not disconnect on response timeouts

     [ https://issues.apache.org/jira/browse/CAMEL-5404?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Thomas Johansen updated CAMEL-5404:
-----------------------------------

    Description: 
When MinaProducer is configured with {noformat}sync=true&disconnect=true&disconnectOnNoReply=true&timeout=X{noformat} and a timeout occurs, the connection is not disconnected.

First of all disconnectOnNoReply only applies to consumers, which can be (and was) very confusing. Allthough this is according to documentation.

Secondly this might (and did!) lead to wrong response messages set on an Exchange. The following scenario:
1. Client sends a request and waits for a response (InOut) on exchange A.
2. Client times out waiting for a response after X milliseconds.
3. Client sends another request on exchange B.
4. Server sends the response for exchange A.
5. Client gets response for exchange A on exchange B (disaster!).

This happens because the producer reuses exchange A's connection for exchange B, because it was not disconnected when exchange A timed out.

  was:
When MinaProducer is configured with {noformat}sync=true&disconnect=true&disconnectOnNoReply=true&timeout=X{noformat} and a timeout occurs, the connection is not disconnected.

First of all disconnectOnNoReply only applies to consumers, which can be (and was) very confusing. Allthough this is according to documentation.

Secondly this might (and did!) lead to wrong response messages set on an Exchange. The following scenario:
1. Client sends a request and waits for a response (InOut) on exchange A.
2. Client times out waiting for a response after X time.
3. Client sends another request on exchange B.
4. Server sends the response for exchange A.
5. Client gets response for exchange A on exchange B (disaster!).

This happens because the producer reuses exchange A's connection for exchange B, because it was not disconnected when exchange A timed out.

    
> MinaProducer does not disconnect on response timeouts
> -----------------------------------------------------
>
>                 Key: CAMEL-5404
>                 URL: https://issues.apache.org/jira/browse/CAMEL-5404
>             Project: Camel
>          Issue Type: Bug
>          Components: camel-mina
>    Affects Versions: 2.9.2
>            Reporter: Thomas Johansen
>            Priority: Critical
>
> When MinaProducer is configured with {noformat}sync=true&disconnect=true&disconnectOnNoReply=true&timeout=X{noformat} and a timeout occurs, the connection is not disconnected.
> First of all disconnectOnNoReply only applies to consumers, which can be (and was) very confusing. Allthough this is according to documentation.
> Secondly this might (and did!) lead to wrong response messages set on an Exchange. The following scenario:
> 1. Client sends a request and waits for a response (InOut) on exchange A.
> 2. Client times out waiting for a response after X milliseconds.
> 3. Client sends another request on exchange B.
> 4. Server sends the response for exchange A.
> 5. Client gets response for exchange A on exchange B (disaster!).
> This happens because the producer reuses exchange A's connection for exchange B, because it was not disconnected when exchange A timed out.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira