0
我正在使用ActiveMQ存儲消息隊列。
我正在使用PECL Stomp擴展連接到它。 我已成功發佈到隊列中,並且能夠成功讀取它。
如何配置隊列以在我使用後刪除消息?
在我的聽衆,我用如何從隊列中僅讀取一次消息
$c = new Stomp($url);
$c->subscribe('/queue/something');
echo $c->readFrame();
我正在使用ActiveMQ存儲消息隊列。
我正在使用PECL Stomp擴展連接到它。 我已成功發佈到隊列中,並且能夠成功讀取它。
如何配置隊列以在我使用後刪除消息?
在我的聽衆,我用如何從隊列中僅讀取一次消息
$c = new Stomp($url);
$c->subscribe('/queue/something');
echo $c->readFrame();
你不得不承認消息的消費,讓他們從隊列中「刪除」。你可以用$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
你可能想確認一個消息的消耗。 http://php.net/manual/en/stomp.ack.php –
消息是不是現在被刪除?請提供更多內容 –
消息未被刪除。每次斷開連接並重新連接到隊列中,我都會一遍又一遍地收到相同的消息。 –