从WebSphere Console中删除EJB计时器任务

时间:2014-02-06 21:34:55

标签: java java-ee timer ejb-3.1 websphere-7

我有一个EJB应用程序,并使用EJB Timer将一些任务(持久化数据库序列ID)放在其上,并且一旦到期,就会从Timer中删除任务并调用某些方法。

我的情况是,在EJB Timer中有大量任务,每当Timer Timeout从Timer获取每个任务并尝试调用某些必须更新某个与任务ID相关联的数据库的方法时。我发现了一些在数据库移动过程中从数据库中删除所有任务的方法。

现在Ejb Timer不断重复超时,任务不断在日志中抛出异常。我不知道如何从EJB Timer中删除这些任务,因此它不会尝试使用不再存在的每个任务ID调用方法。

任何帮助将不胜感激!

谢谢!

2 个答案:

答案 0 :(得分:2)

无法从管理控制台中删除计时器,但您可以使用WAS_HOME/bin/cancelEJBTimers命令将其删除。您可以先使用findEJBTimers命令查看它们。

答案 1 :(得分:-1)

cancelEJBTimer.sh下使用/opt/IBM/WebSphere/AppServer/bin命令 (你的路径可能不同)。

不要放任何服务器名称和过滤器,它会显示指令。杀死僵尸任务非常容易。