@Schedule的Persistent = false在JBoss AS 7.1.1中不起作用

时间:2013-12-06 04:55:58

标签: ejb java-ee-6 java-7

我从下面的代码中理解的是,无论何时服务器崩溃或我停止服务器内的已部署工件,Persistent = false都应该清理计时器,这意味着无论何时应用程序再次运行,它都不会尝试运行应该运行的作业。 所以从我的角度来看,这是来自JBoss AS 7.1.1的错误,但是我找不到修复/解决方法。

@Singleton
public class RetrieveScheduledJob
{           
    @Schedule(minute = "0,10,20,30,40,50", hour = "*", persistent = false)
    synchronized public void runRetrieve() throws InterruptedException
.
.
.
}

另一个小问题是,由于上述问题,我可能会同时运行相同的作业。我试着用synchronized和@Singleton修复,但也许我错过了什么。

JDK1.7_u45
JBoss AS 7.1.1

由于

1 个答案:

答案 0 :(得分:0)

您是否使用新的AS实例进行了检查,可能您已首先部署了“persistent = true”,并且AS中存在一个错误,如果您将标志从true更改为false,则不会从持久性中删除计划。

这在以后的版本中解决了。