2013-10-10 5 views
1

У меня проблема с использованием Message Driven Beans в CLUSTERED Glassfish 3.1.1. Проблема в очереди в Glassfish, очередь не синхронизирована между экземплярами. Я стараюсь лучше всего объяснить приведенный ниже сценарий.JMS-очередь не синхронизирована в экземплярах кластера GlassFish

Я создал 2 экземпляра в кластере GlassFish, создал JMS QueueConnectionFactory, создал очередь JMS. Их цели были сделаны в отношении кластера. Затем я развернул веб-приложение и модуль MessageDrivenBean в кластере. Веб-приложение отправляет TextMessage в очередь JMS. Все работает хорошо, как сообщение отправляется в очередь и обслуживается ведомыми сообщениями в обоих экземплярах.

Затем отключить модуль MessageDrivenBean. Запросите веб-приложение, которое отправляет сообщение в очередь JMS в обоих экземплярах. Затем я выключил myInstance2. Повторно разверните MDB в кластере. Теперь проблема заключается в том, что MessageDrivenBean получает только сообщения myInstance1, а не сообщения, отправленные в очередь myInstance2. Сообщения в очереди myInstance2 выполняются только при запуске myInstance2. Может ли кто-нибудь помочь мне здесь с настройками, которые GlassFish использует для синхронизации очереди в обоих экземплярах, так что даже по какой-то причине, когда один экземпляр не работает, и есть сообщения в очереди этого экземпляра, другой экземпляр будет принимать сообщения этой очереди и служить им.

Я использую OpenMQ, GlassFish 3.1.1, и я включил опцию HA (высокая доступность) в GlassFish, но все же она не работает.

Благодаря

+0

Привет, вы сказали, что создали кластер с двумя экземплярами, а сообщение отправки в очередь обслуживается mdb в обоих случаях. Я тоже это сделал, но в моем случае сообщение доставляется только в mdb в том же экземпляре, а не в оба экземпляра. Что я делаю не так? –

ответ

1

Варианты обеспечения высокой доступности для GlassFish и опции высокой доступности для очереди сообщений настраиваются отдельно. Вам нужно настроить кластер очереди сообщений как «расширенный кластер», а не «обычный кластер». Это описано в GlassFish 3.1 High Availability Administration Guide.

0

Мне было интересно, если вам удалось как-то решить вашу проблему?

Я борюсь с настройкой фабрики соединений очереди для работы через инъекцию на кластере GlassFish с улучшенной конфигурацией брокера.

Смежные вопросы