浏览 1452 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2011-04-04
最后修改:2011-04-04
选中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 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |