У меня есть адрес "pubsub.foo", уже настроенный как многоадресная в broker.xml
.
<address name="pubsub.foo">
<multicast/>
</address>
Согласно документации Artemis :
Когда клиенты подключаются к адресу с элементом многоадресной рассылки, для клиента автоматически создается очередь подписки.
Я создаю простую утилиту, используя rhea AMQP Node.js npm публиковать sh сообщений по адресу.
var connection = require('rhea').connect({ port: args.port, host: args.host, username:'admin', password:'xxxx' });
var sender = connection.open_sender('pubsub.foo');
sender.on('sendable', function(context) {
var m = 'Hii test'
console.log('sent ' + m);
sender.send({body:m});
connection.close();
});
Я включил журнал отладки, и во время выполнения кода клиента я вижу такое сообщение.
2020-02-03 22:43:25,071 DEBUG [org.apache.activemq.artemis.core.postoffice.impl.PostOfficeImpl] Message org.apache.activemq.artemis.protocol.amqp.broker.AMQPMessage@68933e4b is not going anywhere as it didn't have a binding on address:pubsub.foo
Я также пробовал разные варианты топи c, например, client1.pubsub.foo
, pubsub.foo::client1
, однако не повезло с клиентским кодом. Пожалуйста, поделитесь своими мыслями. Я новичок в ActiveMQ Artemis.
![enter image description here](https://i.stack.imgur.com/ydABs.png)