Использование HornetQ InVM между несколькими приложениями

Поскольку в HornetQ есть концепция приемников и коннекторов InVM, можно ли настроить встроенный HornetQ таким образом, чтобы два разных приложения в одном экземпляре Tomcat могли отправлять сообщения друг другу. ?

Я видел, что HornetQ хранит некоторую информацию об адресах и очередях в MBean, поэтому я подумал, что они могут поделиться этой информацией.


person Felipe Kamakura    schedule 15.09.2011    source источник


Ответы (1)


Концепция InVM Acceptor and Connector ортогональна MBean-компонентам и адресам. Так что я не совсем понимаю, что вы о них спрашиваете.

У вас могут быть только приемники и соединители InVM, если вы можете правильно встроить HornetQ в свою виртуальную машину.

person Clebert Suconic    schedule 15.09.2011
comment
Мне было интересно, могут ли два разных приложения, A и B, запущенные на одном экземпляре Tomcat (таким образом, одна и та же виртуальная машина) и использующие встроенный HornetQ, обмениваться сообщениями друг с другом. Я бы не хотел развертывать централизованный сервер HornetQ. - person Felipe Kamakura; 16.09.2011
comment
Конечно .. это не должно быть проблемой. Мы делаем это все время на JBoss. Одно приложение отправит сообщение адресату A, другое приложение будет прослушивать потребителя в том же месте назначения. Однако вам нужно убедиться, что установка работает правильно. Это отлично работает на JBoss без каких-либо проблем. - person Clebert Suconic; 16.09.2011
comment
Хм, понятно. Не могли бы вы объяснить мне, как вы настроены? - person Felipe Kamakura; 16.09.2011
comment
К вашему сведению, вот как я настраиваю свои приложения: в моих тестах я развернул два похожих приложения в Tomcat. Оба запустили встроенный сервер HornetQ. У них были очереди, привязанные к одному и тому же адресу, и они отправляли сообщения на этот же адрес. Но потребители просто получали сообщения из собственного приложения. Я попытался запустить сервер HornetQ только в одном из приложений, но другое не нашло сервер. - person Felipe Kamakura; 16.09.2011
comment
Это неправильно: вам нужно правильно интегрировать HornetQ, запускаемый Tomcat, в основной загрузчик классов. В противном случае каждое приложение (со своим собственным classLoader) не сможет выбрать другое приложение classLoader. - person Clebert Suconic; 16.09.2011
comment
Я вижу, это должно быть в обычном загрузчике классов. Большое спасибо, Клеберт, сейчас я проведу небольшое тестирование. Валеу хе-хе! - person Felipe Kamakura; 16.09.2011