如何使用Quartz实现超时?

时间:2010-08-24 14:32:45

标签: java java-ee quartz-scheduler

我正在尝试找到使用quartz实现超时的最佳方法,但我想知道这个框架是否已经包含一个类或接口来执行它。需要实现它的超时是因为我想知道工作了多长时间,并且决定关闭工作。

1 个答案:

答案 0 :(得分:8)

因为java平台没有提供任何停止线程的方法,所以Quartz没有提供任何方法来停止在线程上执行的作业。

乔布斯需要自己照顾自己,因为Quartz不知道他们的execute()方法中有什么代码。

我建议在作业execute()方法的开头使用System.currentTimeMillis()来记录当前时间,然后每次通过作业的主循环再次使用它来获取当前时间。查看差异以查看您的最长时间是否已经过去,如果是这样,则从主循环中退出并退出execute()方法。