Будет ли протокол VM поддерживать две JVM? - PullRequest
3 голосов
/ 30 января 2012

Я хотел бы запустить activemq брокер по протоколу vm:// как отдельное приложение и отправлять сообщения в его очередь из программы, которая находится в другом экземпляре JVM.Является ли это возможным?Будет ли это работать?

В этой документации четко указано, что:

"внутри одной JVM для связи друг с другом внутри JVM"

но для меня это не имеет никакого смысла :) Сценарий, в котором у нас есть внешний JMS-брокер (на одном компьютере) и клиенты, работающие в разных JVM (например, Tomcat, например), не так уж редки.Документация Active-MQ мне совсем не помогает, так как они, вероятно, предполагали, что решение моего вопроса очевидно, и, следовательно, моя путаница.

Заранее спасибо.

1 Ответ

2 голосов
/ 31 января 2012

Я пробовал следующую настройку:

  1. Автономный брокер ActiveMQ
  2. Простая программа-производитель-потребитель Java, запущенная в отдельной JVM

Они оба использовали vm://test брокера.

Выводы

Идентификатор не имеет значения, работает ли брокер ActiveMQ. В обоих случаях мой простой пример прошел гладко - он создавал VM-брокер, который был отброшен, когда JVM была закрыта вместе с моей программой.

Это означает, что по-настоящему брокеры виртуальных машин работают только в одной JVM, и к ним нельзя получить доступ из другой JVM, по крайней мере с самой простой конфигурацией.

...