JBOSS - Предыдущее выполнение таймера все еще выполняется, состояние таймера IN_TIMEOUT

Я использую JBOSS EAP 6.4 . Я запланировал некоторые планировщики в моем ScedulerBean с помощью аннотации EJB @Shedule следующим образом. Здесь ShedulerBean зависит от StartupBean.

@Singleton
@DependsOn("StartupBean")
public class SchedulerBean {
    private Logger logger = LoggerFactory.getLogger(SchedulerBean.class);
    private SchedulerInterface schedulerInterface;
    @PostConstruct
    public void initialize() {
        // some initialization
    }
    @Schedule(second = "1/1", minute = "*", hour = "*",persistent = false)
    public void runSchedulers() {
        logger.info("EJB scheduler pulse start at : " + new Date());
        try {
            schedulerInterface.pulseEverySecond();
            logger.info("EJB scheduler pulse end at : " + new Date());
        } catch (Exception e) {
            logger.error("Error in EJB scheduling : ", e);
        }
    }

}

Но я неоднократно получаю следующее предупреждение во время развертывания JBOSS. Кто-нибудь может сказать мне, как решить эту проблему?

Предыдущее выполнение таймера [ShedularBean] все еще выполняется, пропуская это перекрывающееся запланированное выполнение в: [Timestamp], поскольку состояние таймера IN_TIMEOUT

1 ответ

Поскольку вы выполняете задачу каждую секунду, это означает, что предыдущая запланированная задача (из текущей секунды-1) все еще выполняется, когда текущая задача запланирована.

Следовательно, jboss сообщает вам, что пропустит это выполнение.

Обратитесь к этому для получения дополнительной информации: https://issues.jboss.org/browse/AS7-3119

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