Почему сервер некоторое время зависает, когда мы отменяем развертывание проекта на основе планировщика и выполняется задание расписания?

  • Используемый сервер: Wildfly 16
  • Планировщики EJB

     @Startup
     @Singleton
     @AccessTimeout(value = 1, unit = TimeUnit.HOURS)
     public class MeowPoller {
    
         @Schedule(hour = "02", minute = "00", persistent = false)
         public void runFetchApplications() {
    

Теперь скажите, если задание начинает выполняться и когда мы отменяем развертывание или отключаем развертывание в то время из консоли администратора: либо оно завершает все задание по планированию, занимает ли это еще 1-2 минуты (в случае небольших заданий), либо завершается, скажем, через 2 минут (в случае больших работ), указав следующее:

2020-01-20 05:22:52,834 ERROR [org.jboss.as.ejb3.timer] (EJB default - 8) WFLYEJB0020: Error invoking timeout for timer: [id=1c7d441c-90a3-45da-90f6-4aa55c472c91 timedObjectId=Meow-1.7-SNAPSHOT.Meow-1.7-SNAPSHOT.MeowPoller auto-timer?:true persistent?:false timerService=org.jboss.as.ejb3.timerservice.TimerServiceImpl@4e587dc9 initialExpiration=null intervalDuration(in milli sec)=0 nextExpiration=Mon Jan 20 05:23:00 CET 2020 timerState=IN_TIMEOUT info=null]: org.jboss.as.ejb3.component.EJBComponentUnavailableException: WFLYEJB0421: Invocation cannot proceed as component is shutting down
        at org.jboss.as.ejb3.component.interceptors.ShutDownInterceptorFactory$1.processInvocation(ShutDownInterceptorFactory.java:59)
        at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:422)

Это означает, что сервер получает события, которые были нажаты на отмену развертывания / отключения. Спрашивается, почему это не прекращается сразу? Есть ли альтернатива, чтобы немедленно остановить это?

0 ответов

Другие вопросы по тегам