论坛首页 Java企业应用论坛

深入浅出JBPM读书笔记(六)_流程节点详解2_Node节点详解

浏览 1452 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2011-04-04   最后修改:2011-04-04
1.为该Node节点添加Action
选中Node节点,通过Properties窗口切换到Action标签页,action的实现方式有两种,一种是Expression,输入JPDL表达式来定义具体的Action;另一种是Handler,选择一个具体的Java类来处理Action.这里选择Handler方式,设置如下:


public class TestActionHandler implements ActionHandler {

	public void execute(ExecutionContext context) throws Exception {
		System.out.println("采用action handler方式执行结果。。。");
	}

}


测试
package com.test;
@Test
	public void testNodeAction(){
		ProcessDefinition processDefinition = ProcessDefinition
				.parseXmlResource("helloworld/processdefinition.xml");
		ProcessInstance processInstance = processDefinition
				.createProcessInstance();

		Token token = processInstance.getRootToken();

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

		//让流程实例向下流转一步
		token.signal();
		
		//state1
		System.out.println("2 当前流程所处的节点名称:" + token.getNode().getName());

		token.signal();

		//自动执行node1节点,流程向下流转,停留在state2
		System.out.println("3 当前流程所处的节点名称:" + token.getNode().getName());
		
		token.signal();
	}


2.为Node节点添加事件
设置Node节点的事件如下:



再次运行上面测试代码

3.结果分析
Node节点上定义的action会在Node节点在node-enter执行后且node-leave执行前执行

4.Node的几个常用属性
action,script,create-timer,cancel-timer
  • 大小: 40.4 KB
  • 大小: 27.9 KB
论坛首页 Java企业应用版

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