微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

WFLYEJB0043:定时器的前一个执行仍在进行中,在

如何解决WFLYEJB0043:定时器的前一个执行仍在进行中,在

我使用的是 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.

此问题可能的根本原因是什么? 如何解决这个问题? 此问题主要发生在 TEST 环境中。请帮助。

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

解决方法

部署正在安排一个 EJB 计时器,该时间间隔在 JBoss 进入启动状态之前到期。由于 JBoss 处于挂起状态,直到它完成所有部署,计时器可以在它被允许之前看起来触发,因此一旦 JBoss 进入启动状态,您将看到一些警告,表明计时器无法调用,因为 JBoss 没有完成所有部署。

因此可以忽略这些警告。

根本原因: EJB 3.2 规范部分 [13.4.3 Timer Expiration and Timeout Callback Method] 有一段与此主题有些相关:

在容器崩溃或容器关闭的情况下,任何在容器重启前的干预时间内过期的单事件持久计时器必须导致在重启时调用相应的超时回调方法。任何间隔持久性定时器或基于调度的持久性定时器在干预时间内过期必须导致相应的超时回调方法在重启时至少被调用一次。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。