论坛首页 Java企业应用论坛

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

浏览 1810 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2011-04-05  
Task Node用来添加任务产生任务实例的。
一个Task Node可以定义多个任务。

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



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



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,那么所有处于打开状态的任务实例都会被结束掉。
  • 大小: 10.2 KB
  • 大小: 40.8 KB
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics