jboss WFLYEJB0043:计时器的上一次执行仍在进行中,正在跳过此重叠的调度执行

w80xi6nr  于 2022-11-08  发布在  其他
关注(0)|答案(1)|浏览(84)

我使用的是jbpm 7.37版本。我们使用的是wildfly 14.0。刚部署war文件后,服务器异常给出以下错误:

WARN  [org.jboss.as.ejb3.timer] (EJB default - 2) WFLYEJB0043: A previous execution of timer [id=6
9baf0d9-60b4-4775-982b-bf525682df3d timedObjectId=business-central.business-central.FileSystemDeleteWorker auto-timer?:tru
e persistent?:false timerService=org.jboss.as.ejb3.timerservice.TimerServiceImpl@1ed2f93a initialExpiration=null intervalD
uration(in milli sec)=0 nextExpiration=Thu Apr 08 03:48:00 UTC 2021 timerState=IN_TIMEOUT info=null] is still in progress,
 skipping this overlapping scheduled execution at: Thu Apr 08 03:58:24 UTC 2021.

这个问题可能的根本原因是什么?如何解决这个问题?这个问题大多发生在测试环境中。请帮助。

注意:我们已经制作了自定义REST API并部署在kie-server.war文件中。此问题导致我的kie-server.war文件无法进一步使用,因此我们的自定义API不可用,并使应用程序关闭。这是我们面临的严重问题。请帮助。

cngwdvgl

cngwdvgl1#

部署正在调度EJB计时器,该计时器的时间间隔在JBoss进入已启动状态之前过期。由于JBoss在完成部署所有内容之前处于挂起状态,因此计时器可能会在被允许之前触发,因此,一旦JBoss进入已启动状态,您将看到一些警告,指示由于JBoss尚未完成部署所有内容而无法调用计时器。
因此这些警告可以忽略。
根本原因:EJB 3.2规范部分[13.4.3计时器过期和超时回调方法]有一段与此主题有些相关:
在容器崩溃或容器关闭的情况下,在容器重新启动之前的间隔时间内过期的任何单事件持久性计时器必须在重新启动时调用相应的超时回调方法。在间隔时间内过期的任何间隔持久性计时器或基于计划的持久性计时器必须在重新启动时至少调用一次相应的超时回调方法。

相关问题