[
https://issues.apache.org/activemq/browse/AMQNET-147?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Daniel Ellis updated AMQNET-147:
--------------------------------
Attachment: ConnectionError.patch
This issue may not be solely due to the failover transport, it may just be that
the failover transport identifies an underlying issue.
If you run the unit tests using the standard activemq transport, the tests
pass, but I have noticed the following line at the end of the trace output:
ERROR: Unknown command: ConnectionError[
Exception=Apache.NMS.ActiveMQ.Commands.BrokerError: id = 0 ConnectionId= ]
The connection error type is not handled, so the ConnectionError.patch file
attached handles this command type and writes the actual error message to the
trace. This is the error that is now displayed:
ERROR: Connection error: Cannot remove a consumer from a session that had not
been registered: 0cc617f9-0433-4980-bb0a-6b450166e536:1
I suspect that this error is possibly causing the failover transport to
continually disconnect and reconnect. But that is just a hunch and I have not
proved that yet.
> Connection fails to close if a producer or consumer has not been disposed
> (only when using the failover transport).
> -------------------------------------------------------------------------------------------------------------------
>
> Key: AMQNET-147
> URL: https://issues.apache.org/activemq/browse/AMQNET-147
> Project: ActiveMQ .Net
> Issue Type: Bug
> Components: ActiveMQ Client
> Affects Versions: 1.1
> Environment: Using failover transport
> Reporter: Daniel Ellis
> Assignee: Jim Gomes
> Fix For: 1.1
>
> Attachments: ConnectionError.patch, ConnectionsTests.patch
>
>
> When using the failover transport such as:-
> <defaultURI
> value="activemq:failover:(tcp://activemqhost:61616,tcp://activemqhost:61616)"/>
> A connection will fail to close if you dispose a connection before disposing
> a consumer or producer that is associated with the connection. The dispose
> call never returns because the failover transport is continually reconnecting
> due to a KeyNotFoundException. The KeyNotfoundException is thrown because a
> session no longer exists in the connection state.
> A number of the existing unit tests fail (actually they never return) when
> using the failover transport. When in debug, a DebugAssert is displayed for
> each error that causes the reconnect.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.