4

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

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

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

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

有什么建议/解决方法吗?

注意

这不是这里的重复,因为我在谈论 C++ 和嵌入式代理之类的解决方案,spring 在 C++ 中不可用。

4

1 回答 1

4

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

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

于 2011-02-27T21:15:15.950 回答