JBPM4入门——6.流程实例的创建和执行
本博文只是简要对JBPM4进行介绍,如需更详细内容请自行google
链接:
JBPM入门系列文章:
JBPM4入门——2.在eclipse中安装绘制jbpm流程图的插件
JBPM4入门——4.封装流程管理的工具类(JbpmUtil)
package com.test.test; import java.util.Iterator;
import java.util.List; import org.jbpm.api.ProcessDefinition;
import org.jbpm.api.ProcessDefinitionQuery;
import org.jbpm.api.ProcessInstance; import com.test.util.JbpmUtil; public class Test { /**
* 流程定义的发布
* @param jpdlFileName 流程定义的文件名。例如:hello.jpdl.xml
*/
public void deploy(String jpdlFileName){
JbpmUtil.getRepositoryService()
.createDeployment()
.addResourceFromClasspath(jpdlFileName)
.deploy();
} /**
* 流程定义的查询
*/
public void query(){
ProcessDefinitionQuery query
= JbpmUtil.getRepositoryService().createProcessDefinitionQuery();
List<ProcessDefinition> list = query.list();
for (Iterator iterator = list.iterator(); iterator.hasNext();) {
ProcessDefinition processDefinition = (ProcessDefinition) iterator
.next();
/**
* id:流程定义的id
* key:就是流程定义的文件名称 、相同的key下面有不同的id
* deploymentId:表达的是这次动作发布的时候数据库中存储的那条记录的主键id
*/
System.out.println("id:"+processDefinition.getId());
System.out.println("key:"+processDefinition.getKey());
System.out.println("deploymentId:"+processDefinition.getDeploymentId());
}
} /**
* 流程定义的删除
* @param deploymentId
*/
public void del(String deploymentId){
//deleteDeploymentCascade 级联删除:删除流程定义的时候把流程实例也删了..
JbpmUtil.getRepositoryService().deleteDeploymentCascade(deploymentId);
} /**
* 创建流程实例
* @param key 流程定义的key
* @return 返回创建的流程实例
*/
public ProcessInstance createInstance(String key){
//虽然说多个实例的key相同。但是startProcessInstanceByKey通过key来启动的话会默认找到最新版本的流程定义、并创建相应的流程实例
return JbpmUtil.getExecutionService().startProcessInstanceByKey(key);
} /**
* 执行流程实例 :只按线条的顺序执行
* @param processInstanceId
* @return
*/
public ProcessInstance execute(String processInstanceId){
return JbpmUtil.getExecutionService().signalExecutionById(processInstanceId); } /**
* 执行流程实例2:通过transition 指向的路径根据名字执行(to state1 to state2 to end1......)
* @param processInstanceId
* @return
*/
public ProcessInstance execute(String processInstanceId,String transitionName){
return JbpmUtil.getExecutionService().signalExecutionById(processInstanceId,transitionName); } public static void main(String[] args) {
Test test = new Test();
// test.deploy("hello.jpdl.xml");//流程定义的发布
test.deploy("simple2.jpdl.xml");//流程定义的发布
// test.query();//流程定义的查询
// test.del("10001");//删除流程定义
test.createInstance("simple2");//创建流程实例
// test.execute("simple.70001");//执行流程实例
// test.execute("simple.70001","to end1");//执行流程实例 }
}
JBPM4入门——6.流程实例的创建和执行的更多相关文章
- JBPM4入门——5.流程定义的发布、查询、删除
本博文只是简要对JBPM4进行介绍,如需更详细内容请自行google 链接: JBPM入门系列文章: JBPM4入门——1.jbpm简要介绍 JBPM4入门——2.在eclipse中安装绘制jbpm流 ...
- Activiti 流程实例、任务、执行对象及相关的表
一个流程中,流程实例只有一个,执行对象可以有多个(如果存在分支和聚合) SELECT * FROM activiti.act_ru_execution a; #正在执行的执行对象表 SELECT * ...
- 【JBPM4】查询流程实例当前所在节点
示例代码: ProcessEngine processEngine = Configuration.getProcessEngine(); ExecutionService executionServ ...
- JBPM4入门——4.封装流程管理的工具类(JbpmUtil)
本博文只是简要对JBPM4进行介绍,如需更详细内容请自行google 链接: JBPM入门系列文章: JBPM4入门——1.jbpm简要介绍 JBPM4入门——2.在eclipse中安装绘制jbpm流 ...
- JBPM4入门——9.自动节点单线执行
JBPM入门系列文章: JBPM4入门——1.jbpm简要介绍 JBPM4入门——2.在eclipse中安装绘制jbpm流程图的插件 JBPM4入门——3.JBPM4开发环境的搭建 JBPM4入门—— ...
- JBPM4入门——8.等待节点的分支执行
JBPM入门系列文章: JBPM4入门——1.jbpm简要介绍 JBPM4入门——2.在eclipse中安装绘制jbpm流程图的插件 JBPM4入门——3.JBPM4开发环境的搭建 JBPM4入门—— ...
- JBPM4入门——7.等待节点的单条线手动执行
本博文只是简要对JBPM4进行介绍,如需更详细内容请自行google 链接: JBPM入门系列文章: JBPM4入门——1.jbpm简要介绍 JBPM4入门——2.在eclipse中安装绘制jbpm流 ...
- JBPM4入门——3.JBPM4开发环境的搭建
本博文只是简要对JBPM4进行介绍,如需更详细内容请自行google 链接: JBPM入门系列文章: JBPM4入门——1.jbpm简要介绍 JBPM4入门——2.在eclipse中安装绘制jbpm流 ...
- JBPM4入门——2.在eclipse中安装绘制jbpm流程图的插件
本博文只是简要对JBPM4进行介绍,如需更详细内容请自行google 链接: JBPM入门系列文章: JBPM4入门——1.jbpm简要介绍 JBPM4入门——2.在eclipse中安装绘制jbpm流 ...
随机推荐
- JS之事件(一)
事件:交互 异步监听,不是JS引擎监听的 一.绑定 1.ele.onxxxx(eg:onclick) = function (e) { //回调函数/事件处理函数 } 兼容性很好,但同一个事件仅能绑定 ...
- lintcode:形状工厂
题目 工厂模式是一种常见的设计模式.实现一个形状工厂 ShapeFactory 来创建不同的形状类.这里我们假设只有三角形,正方形和矩形三种形状. 样例 ShapeFactory sf = new S ...
- JavaWeb项目开发案例精粹-第6章报价管理系统-002辅助类及配置文件
1. <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www ...
- 有直接运行的runas命令,XP就有
net user administrator /active:yes runas /user:ComputerName\Administrator /savecred “C:\Path\To\Prog ...
- Spring笔记——配置Hibernate框架事务
原文:http://www.iteye.com/topic/1123347 Spring配置文件中关于事务配置总是由三个组成部分,DataSource.TransactionManager和代理机制这 ...
- 针对安卓java入门:方法的使用
[修饰符]返回值类型 方法名 (形式参数表){ 程序代码; return 返回值; } 例子: public class Test { //方法一 public static void printIn ...
- Adb connection Error:远程主机强迫关闭了一个现有的连接 解决方法
用真机调试程序的时候,eclipse 的 Console 总是出现如下的错误"Adb connection Error:远程主机强迫关闭了一个现有的连接". 问题出现的原因:这是 ...
- linux 配置 wlan 连接
第一步,先确定你已经安装了无线网卡驱动.我的是 ath9k ,linux 内核不自带,现编译成模块 然后安装上.具体步骤请自行搜索 linux 编译内核 第二步,起用模块 modprobe ath9k ...
- MySQL:创建、修改和删除表
其实对很多人来说对于SQL语句已经忘了很多,或者说是不懂很多,因为有数据库图形操作软件,方便了大家,但是我们不能忘记最根本的东西,特别是一些细节上的东西,可能你用惯了Hibernate,不用写SQL语 ...
- 《c程序设计语言》读书笔记--多个空格变为一个空格
#include <stdio.h> int main() { int c; int flag = 0; while((c = getchar()) != EOF) { if(c == ' ...