2013-02-18 50 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标头。