2015-07-14 4 views
3

Я использую JBOSS EAP 6.4. У меня есть график некоторых планировщиков в моем ScedulerBean, используя аннотацию EJB @Srate следующим образом. Здесь ShedulerBean зависит от StartupBean.JBOSS - Выполнение таймера все еще продолжается, состояние таймера IN_TIMEOUT

@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

+0

Как избавиться от этого сообщения? – Tiny

ответ

2

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

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

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

+1

Спасибо. что мы можем избавиться от этого сообщения? это уходит, если мы увеличим период времени? –

Смежные вопросы