При использовании виртуальных тем производитель должен отправлять обычные или виртуальные темы? - PullRequest
0 голосов
/ 14 ноября 2018

Теперь мы публикуем сообщения в обычной теме и можем использовать сообщения из виртуальной темы.Является ли это законным путем?

К сожалению, правильность этого подхода не ясна из документов .

Тем не менее, мы замечаем некоторое странное поведение .

Если все в порядке, мы бы хотели использовать его как есть.В противном случае необходимо изменить имена тем во всех очередях, прежде чем ожидающих сообщений не будет.

1 Ответ

0 голосов
/ 14 ноября 2018

Хорошо, я нашел ответ в книге Активный MQ в действии :

Некоторые соглашения об именах необходимы, чтобы разрешить виртуальным темам действуй правильно. Во-первых, чтобы определить, что тема должна рассматриваться как виртуальная тема, название темы должно всегда соответствовать шаблону VirtualTopic.<topic name>. Так что если вы хотите создать виртуальную тему для темы, которая называется заказы, необходимо создать пункт назначения с именем VirtualTopic.orders. Это означает, что издатель отправляет сообщения на тему с именем VirtualTopic.orders. Для того, чтобы потреблять из очереди, поддерживаемой виртуальной темой, потребители должны подписаться на очередь, имя которой следует шаблону Consumer.<consumer name>.VirtualTopic.<virtual topic name>.

...