- Используемый сервер: 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)
Это означает, что сервер получает события, по которым была нажата кнопка отмены / отключения. Вопрос в том, почему это не останавливается сразу? Есть ли альтернатива, чтобы остановить это немедленно?