深入浅出JBPM读书笔记(七)_流程节点详解3_Task Node节点详解

Task Node用来添加任务产生任务实例的。
一个Task Node可以定义多个任务。

1.新建一个名为nodetesk的流程模板,如下图

[img]http://dl.iteye.com/upload/attachment/454314/cda32873-122e-3683-a48c-49b8e1fc5bb7.jpg[/img]

2.为Task Node结点创建任务,并设定任务的分配方式,如下图

[img]http://dl.iteye.com/upload/attachment/454316/b0635065-9cf5-3725-bae5-74d3f2fb9dd5.jpg[/img]

3.任务分配示例

package assignment;

import org.jbpm.graph.exe.ExecutionContext;
import org.jbpm.taskmgmt.def.AssignmentHandler;
import org.jbpm.taskmgmt.exe.Assignable;
/**
* 对TaskNode节点进行任务分配
*
*/
public class TestAssignment implements AssignmentHandler {

public void assign(Assignable assignable, ExecutionContext executionContext)
throws Exception {

assignable.setActorId("user1");

}

}


4.将该流程模版发布到数据库
5.测试
JbpmContext jbpmContext = JbpmConfiguration.getInstance().createJbpmContext();

try{

ProcessDefinition processDefinition = jbpmContext.getGraphSession().findLatestProcessDefinition("nodetest");

ProcessInstance processInstance = processDefinition.createProcessInstance();

Token token = processInstance.getRootToken();

token.signal();

System.out.println("当前流程所在的节点名为:"+token.getNode().getName());

}finally{

jbpmContext.close();

}


6.查看表jbpm_taskinstance是否已经成功地插入一条数据,如果成功,证明这条任务创建成功

7.Task Node节点的几个主要属性
signal:如果一个Task Node节点里产生了多个任务实例,可通过这个属性来设置怎样完成任务实例来影响流程的继续执行
create-tasks:当流程流转到Task Node时是否创建自动创建任务实例,默认值为true
end-tasks:默认为false,表示当流程实例流转到该Task Node上时,如果不通过结束该节点上对应的任务实例来使流程向下流转,而是直接调用该节点上对应的Token使流程向下流转,那么所有的任务实例状态不会改变。如果设为true,那么所有处于打开状态的任务实例都会被结束掉。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值