Php 阿波罗

Php 阿波罗,php,activemq,stomp,apollo,Php,Activemq,Stomp,Apollo,Hy,我使用Apollo Activemq代理并跺脚。 我编写了两种方法,一种用于向代理发送消息,另一种用于从队列中读取消息。 当我向borker发送一条消息,然后我阅读它时,一切正常,我可以阅读并确认消息,当我多次运行发送消息时,我的问题就会出现,并且我的队列中有许多消息,当我每次仅收到队列中的第一条消息时,我尝试阅读并确认消息。 如果我运行一个循环” 一切正常,我可以阅读并确认队列中的所有消息 更新:当从PHP接收到ack时,ActiveMQ不会从队列中删除消息。ack返回true,但消息仍

Hy,我使用Apollo Activemq代理并跺脚。
我编写了两种方法,一种用于向代理发送消息,另一种用于从队列中读取消息。
当我向borker发送一条消息,然后我阅读它时,一切正常,我可以阅读并确认消息,当我多次运行发送消息时,我的问题就会出现,并且我的队列中有许多消息,当我每次仅收到队列中的第一条消息时,我尝试阅读并确认消息。 如果我运行一个循环”

一切正常,我可以阅读并确认队列中的所有消息

更新:当从PHP接收到ack时,ActiveMQ不会从队列中删除消息。ack返回true,但消息仍在队列中


更新:我的问题似乎是“预取大小”“默认值为1000,我想将其设置为1,我使用stomp与代理进行交互,请给我一个提示,我是否应该将该值从1000更改为1。

尝试在订阅框架中添加
activemq。prefetchSize:1
标题。

我想你需要澄清一下你的问题。你看到了什么你没有预料到的?
while ($con->HasFrame) {  
     $msg = $con->readFrame();
         $con->ack($msg);
}