我正在使用 Java EE 6 TimerService 来执行一个长时间运行的任务(大约 30 分钟)。这个任务很容易被中断,因为它的业务逻辑大约每 5 秒就会被取消一次。
现在的问题是如何在已执行的方法中获取取消部署应用程序的事件,以便在 Java EE 容器中重新部署和取消部署的情况下取消执行。
例子:
@Singleton
public class AnyClass {
@Schedule(hour = "9", minute="17")
public void service() {
for(i = 1000; i < 1000; i++) {
doSomethingForAbout5Seconds();
// here I want to cancel the execution in
// case of undeployment of the apllication
}
}
}