Получение java .lang.IllegalStateException: MessageDrivenBean: Методы службы таймера не допускаются из состояния = СОЗДАНИЕ - PullRequest
0 голосов
/ 24 марта 2020

enter image description here

Может кто-нибудь посоветовать, пожалуйста, как я могу решить эту проблему. Я вижу эту ошибку в моем приложении WAS SystemOut.logs.

1 Ответ

1 голос
/ 24 марта 2020

Раздел 5.5.1 спецификации EJB 3.2 указывает на то, что служба Timer и методы Timer недоступны из конструктора, во время внедрения или после конструирования. ejbCreate будет методом post-конструкции для bean-компонента, поэтому вызов TimerService.getTimers () недопустим.

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

Будет ли работать использование непостоянного автоматического таймера c, так что он будет создан автоматически для вас всякий раз, когда приложение запускается? (т.е. @Schedule)

...