java - ActiveMQ 传输线程在 main 结束时不会终止

标签 java multithreading activemq

这是我开始连接的方式:

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/

相关文章:

java - 如何在 Java Servlet 中执行 DELETE 和 PUT 方法

java - Java 中的线程未恢复?

windows - 仅在一个处理器上运行的进程是否可以在其他处理器上运行线程?

java - Looper 泄露消息

encryption - 使用 JMS 请求-答复的密码安全

java - 查找队列是否有更多元素

Java:替代传递 "this"作为构造函数参数以引用创建对象

带有相对地址的Java URL

java - 完成 AsyncTask 后未调用 onPostExecute

c++ - 与 Mule/ActiveMQ 和 C++ Stomp 的客户端通信