ActiveMQCPP connection.start()挂起

时间:2011-02-27 09:52:32

标签: c++ jms activemq activemq-cpp

如果重要的话,我正在使用ActiveMQ CPP 5.2.3。

我有使用故障转移传输连接到JMS经纪人网络的JMS生产者。 当我调用connection-> start()时,它会挂起(请参阅AMQ-2114)。

如果我跳过连接 start()并调用connection-> createSession(),则此调用也会被阻止。

要求是我的应用程序将永远尝试连接到代理。

有任何建议/解决方法吗?

注意

这不是here的重复,因为我说的是C ++,而嵌入式代理,spring等解决方案在C ++中不可用。

1 个答案:

答案 0 :(得分:4)

当连接等待连接到代理的传输时,这是正常的。 start方法必须在任何其他操作之前将客户端的id信息发送给代理,因此如果不存在连接,则必须阻止。您可以在故障转移传输上设置一些选项,例如startupMaxReconnectAttempts选项,以控制在报告故障之前尝试连接的时间。请参阅URI配置页面:

http://activemq.apache.org/cms/configuring.html