You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
PHP v8.1
Activemq Artemis v2.33.0 with default settings
stomp-php/stomp-php v5.1
I am running ActiveMQ via docker:
docker run --rm -p 61613:61613 -e ANONYMOUS_LOGIN=true apache/activemq-artemis:2.33.0
Listener script:
$client = new \Stomp\Client('tcp://127.0.0.1:61613');
$stomp = new \Stomp\StatefulStomp($client);
$stomp->subscribe('test-topic', null, 'auto');
while (true) {
if ($frame = $stomp->read()) {
echo $frame->getBody(), ' ', $frame->getMessageId(), "\n";
}
}
Emitter script:
$client = new \Stomp\Client('tcp://127.0.0.1:61613');
$stomp = new \Stomp\StatefulStomp($client);
$stomp->send('test-topic', new \Stomp\Transport\Message('test'));
The problem is that the listener only receives the first message, all subsequent messages remain in the queue. But when subscription mode is 'client' and I send ack for each message, it works fine.
This behavior seems to be caused by 'activemq.prefetchSize:1' header which is always set by the lib.
The client code doesn't seem to be able to change this behavior, because Frame::addHeaders() method can't override headers that were set by ActiveMq::getSubscribeFrame(), as it uses += operator.
The text was updated successfully, but these errors were encountered:
Environment:
PHP v8.1
Activemq Artemis v2.33.0 with default settings
stomp-php/stomp-php v5.1
I am running ActiveMQ via docker:
docker run --rm -p 61613:61613 -e ANONYMOUS_LOGIN=true apache/activemq-artemis:2.33.0
Listener script:
Emitter script:
The problem is that the listener only receives the first message, all subsequent messages remain in the queue. But when subscription mode is 'client' and I send ack for each message, it works fine.
This behavior seems to be caused by 'activemq.prefetchSize:1' header which is always set by the lib.
The client code doesn't seem to be able to change this behavior, because Frame::addHeaders() method can't override headers that were set by ActiveMq::getSubscribeFrame(), as it uses += operator.
The text was updated successfully, but these errors were encountered: