Bean-компонент, управляемый сообщениями, с отключенной очередью сообщений Java

StackOverflow https://stackoverflow.com/questions/2453313

Вопрос

У меня возникла следующая проблема при развертывании моего приложения.

Он использует JMS и удаленный openMQ для связи между серверами.Проблема в том, что соединение не является полностью надежным, поэтому оно может быть как вверх, так и вниз.Для повторного подключения я установил свойство jms reconnect glassfish, чтобы оно переподключалось, если в какой-то момент соединение потеряется.Проблема возникает, когда я пытаюсь развернуть приложение, но соединения нет.Похоже, оно продолжает повторять попытки подключения, но приложение не завершает развертывание, пока соединение не станет доступным.

Можно ли каким-либо образом настроить его, чтобы развертывание продолжалось даже при отсутствии соединения и повторяло попытки до тех пор, пока не будет доступно соединение?

Большое спасибо.

Редактировать:Я пытаюсь запустить инициализацию MDB в другом потоке.Я попробовал оба

Я пытаюсь назначить MDB другой поток, изменив sun-ejb.jar.xml двумя способами.

        <bean-pool>
            <steady-pool-size>1</steady-pool-size>
            <resize-quantity>1</resize-quantity>
            <max-pool-size>1</max-pool-size>
            <pool-idle-timeout-in-seconds>60</pool-idle-timeout-in-seconds>
        </bean-pool>

а также с

        <use-thread-pool-id>a-new-thread-pool</use-thread-pool-id>

Но мне не повезло.Похоже, он ждет завершения этого потока, поскольку похоже, что он получает новый поток, но он ждет завершения этого потока, чтобы завершить запуск приложения, поэтому в моем случае приложение не развертывается правильно.

Редактировать 2 Я также пытался запустить службу jms в другом потоке...

asadmin create-resource-adapter-config --threadpools a-new-thread-pool jmsra

Тоже не повезло.

Это было полезно?

Решение

С поставщиком JMS по умолчанию Glassfish это невозможно.Наконец мне удалось это сделать, изменив адаптер JCA на

https://jmsjca.dev.java.net/

Другие советы

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top