JBOSS-计时器的Previos执行仍在进行中,计时器状态为IN_TIMEOUT [英] JBOSS - Previos execution of timer is still progress,timer state is IN_TIMEOUT
问题描述
我正在使用JBOSS EAP 6.4。我使用EJB @Shedule批注在ScedulerBean中安排了一些调度程序,如下所示。这里的ShedulerBean是依赖StartupBean的。
I am using JBOSS EAP 6.4 . I have schedule some schedulers in my ScedulerBean using EJB @Shedule annotation as follows. Here the ShedulerBean is dependson 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部署期间,我反复收到以下警告。有人可以告诉我一种解决方法吗?
But, I am repeatedly getting following warning during JBOSS Deployment. Can any one tell me a way to resolve this?
先前执行的计时器[ShedularBean]仍在执行中,
跳过以下重叠的计划执行:[Timestamp],因为计时器
的状态为IN_TIMEOUT
A previous execution of timer [ShedularBean] is still in progress, skipping this overlapping scheduled execution at: [Timestamp] as timer state is IN_TIMEOUT
推荐答案
由于您每秒都在运行任务,这意味着在计划当前任务时(当前second-1中的)先前的计划任务仍在进行中。
Since you are running the task every second, it means that the previous scheduled task (of the current second-1 ) is still in progress when the current task is scheduled.
因此jboss通知您它将跳过此执行。
Hence jboss is informing you that it will skip this execution.
有关更多详细信息,请参考此内容:
https://issues.jboss.org/browse/AS7-3119
Refer this for more details: https://issues.jboss.org/browse/AS7-3119
这篇关于JBOSS-计时器的Previos执行仍在进行中,计时器状态为IN_TIMEOUT的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!