2013-02-18 89 views
0

Hy,我使用Apollo Activemq Broker和Stomp。
我寫了兩種方法,一種是將消息發送給代理,另一種是從隊列中讀取消息。
當我發送一條消息給borker然後我讀它時,一切正常,我可以閱讀並確認消息,當我多次運行發送消息時我的問題出現,並且我有很多消息在隊列中,當我嘗試讀取並確認消息,每次我只收到隊列中的第一條消息。 另外,如果我運行一個循環「Apollo activemq ack

while ($con->HasFrame) { 
    $msg = $con->readFrame(); 
     $con->ack($msg); 
} 

一切都很好,我可以閱讀並從隊列中確認所有消息

更新:當從接收到ack的ActiveMQ不從隊列中刪除郵件PHP。Ack返回true,但消息仍然在隊列中

UPDATE:我的問題似乎是「prefetchSize」,默認值爲1000,我想將其設置爲1,我使用stomp與代理交互,請給我一個提示,我應該將該值從1000更改爲1.

+0

我認爲你需要澄清一下你的問題。你看到你沒有想到的是什麼? – 2013-02-20 14:53:18

回答

0

嘗試在SUBSCRIBE幀中添加activemq.prefetchSize:1標頭。