Я пытаюсь подключиться к ActiveMQ, где многие клиенты подключены к одной теме. Я также хочу получать все сообщения, которые они получают, но ничего не получали. Когда я подключаюсь к очереди, это работает, но очередь — это не то, что мне нужно. Что я делаю не так?
Код, который я использую, довольно прост (установлен php-stop):
<?php
$url="amq.local.net";
$port="61612";
$user="admin";
$pass="admin";
$topic="/topic/SYS.BROADCAST.TEXTMESSAGE";
try {
$stomp = new Stomp('tcp://'.$url.':'.$port, $user, $pass, array('client-id' => 'client123'));
} catch (StompException $e) {
die('Connection failed: ' . $e->getMessage());
}
$stomp->subscribe($topic, array('prefetch-count' => 1));
while (1)
{
if (($frame = $stomp->readFrame()) != NULL)
{
var_dump($frame);
$stomp->ack($frame);
}
sleep(1);
}
Есть и другие темы по конкретному AMQ, но все они дают одинаковый результат. Помимо моего клиента все остальные участники получают то, что хотят, но я знаю, что они используют не PHP, а Java (openwire).