3
从ActiveMQ连接创建会话对象时是否有任何设置超时的方法?ActiveMQ createSession超时
我使用的外观的代码如下:
ConnectionFactory factory = Settings.getJmsConnectionFactory(ip);
connection = factory.createConnection();
// insert timeout here
Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
Topic topic = session.createTopic(Settings.Topic);
MessageConsumer consumer = session.createConsumer(topic);
consumer.setMessageListener(this);
connection.start();
这工作得很好,只要消息服务器已经启动。否则,createSession调用将被阻止。我可以在另一个线程上执行它以避免应用程序被阻塞,但我想我会问是否有一种“更干净”的方式。
干杯, 最大
createConnection正常工作。它只能挂在createSession()... – Max
我已经使用ActiveMQ几年了,从来没有遇到过这样的事情。它总是在createConnection()时失败,否则它一路连接。你是否在与经纪人相同的JVM中做某件事,可能会让它停滞不前? –
我与尝试永久重新连接的故障转移有同样的问题。我将transport.startupMaxReconnectAttempts = 6(或其他选择的)作为查询字符串添加到我们活动的mq服务url的末尾,以防止无限循环。现在它失败了。 – lcrepas