[ 
https://issues.apache.org/activemq/browse/AMQ-734?page=comments#action_37516 ] 
            
Chris Hofstaedter commented on AMQ-734:
---------------------------------------

I've got what I think is a fix for AMQ-734.  However, the fix is possibly 
heavy-handed in its implementation, so I'd like for someone to review it and 
provide comments regarding any potential unintended side effects.

I've attached to the issue in JIRA a junit case that is able to reproduce the 
issue 100% of the time as well as the necessary updates to 
DiscoveryNetworkConnector and DemandForwardingBridgeSupport.

Basically, the classes were stopping the local broker and bridge whenever any 
exception was encountered on the transport.  However, some of the exceptions 
are "ok" and should not result in a stop.  These include 
InvalidClientIDException, BrokerStoppedException, InvalidStateException, and 
SocketException.  With the fix, for these specific exceptions, the 
broker/bridge are not stopped and fireServiceFailed is never called.  For all 
other exceptions, they still are called.

In addition, the TransportListener.transportResumed implementation in 
DemandForwardingBridgeSupport never started the local/remote broker and never 
called triggerRemoteStartBridge.  With this fix, they now do.

I've run the whole suite of tests and all of the tests that passed prior to my 
modifications continue to pass.  In addition, the test case attached to the 
JIRA fails without the fixes and passes with the fixes 100% of the time.

Comments?  


> Network connections do not reconnect when using static: with failover=true
> --------------------------------------------------------------------------
>
>                 Key: AMQ-734
>                 URL: https://issues.apache.org/activemq/browse/AMQ-734
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: Connector
>    Affects Versions: 4.0
>         Environment: winxp java1.5.6
>            Reporter: tao
>         Assigned To: Hiram Chirino
>            Priority: Critical
>             Fix For: 4.2.0, 4.1.1
>
>         Attachments: Amq734Test.java, Amq734Test.java, 
> DemandForwardingBridgeSupport.java, DiscoveryNetworkConnector.java
>
>
> If I pull out RJ45 port from net card ,waiting a time ,then put  RJ45 port 
> net card .Network is resume.Other computer always throw errors and net 
> channel can't work.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
https://issues.apache.org/activemq/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to