PHP stomp客户端没有';t故障转移到辅助MQ

PHP stomp客户端没有';t故障转移到辅助MQ,php,activemq,failover,stomp,Php,Activemq,Failover,Stomp,我正在尝试为我的消费者实现一个用PHP编写的故障转移函数。结构如下: <?php require_once $root.'lib/stomp.php'; $con = new Stomp('failover://(tcp://MQ1:61612,tcp://MQ2:61612)?randomize=false'); $con->connect(username,password); $con->subscribe($receiveQueue, array('ack' =>

我正在尝试为我的消费者实现一个用PHP编写的故障转移函数。结构如下:

<?php
require_once $root.'lib/stomp.php';

$con = new Stomp('failover://(tcp://MQ1:61612,tcp://MQ2:61612)?randomize=false');
$con->connect(username,password);
$con->subscribe($receiveQueue, array('ack' => 'client','activemq.prefetchSize' => 1));

while ($con->hasFrameToRead() == true) {
    $con->begin("tx1");

    if($con->isConnected() == false) {
        $con->_reconnect();
    }

    // bla bla bla...
}

$con->disconnect();
?>

当我启动PHP客户端时,它能够连接MQ1,但在我终止MQ1服务器中的MQ服务后,它不会故障转移到MQ2

我可以知道有没有我遗漏的部分吗?或者MQ服务器端是否需要任何必要的配置


提前感谢:)

从PHP客户端到目前为止我看到的故障切换只对connect有效,之后不会重新连接。我不确定您正在使用的特定客户机的状态,但值得您与它的开发人员核实一下,看看是否真的支持它

还应注意,为了正确检测连接丢失,客户端需要主动使用套接字,或者使用STOMP v1.1或更高版本的心跳在后台执行某种保持活动状态检查,否则连接丢失可能会被忽略


您最好的选择是与您正在使用的PHP Stomp客户端的开发人员合作,以找到一些解决方案

您应该让人们知道您使用的是什么客户机我正在使用这个PHP客户机:如果客户机启动而MQ1关闭,会发生什么情况,它是否连接到MQ2?您确定客户端支持运行时故障切换而不仅仅是连接时故障切换吗?连接时故障切换正在工作。目前我面临着运行时故障转移的问题,我已经阅读了Stomp&ActiveMQ的官方网站,但是我仍然找不到关于如何完成运行时故障转移的任何相关信息。。。