在jbpm的流程设计中,存在名为Task的节点,当该流程流转到该节点时,jbpm会在jbpm4_task表中创建相应的task实例。在task节点中存在两种属性,分别为assignee和candidate-user,可以为该task对象定义不同的参与者,下面是对两种属性的总结
关于assignee:
用于定义当前task的参与者。当某流程流转到该task对象时,该task对象便会与assignee建立关联,在代码中使用类似
taskService.findPersonalTasks(assignee)
的代码便可以获得当前用户所有的task列表,这样就可以很方便的查询到当前用户下所有的代办任务的
taskService.findGroupTasks(username)
列表。当用户执行了
taskService.completeTask(taskId , outcome)
之后,Jbpm会将该task对象从数据库中删除,这样就意味着该task的生命周期结束了。
关于candidate-user:
这个参数更类似于为某个组的成员分配的任务。candidate-user参数要求值的格式是多个字符串,中间以逗号分隔。当某流程流传到该task对象时