Попробуйте установить в качестве получателя тот же адрес очереди, который вы определили в Hornetq.
Возможно, ваша очередь определена в HornetQ следующим образом
<queue name="exampleQueue">
<address>jms.queue.exampleQueue</address>
</queue>
Итак, попробуйте подключиться к этому адресучерез STOMP.
См. следующие кадры в соответствии с протоколом:
Подписка на очередь
SUBSCRIBE
destination:jms.queue.exampleQueue
^@
Отправка сообщения
SEND
destination:jms.queue.exampleQueue
it works
^@
Как только сообщение будет отправлено, вы получите сообщение о сеансе, который вы подписали на очередь
MESSAGE
timestamp:1311355464983
redelivered:false
expires:0
subscription:subscription/jms.queue.exampleQueue
priority:0
message-id:523
destination:jms.queue.exampleQueue
it works
- РЕДАКТИРОВАТЬ
Остался один момент, который я хотел бы добавить ...
HornetQ не соответствует стандартам именования STOMP (см. http://community.jboss.org/message/594176), поэтому есть вероятность, что activemq-cpp следует поведениюativemq-nms, которые «нормализуют» имя очереди к стандарту STOMP: «/ queue / YourQueue» (и вызывают проблемы с именами).
Итак, даже если вы пытаетесь изменить пункт назначенияимя для 'jms.queue.exampleQueue', activemq-cpp может нормализовать его до '/ queue / jms.queue.exampleQueue '.
В NMS + HornetQ нет способа «из коробки» избежать этого.Единственный выбор - отредактировать исходный код NMS и удалить часть, которая нормализует имена очереди.Может быть, это то же самое на activemq-cpp.