问题描述: 在使用ActiveMQ 5.15.3的客户端时,由于FailoverTransport导致客户端关闭被挂起。
解决方法: 以下是一个可能的解决方法,其中包含代码示例:
import org.apache.activemq.ActiveMQConnectionFactory;
public class ActiveMQClient {
public static void main(String[] args) {
try {
// 创建连接工厂
ActiveMQConnectionFactory connectionFactory = new ActiveMQConnectionFactory("tcp://localhost:61616");
// 设置参数,启用异步发送消息
connectionFactory.setUseAsyncSend(true);
// 创建连接
Connection connection = connectionFactory.createConnection();
// 其他操作...
// 关闭连接
connection.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
通过设置参数“jms.useAsyncSend=true”,客户端将使用异步发送消息的方式,这样即使FailoverTransport出现问题,客户端关闭也不会被挂起。
请注意,解决方法可能因具体环境和代码使用方式而有所不同。如果问题仍然存在,请尝试查看ActiveMQ的文档或向ActiveMQ社区寻求帮助。