I just updated to AMQ 4.0.2 (RC4). Changes since 4.0.1 seem to result in a
hanging broker, if a network connection could not be established.

The stacktrace is as follows:
HangingShutdown at localhost:4847 (Suspended)
        System Thread [Finalizer] (Suspended)
                
        System Thread [Reference Handler] (Suspended)
                
        Thread [main] (Suspended)
                MutexTransport.oneway(Command) line: 45
                ResponseCorrelator.oneway(Command) line: 59
                
DiscoveryNetworkConnector$2(DemandForwardingBridgeSupport).stop() line:
297
                DiscoveryNetworkConnector.doStop(ServiceStopper) line: 191
                DiscoveryNetworkConnector(ServiceSupport).stop() line: 58
                ServiceStopper.stop(Service) line: 42
                XBeanBrokerService(BrokerService).stop() line: 398
                HangingShutdown.main(String[]) line: 10
        System Thread [Signal Dispatcher] (Suspended)
                
        Thread [ActiveMQ Transport Server: tcp://isbst-note11:61618] (Suspended)
                PlainSocketImpl.socketAccept(SocketImpl) line: not available 
[native
method]
                SocksSocketImpl(PlainSocketImpl).accept(SocketImpl) line: 384
                ServerSocket.implAccept(Socket) line: 450
                ServerSocket.accept() line: 421
                TcpTransportServer.run() line: 125
                Thread.run() line: 595
        Thread [ActiveMQ Transport Status Monitor: default] (Suspended)
                Thread.sleep(long) line: not available [native method]
                TransportStatusDetector.run() line: 99
                Thread.run() line: 595
        Thread [ActiveMQ Task] (Suspended)
                PlainSocketImpl.socketConnect(InetAddress, int, int) line: not 
available
[native method]
                SocksSocketImpl(PlainSocketImpl).doConnect(InetAddress, int, 
int) line:
333
                SocksSocketImpl(PlainSocketImpl).connectToAddress(InetAddress, 
int, int)
line: 195
                SocksSocketImpl(PlainSocketImpl).connect(SocketAddress, int) 
line: 182
                SocksSocketImpl.connect(SocketAddress, int) line: 366
                Socket.connect(SocketAddress, int) line: 516
                TcpTransport.connect() line: 319
                TcpTransport.doStart() line: 288
                TcpTransport(ServiceSupport).start() line: 49
                InactivityMonitor(TransportFilter).start() line: 56
                WireFormatNegotiator(TransportFilter).start() line: 56
                WireFormatNegotiator.start() line: 60
                FailoverTransport$2.iterate() line: 170
                PooledTaskRunner.runTask() line: 111
                PooledTaskRunner.access$1(PooledTaskRunner) line: 95
                PooledTaskRunner$1.run() line: 44
                ThreadPoolExecutor$Worker.runTask(Runnable) line: 650
                ThreadPoolExecutor$Worker.run() line: 675
                Thread.run() line: 595
        Thread [ActiveMQ Transport Status Monitor: vm://Broker] (Suspended)
                Thread.sleep(long) line: not available [native method]
                TransportStatusDetector.run() line: 99
                Thread.run() line: 595
        Thread [Thread-1] (Suspended)
                Object.wait(long) line: not available [native method]
                FailoverTransport.oneway(Command) line: 359
                MutexTransport.oneway(Command) line: 45
                ResponseCorrelator.oneway(Command) line: 59
        
DiscoveryNetworkConnector$2(DemandForwardingBridgeSupport).startRemoteBridge()
line: 253
                DemandForwardingBridgeSupport$4.run() line: 204



See code below to reproduce.


import java.net.URI;

import org.apache.activemq.broker.BrokerFactory;
import org.apache.activemq.broker.BrokerService;

public class HangingShutdown {
  public static int main(String[] args) throws Exception {
    BrokerService broker = BrokerFactory.createBroker(new
URI("xbean:hangingBroker.xml"));
    broker.start();
    broker.stop();
    return 0;
  }
}

<beans xmlns="http://activemq.org/config/1.0";>
  <broker brokerName="Broker" useJmx="false" persistent="false">
    <transportConnectors>
       <transportConnector name="default" uri="tcp://localhost:61618"/>
    </transportConnectors>
    <networkConnectors>
      <networkConnector name="other" uri="static:tcp://localhost:61619"
failover="true"/>
    </networkConnectors>
  </broker>
</beans>

-- 
View this message in context: 
http://www.nabble.com/Hanging-shutdown-using-failover-networkConnector-tf2346467.html#a6532390
Sent from the ActiveMQ - User mailing list archive at Nabble.com.

Reply via email to