我正在尝试找到使用quartz实现超时的最佳方法,但我想知道这个框架是否已经包含一个类或接口来执行它。需要实现它的超时是因为我想知道工作了多长时间,并且决定关闭工作。
答案 0 :(得分:8)
因为java平台没有提供任何停止线程的方法,所以Quartz没有提供任何方法来停止在线程上执行的作业。
乔布斯需要自己照顾自己,因为Quartz不知道他们的execute()方法中有什么代码。
我建议在作业execute()方法的开头使用System.currentTimeMillis()来记录当前时间,然后每次通过作业的主循环再次使用它来获取当前时间。查看差异以查看您的最长时间是否已经过去,如果是这样,则从主循环中退出并退出execute()方法。