Почему сервер остается застрявшим в течение некоторого времени, когда мы отменяем развертывание проекта на основе планировщика и выполняется задание по расписанию? - PullRequest
0 голосов
/ 20 января 2020
  • Используемый сервер: 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)

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

...