0

こんにちは、私は Apollo Activemq Broker と Stomp を使用しています。
メッセージをブローカーに送信するためのメソッドと、キューからメッセージを読み取るためのメソッドを 2 つ作成しました。
ボーカーに 1 つのメッセージを送信してから、それを読むと、すべて問題ありません。メッセージを読んで確認できます。送信メッセージを複数回実行し、キューに多くのメッセージがあるときに問題が発生します。キューから最初のメッセージのみを受信するたびに、メッセージを読んで確認します。また、ループを実行すると "

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

すべて問題ありません。キューからすべてのメッセージを読み取って確認できます。

UPDATE : PHP から ack を受信したときに、ActiveMQ がキューからメッセージを削除しない。Ack は true を返しますが、メッセージはまだキューにあります。

更新: 私の問題は、デフォルトが 1000 の "prefetchSize" にあるようです。これを 1 に設定したいのですが、stomp を使用してブローカーと対話します。その値を 1000 から 1 に変更する必要がある場合は、ヒントを教えてください。

4

1 に答える 1