我正在使用JBOSS EAP 6.4。我使用EJB @Shedule注释在我的ScedulerBean中安排了一些调度程序,如下所示。这里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
答案 0 :(得分:2)
由于您每秒都在运行任务,这意味着在安排当前任务时,前一个计划任务(当前第二个)仍然在进行中。
因此jboss通知你它将跳过此执行。
有关详细信息,请参阅此处: https://issues.jboss.org/browse/AS7-3119