Timer WEBLOGIC\u计时器中存在重复的计时器条目

Timer WEBLOGIC\u计时器中存在重复的计时器条目,timer,ejb,weblogic-10.x,Timer,Ejb,Weblogic 10.x,我正在使用WebLogic 10.3.5群集环境。 我的应用程序包括一个EJB计时器,我实现了如下所示的支持。 计时器是为一个具有确定超时的单次放炮创建的,然后在完成其工作后再次创建。换言之: 创建具有(比如)5分钟超时的计时器 计时器启动并开始工作 作业结束,并创建一个具有相同周期的新计时器 据我所知,应用服务器在触发一次性计时器时会自动取消它们 我正在处理一个非常严重的问题,因为现在我有大量的计时器实例。 在WEBLOGIC_TIMERS表中,我找到了很多条目,而不是一个条目。它们都有不

我正在使用WebLogic 10.3.5群集环境。 我的应用程序包括一个EJB计时器,我实现了如下所示的支持。 计时器是为一个具有确定超时的单次放炮创建的,然后在完成其工作后再次创建。换言之:

  • 创建具有(比如)5分钟超时的计时器
  • 计时器启动并开始工作
  • 作业结束,并创建一个具有相同周期的新计时器
据我所知,应用服务器在触发一次性计时器时会自动取消它们

我正在处理一个非常严重的问题,因为现在我有大量的计时器实例。 在WEBLOGIC_TIMERS表中,我找到了很多条目,而不是一个条目。它们都有不同的开始时间值和间隔=-1

这是一个生产环境,所以我几乎没有或根本没有访问权。Weblogic节点已重新启动,但没有任何更改


我怎样才能解决这个问题?我可以从WEBLOGIC\u定时器中删除行吗?

事实证明,集群WEBLOGIC服务器和dbms服务器之间的系统日期即使存在微小差异,也会导致我描述的问题。
在系统管理员对它们进行同步后,问题消失了。

有关这种奇怪行为的更多信息。询问计时器实例下一个超时和剩余时间(javax.ejb.timer中的getNextTimeout()和getTimeRestaining()方法),我分别得到过去和大约24小时的日期。DBMS与Weblogic集群位于不同的服务器上,因此我请某人检查系统日期的差异。Oracle服务器比weblogic服务器早几分钟。这能解释吗?怎么做?