Ошибка MDB (Message Driven Bean) при запуске сервера

1

Кажется, что у нескольких людей такая же проблема (см. Это и это):

Если вы запустили сервер Glassfish (v 4) с MDB (Message Driven Bean) и есть сообщения, которые будут потребляться, MDB начнет потреблять сообщения, пока контейнер все еще инициализируется. Если для обработки сообщений требуется любая другая служба из контейнера, она выдает исключение:

Caused by: javax.ejb.EJBException: Attempt to invoke when container is in Initializing

Кто-нибудь смог решить эту проблему?

В идеале MDB должен начинать принимать сообщения только после полной инициализации контейнера.

Есть ли способ позволить MDB проверить инициализацию контейнера и только начать принимать сообщения, когда контейнер запущен и работает?

Изменить: Возможно, следующая аннотация помогает: @DependsOn ("Dependency")

Теги:
jms
glassfish
glassfish-4
message-driven-bean

1 ответ

0

Вы можете настроить последовательность загрузки приложения (порядок запуска), поставить большее значение для своего приложения и, возможно, поставить приложение задержки.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню