Activiti7根据taskId获取任务

  • A+
所属分类:工作流引擎

Activiti7中根据taskId获取任务,这个问题看起来很简单,不就是调用taskRuntime的tasks()方法吗?一开始我也是这样认为的,当时测的感觉没有什么总是,但真正深入测试时才发现问题。

如果一个任务已经完成了,那么你调用taskRuntime.tasks()方法就会报错任务不存在,这是因为在activiti7中,taskRuntime只能查询进行中的任务,从名字中的runtime也可以发现这一点,而历史任务则需要用historyService.createHistoricTaskInstanceQuery().taskId(taskId)来查询任务而且这个方法里不仅仅能查询已完成的任务,也包括进行中的任务,也就是包括了所有任务!

OK,到此问题已经解决,我们如果想实现给定任意一个taskId,查出它对应的任务,那么我们直接用historyService.createHistoricTaskInstanceQuery()就可以了。

ZPY

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: