Activiti工作流笔记(4)
Activiti工作流启动流程
/**
* 启动流程
*
*/
public class ActivitiTest2 { RepositoryService repositoryService; RuntimeService runtimeService; @Before
public void setUp() throws Exception {
//获取流程引擎,配置文件必须命名为activiti.cfg.xml
ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
//获取流程定义
repositoryService = processEngine.getRepositoryService(); runtimeService = processEngine.getRuntimeService();
} /**
* 启动流程
* select * from act_ru_execution;-- 运行时流程执行实例表
* select * from act_hi_procinst;-- 历史流程实例表
* select * from act_ru_task;-- 运行时任务节点表
* select * from act_hi_taskinst;-- 历史任务实例表
* select * from act_hi_actinst;-- 历史节点表
*/
@Test
public void startProcess(){
//根据流程定义的key,如果相同定义有多个,那么启动最高版本那个
//runtimeService.startProcessInstanceByKey("activiti_leave");
//启动其他版本,需要根据流程定义的id来启动
ProcessInstance processInstance = runtimeService.startProcessInstanceById("activiti_leave:2:504");
System.out.println("流程实例ID:" + processInstance.getId());
System.out.println("正在活动的流程节点ID:" + processInstance.getActivityId());
System.out.println("流程定义ID:" + processInstance.getProcessDefinitionId());
} /**
* 查询流程实例
*/
@Test
public void queryProcessInstance() {
//创建流程实例查询对象
ProcessInstanceQuery processInstanceQuery = runtimeService.createProcessInstanceQuery();
List<ProcessInstance> processInstanceList = processInstanceQuery
.processDefinitionKey("activiti_leave")//根据流程定义的key(activiti_leave)来查询
.orderByProcessDefinitionKey()//根据流程定义的key排序
.desc()//倒序排序
.list();
for (ProcessInstance processInstance : processInstanceList) {
System.out.println("流程实例ID:" + processInstance.getId());
System.out.println("正在活动的流程节点ID:" + processInstance.getActivityId());
System.out.println("流程定义ID:" + processInstance.getProcessDefinitionId());
} //processInstanceQuery.singleResult(); //如果能确定查询的结果只有一条,可以使用这个查询单个流程实例。多个结果情况就会报错
} }
Activiti工作流笔记(4)的更多相关文章
- Activiti工作流笔记(3)
Activiti工作流的流程部署和删除流程部署 流程部署代码: /** * 部署流程 */ public class ActivitiTest { RepositoryService reposito ...
- Activiti工作流笔记(2)
1.Activiti工作数据表 Activiti用来存放流程数据的表共使用23张表,表名都是以"ACT_"开头,底层操作默认使用mybatis操作 工作流Activiti的表是用来 ...
- activiti工作流笔记
什么是activiti? Activiti是一个身经百战的业务流程管理引擎, 并且还是一个流程平台 为什么要用工作流引擎? 简单来说,就是为了统一管理流程业务. 想想看,如果要设计一个流程的程序,通常 ...
- Activiti工作流笔记(1)
Activiti下载地址: eclipse的activiti插件下载地址:http://www.activiti.org/designer/archived/activiti-designer-5.1 ...
- Activiti工作流学习笔记一
Activiti工作流 一:Activiti第一天 1:工作流的概念 说明: 假设:这两张图就是华谊兄弟的请假流程图 图的组成部分: 人物:范冰冰冯小刚王中军 事件(动作):请假.批准.不批准 工作流 ...
- Activiti工作流框架学习笔记(二)之springboot2.0整合工作流Activiti6.0
以前在工作当中做过不少与工作流Activiti有关的工作,当时都是spring集成activiti5.22的项目,现在回过头去看,其实版本已经稍微老了,因此,基于先前的工作经验,决定用较新版本的技术来 ...
- Activiti工作流学习笔记(三)——自动生成28张数据库表的底层原理分析
原创/朱季谦 我接触工作流引擎Activiti已有两年之久,但一直都只限于熟悉其各类API的使用,对底层的实现,则存在较大的盲区. Activiti这个开源框架在设计上,其实存在不少值得学习和思考的地 ...
- Activiti工作流学习笔记(四)——工作流引擎中责任链模式的建立与应用原理
原创/朱季谦 本文需要一定责任链模式的基础,主要分成三部分讲解: 一.简单理解责任链模式概念 二.Activiti工作流里责任链模式的建立 三.Activiti工作流里责任链模式的应用 一.简单理解责 ...
- Activiti 学习笔记记录(二)
上一篇:Activiti 学习笔记记录 导读:对于工作流引擎的使用,我们都知道,需要一个业务事件,比如请假,它会去走一个流程(提交申请->领导审批---(批,不批)---->结束),Act ...
随机推荐
- Python入门之安装numpy和pandas
最近要对一系列数据做同比比较,需要用到numpy和pandas来计算,不过使用python安装numpy和pandas因为linux环境没有外网遇到了很多问题就记下来了. 首要条件,python版本必 ...
- 20145304 Exp8 Web基础
20145304 Exp8 Web基础 实验后回答问题 (1)什么是表单 表单用于搜集不同类型的用户输入,由三个基本组成部分表单标签.表单域.表单按钮.表单提交有两种方法,分别是get和post,使用 ...
- C++ 文件大小格式化
#include <iostream> #include <windows.h> using namespace std; /*文件大小格式化 *param [in] dwSi ...
- TeeChart缩放
//缩放的技巧 //首先找到待缩放的区域,例如横轴x1-x2,纵轴y1-y2 //那么待放到的区域就是x=x1;x=x2;y=y1;y=y2;这四条线组成的矩形 //首先确定矩形的左上角的坐标,然后确 ...
- shell 浮点运算
浮点运算 let 和 expr 都无法进行浮点运算,但是 bc 和 awk 可以. 范例:求 除以 ,保留 位有效数字 $ echo "scale=3; 1/13" | bc . ...
- html禁止文本输入框记录输入记录,单击input出现输入过的记录
其实方法很简单,只需要在input文本输入框中加一条autocomplete="off"属性即可. <input type="text" name=&qu ...
- nginx 启停命令
nginx 启停配置 #!/bin/sh # # nginx Startup script for nginx # # chkconfig: - 85 15 # processname: nginx ...
- [STL][C++]STACK QUEUE
参考:http://www.cnblogs.com/mfryf/archive/2012/08/09/2629992.html stackstack 模板类的定义在<stack>头文件中. ...
- HttpClient的用法总结
使用HttpClient连接服务端的步骤: 1.创建HttpClient客户端对象 HttpClient client = new DefaultHttpClient(); 2.创建请求对象 ...
- 消息/事件, 同步/异步/协程, 并发/并行 协程与状态机 ——从python asyncio引发的集中学习
我比较笨,只看用await asyncio.sleep(x)实现的例子,看再多,也还是不会. 已经在unity3d里用过coroutine了,也知道是“你执行一下,主动让出权限:我执行一下,主动让出权 ...