我正在使用ActiveMQ来存储消息队列 我正在使用PECL Stomp扩展来连接它。 我成功地发布到队列中,并成功地从中读取 如何配置队列以在消耗消息后删除消息? 在我的听众中,我使用
$c = new Stomp($url);
$c->subscribe('/queue/something');
echo $c->readFrame();
答案 0 :(得分:1)
您必须确认消息才能将其从队列中“删除”。您可以使用$stomp->ack($messageID)
。
如果您不想明确确认收据,可以将$stomp->subscribe
ack
的标题设置为auto
。这将使服务器自动确认消息并假设它已正确传送。
$stomp->subscribe('/queue/something', array('ack' => 'auto'));
参考文献:
http://php.net/manual/en/stomp.ack.php
http://php.net/manual/en/stomp.subscribe.php
https://stomp.github.io/stomp-specification-1.1.html#SUBSCRIBE