Можно ли с помощью ActiveMQ 5 настроить посредника в памяти и сетевых подключениях? - PullRequest
4 голосов
/ 14 ноября 2008

У нас есть набор приложений, между которыми я хочу использовать JMS. Прямо сейчас все наши приложения устанавливают TCP-соединения с брокером ActiveMQ. Можно ли заставить 15 или около того приложений, которые находятся на одном и том же хосте, использовать соединения inVM или использовать форму совместно используемой памяти, в то время как оставшиеся 20 или около того приложений, которые находятся вне этого хоста, все еще используют TCP?

По сути, я хочу объединить брокер, настроенный с помощью inVM, и брокер, настроенный с использованием TCP. Могу ли я сделать это, или я должен сделать конфигурацию моста?

1 Ответ

2 голосов
/ 17 ноября 2008

Соединения inVM работают, только если приложения находятся в одной JVM.

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

Обмен сообщениями основан на потоке, поэтому общая память не очень помогает с ActiveMQ. На самом деле это просто выбор TCP или VM, если ваше приложение находится в той же JVM, что и брокер

...