我想检查Job是否已完成。目前我这样做:
if ( traceJob.getState() != Job.WAITING && traceJob.getState() != Job.RUNNING){
但我认为应该有更好的方法来检查。有人有什么好主意吗?
答案 0 :(得分:5)
您可以使用Job.addJobChangeListener
向作业添加侦听器。作业完成时,将调用侦听器的done
方法。有一个JobChangeAdapter
类,其中包含所有IJobChangeListener
方法的默认实现,因此您无需实现所有这些方法。
您可以使用Job.getJobManager().join(family, progress monitor)
等待作业完成。这要求您的Job覆盖belongsTo
方法以测试Job所属的族。还有Job.join()
等待特定工作完成。
答案 1 :(得分:0)
没有办法直接检查它(因为在计划作业运行之前也会返回NONE)。
您可能想要使用添加
布尔 成品= FALSE 对工作。
在初始化时它应该是假的,一旦作业完成就设置为true(在方法done()中某处可能?)