这是我开始连接的方式:
factory = new PooledConnectionFactory(brokerURL);
brokerURL is "failover:(tcp://host1.com:61616,tcp://host2.com:61616)?randomize=false&jms.useAsyncSend=false&jms.dispatchAsync=false&maxReconnectAttempts=30&maxReconnectDelay=3000"
连接开始:
connection = factory.createConnection("", "");
connection.start();
应用程序在连接关闭之前执行其通常的任务:
connection.close();
main 方法完成了,但 JVM 还没有,因为还有几个 ActiveMQ 线程处于 Activity 状态:
Thread [ActiveMQ Transport: tcp://host1.com/ip_address:61616@2455] (Running)
Daemon Thread [ActiveMQ InactivityMonitor ReadCheckTimer] (Running)
Daemon Thread [ActiveMQ InactivityMonitor WriteCheckTimer] (Running)
Daemon Thread [ActiveMQ InactivityMonitor Worker] (Running)
我应该如何关闭它,以便上面的线程也将关闭。 ActiveMQ 版本 5.10.0
提前致谢
最佳答案
已修复 (PooledConnectionFactory) factory).stop();
关于java - ActiveMQ 传输线程在 main 结束时不会终止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29695079/