06-jbpm工作流之状态活动State


流程图:



流程图配置文件test.jpdl.xml:

<?xml version="1.0" encoding="UTF-8"?>

<process name="test" xmlns="http://jbpm.org/4.4/jpdl">
   <start name="start1" g="92,46,48,48">
      <transition name="to state1" to="state1" g="-56,-22"/>
   </start>
   <state name="state1" g="205,45,92,52">
      <transition name="to state2" to="state2" g="-56,-22"/>
   </state>
   <state name="state2" g="340,44,92,52">
      <transition name="to end1" to="end1" g="-50,-22"/>
   </state>
   <end name="end1" g="492,47,48,48"/>
</process>


JAVA Code:

package cn.zust.edu.itee.activity;

import java.io.InputStream;

import org.jbpm.api.Configuration;
import org.jbpm.api.ProcessEngine;
import org.jbpm.api.ProcessInstance;
import org.junit.Test;

/**
 * @author 郑勇
 * 2013-7-10 15:13
 * 状态活动(每次到状态时,暂停往后执行到下一步)
 */
public class ProcessStateActivity {

	ProcessEngine processEngine= Configuration.getProcessEngine();
	@Test
	public void testStateActivity(){
		
		//部署流程定义
		//获得当前包中的文件
		InputStream in = this.getClass().getResourceAsStream("test.jpdl.xml");
		processEngine.getRepositoryService()
		             .createDeployment()
		             .addResourceFromInputStream("test.jpdl.xml", in)
		             .deploy();
		
		//启动流程实例
		ProcessInstance pi = processEngine.getExecutionService().startProcessInstanceByKey("test");
		System.out.println("processIntenceId="+pi.getId());
		
	}
	@Test
	public void signal(){
		//让指定的Execution(即:ProcessInstance)向后执行一步
		//(excutionId对应jbpm4_execution表中的“ID_”字段)
		String excutionId = "test.360007";
		processEngine.getExecutionService().signalExecutionById(excutionId);
	}
}



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
目录 一、概述 4 二、第一个流程 5 2.1、开始前的准备 5 2.2 、Hello World 例子 6 三、学习JPDL 11 3.1 、简介 11 3.2 、流程版本(Version) 11 3.3 、流程定义 12 3.3.1 process-definition(流程定义) 12 3.3.2 node(自动节点) 13 3.3.3 start-state(开始状态) 13 3.3.4 end-state(结束节点) 14 3.3.5 state(状态) 14 3.3.6 task-node (任务节点) 15 3.3.7 fork(分支) 16 3.3.8 join(联合) 17 3.3.9 decision(决策) 18 3.3.10 transition(转换) 19 3.3.11 event(事件) 20 3.3.12 action(动作) 20 3.3.13 script(脚本) 22 3.3.14 expression(表达式) 23 3.3.15 variable(变量) 23 3.3.16 handler(句柄) 23 3.3.17 timer(定时器) 24 3.3.18 create-timer(创建定时器) 25 3.3.19 cancel-timer(取消定时器) 26 3.3.20 task(任务) 26 3.3.21 swimlane(泳道) 27 3.3.22 assignment(委派) 28 3.3.23 controller(控制器) 29 3.3.24 process-state 子流程 29 3.3.25 sub-process 子流程 30 3.3.26 condition 条件 30 3.3.27 exception-handler 异常处理 31 小结 33 四、流程任务的分配 37 4.1 assignment-handler方式的任务分配 38 4.2 swimlane方式的任务分配 39 五、JBPM持久化 42 5.1 特殊数据库支持 42 5.2 JBPM数据库的安装 42 5.2 JBPM流程发布 45 5.2.1 搭建JBPM的WEB应用 46 5.2.2 发布第一个流程 48 六、日历(Scheduler) 54 6.1 Scheduler在C/S程序上的应用 54 6.2 Scheduler 在Web上的应用 57 6.3 Scheduler时间的分类 60 七、异步执行 63 八、JBPM流程建模与应用 64 8.1 JBPM的建模工具 64 8.1.1 建模工具的安装 64 8.2 公司报销流程示例 67 8.2.1 流程建模 67 8.2.2 流程数据库搭建 76 8.2.3 构建业务表 79 8.2.4 搭建工程 82 8.2.5 报销流程的发布 83 8.2.6 应用程序搭建 84 九、写在最后 100
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值