NullPointerException при развертывании в JBoss с помощью @Schedule - PullRequest
0 голосов
/ 15 октября 2019

Я использую плагин wildfly maven для развертывания моего Java-приложения на локальном сервере jboss.

Я создал класс с аннотацией @Schedule, подобной этой:

@Startup
@Singleton
@Slf4j
public class ClassName {

  @Schedule(hour = "*", minute = "*", second = "*/20", persistent = false)
  public void method() {
    // Code
    log.info("some log");
  }
}

Сейчас, при развертывании я получаю следующую ошибку:

ОШИБКА [org.jboss.as.ejb3.timer] (EJB по умолчанию - 1) WFLYEJB0020: Ошибка вызова тайм-аута для таймера: [id = 879a76e7-b06d-458c-a722-70d8f1d40bc2 timedObjectId = xx-yy-server-1.0-SNAPSHOT.xx-yy-server-1.0-SNAPSHOT.ClassName автоспуск?: True persistent?: False timerService = org.jboss.as.ejb3.timerservice.TimerServiceImpl @ 42cdd9a initialExpiration = null intervalDuration (в миллисекундах) = 0 nextExpiration = Вт 15 октября 17:21:00 CEST 2019 timerState = IN_TIMEOUT info = null]: javax.ejb.EJBException: java.lang.NullPointerException

1011 *

Кто-нибудь знает, что это вызывает? Я довольно новичок в планировании в Java, так что это может быть что-то глупое, но я не могу ничего найти в Интернете.

Спасибо!

1 Ответ

0 голосов
/ 23 октября 2019

Hello, так как в этом Stackoverflow вопрос упоминаются все ограничения тайм-аута и больше, чем рекомендуется использовать @Stateless EJB вместо @Singleton, когда у вас есть несколько таймеров, которые будут запланированы.

@Startup annotation - для информирования контейнера EJB об инициализации компонента при запуске, возможно, вы его неправильно используете.

...