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

本文介绍如何在JPDL流程定义中为Node节点添加Action和事件,包括使用Handler实现Action的具体步骤,并附带测试代码及结果分析。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.为该Node节点添加Action
选中Node节点,通过Properties窗口切换到Action标签页,action的实现方式有两种,一种是Expression,输入JPDL表达式来定义具体的Action;另一种是Handler,选择一个具体的Java类来处理Action.这里选择Handler方式,设置如下:

[img]http://dl.iteye.com/upload/attachment/454288/6fc6a063-efb9-3322-91a4-36d36abeb9f0.jpg[/img]

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节点的事件如下:

[img]http://dl.iteye.com/upload/attachment/454297/bc7b7690-6add-3730-a10c-1e37ed884de4.jpg[/img]

再次运行上面测试代码

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

4.Node的几个常用属性
action,script,create-timer,cancel-timer
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值