Activiti7中获取任务所在的节点id

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

在之前的文章中,我们可以获取到指定节点id下的所有任务,那么如果我们通过一个taskId取到该任务后,是否能得到该任务所在的节点id呢?

答案是肯定的,我们可以通过historyService.createHistoricActivityInstanceQuery()里指定processInstanceId和activityName(这里就是taskName,因为任务名和节点名是一样的)来获得所在节点对象,再获取id即可。这种方法肯定可以,但是我们没有必要这么麻烦,因为activiti中封装好的Task对象中就已经有了节点id这个字段,只不过光看名字是不容易发现的,它的名字是TaskDefinitionKey,点到源码中看到注释可以发现它就是节点id

The id of the activity in the process defining this task or null if this is not related to a process

OK,所以我们需要取Task对象中的TaskDefinitionKey属性就行了。

ZPY

发表评论

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