activiti基础操作
基础 操作 activiti
2023-09-14 08:57:15 时间
pre code_snippet_id= 1592150 snippet_file_name= blog_20160229_1_7023778 name= code >package activitiTest;
import java.io.InputStream;
import java.util.List;
import java.util.zip.ZipInputStream;
import org.activiti.engine.ProcessEngine;
import org.activiti.engine.ProcessEngines;
import org.activiti.engine.history.HistoricProcessInstance;
import org.activiti.engine.history.HistoricTaskInstance;
import org.activiti.engine.repository.Deployment;
import org.activiti.engine.runtime.ProcessInstance;
import org.activiti.engine.task.Task;
* activiti基础操作
public class ActTest_jichucaozuo {
// ProcessEngines.getDefaultProcessEngine()会在第一次调用时
// 初始化并创建一个流程引擎,以后再调用就会返回相同的流程引擎。
// 使用对应的方法可以创建和关闭所有流程引擎:ProcessEngines.init() 和
// ProcessEngines.destroy()。
private ProcessEngine processEngine = ProcessEngines
.getDefaultProcessEngine();
* 简单非空判断
* @author:tuzongxun
* @Title: isEmpty
* @param @return
* @return boolean
* @date Feb 29, 2016 12:55:15 PM
* @throws
public boolean isEmpty(Object object) {
if (object instanceof List) {
List list = (List) object;
if (list != null list.size() 0) {
return false;
} else {
return true;
} else {
if (object != null) {
return false;
} else {
return true;
* 部署流程定义(发布流程)
* @author:tuzongxun
* @Title: actDeployement
* @param
* @return void
* @date Feb 29, 2016 12:23:48 PM
* @throws
public void actDeployement() {
// 使用zip文件形式部署流程定义
InputStream inputStream = this.getClass().getClassLoader()
.getResourceAsStream("actTest1.zip");
ZipInputStream zipInputStream = new ZipInputStream(inputStream);
processEngine.getRepositoryService().createDeployment()
.name("activiti测试").addZipInputStream(zipInputStream).deploy();
* 删除流程定义
* @author:tuzongxun
* @Title: deleteDeployement
* @param
* @return void
* @date Feb 29, 2016 12:36:15 PM
* @throws
public void deleteDeployement() {
List Deployment lists = processEngine.getRepositoryService()
.createDeploymentQuery().list();
if (!isEmpty(lists)) {
for (Deployment deployment : lists) {
processEngine.getRepositoryService().deleteDeployment(
deployment.getId());
* 启动流程实例
* @author:tuzongxun
* @Title: startProcessInstance
* @param
* @return void
* @date Feb 29, 2016 12:30:06 PM
* @throws
public void startProcessInstance() {
// 这里根据流程定义的key启动,也可以根据id,还可以在启动的时候加入流程变量,
// 启动流程实例后会获得一个任务task,这里是在流程图中已经写死了任务所有者是张三,因此启动的时候会创建一个任务给张三
String processDefinitionKey = "myProcess";
processEngine.getRuntimeService().startProcessInstanceByKey(
processDefinitionKey);
* 查询当前活动的流程实例
* @author:tuzongxun
* @Title: findCurrentProInstance
* @param
* @return void
* @date Feb 29, 2016 12:53:04 PM
* @throws
public void findCurrentProInstance() {
List ProcessInstance lists = processEngine.getRuntimeService()
.createProcessInstanceQuery().list();
if (!isEmpty(lists)) {
for (ProcessInstance processInstance : lists) {
System.out.println(processInstance.getId());
* 查询个人任务及相关信息
* @author:tuzongxun
* @Title: findMyTask
* @param
* @return void
* @date Feb 29, 2016 12:50:05 PM
* @throws
public void findMyTask() {
// String userName = "张三";
String userName = "李四";
List Task lists = processEngine.getTaskService().createTaskQuery()
.taskAssignee(userName).list();
if (!isEmpty(lists)) {
for (Task task : lists) {
System.out.println(task.getId() + "," + task.getName() + ","
+ task.getAssignee() + "," + task.getCreateTime());
* 完成个人任务
* @author:tuzongxun
* @Title: endMyTask
* @param
* @return void
* @date Feb 29, 2016 1:17:21 PM
* @throws
public void endMyTask() {
String taskId = "5002";
processEngine.getTaskService().complete(taskId);
* 查询历史流程实例
* @author:tuzongxun
* @Title: findHisProInstance
* @param
* @return void
* @date Feb 29, 2016 2:09:14 PM
* @throws
public void findHisProInstance() {
List HistoricProcessInstance lists = processEngine.getHistoryService()
.createHistoricProcessInstanceQuery().list();
if (!isEmpty(lists)) {
for (HistoricProcessInstance hisPro : lists) {
System.out.println(hisPro.getId() + "," + hisPro.getStartTime()
+ "," + hisPro.getEndTime());
* 查询历史任务列表
* @author:tuzongxun
* @Title: findHisTask
* @param
* @return void
* @date Feb 29, 2016 2:13:05 PM
* @throws
public void findHisTask() {
List HistoricTaskInstance lists = processEngine.getHistoryService()
.createHistoricTaskInstanceQuery().list();
if (!isEmpty(lists)) {
for (HistoricTaskInstance hisTask : lists) {
System.out.println(hisTask.getId() + ","
+ hisTask.getAssignee() + "," + hisTask.getName() + ","
+ hisTask.getStartTime() + "," + hisTask.getEndTime());
工作流框架Activiti基本介绍!Activiti Explorer流程控制台介绍和Activiti数据库安装说明 本文是对工作流框架的基本介绍,介绍了工作流流程引擎的用户控制台Activiti Explorer和Activiti的集成环境。对工作流框架Activiti安装数据库以及数据库的使用方式进行说明。介绍了工作流框架Activiti生成用户和群组,流程dingyi以及数据模型的方式等功能,以及功能的启用禁用方式。
涂宗勋 认真生活,快乐工作,保持理想!https://blog.csdn.net/tuzongxun
工作流框架Activiti基本介绍!Activiti Explorer流程控制台介绍和Activiti数据库安装说明 本文是对工作流框架的基本介绍,介绍了工作流流程引擎的用户控制台Activiti Explorer和Activiti的集成环境。对工作流框架Activiti安装数据库以及数据库的使用方式进行说明。介绍了工作流框架Activiti生成用户和群组,流程dingyi以及数据模型的方式等功能,以及功能的启用禁用方式。
涂宗勋 认真生活,快乐工作,保持理想!https://blog.csdn.net/tuzongxun
相关文章
- MySQL基础~~表结构操作
- 【基础】在CSS中绘制三角形及相关应用
- JAVA语言基础
- Maven - Maven基础概念和操作总结
- 【C++】基础及引用
- mongodb基础整理篇————常规操作[二]
- 小白学 Python 爬虫(17):Requests 基础使用
- 小白学 Python(24):Excel 基础操作(下)
- java mongodb 基础系列---查询,排序,limit,$in,$or,输出为list,创建索引,$ne 非操作
- SQL Server调优系列基础篇(索引运算总结)
- js-ECMAScript-4:函数基础
- C#开发Windows服务的基础代码
- mongodb基础整理篇————聚合操作[三]
- mysql常用基础操作语法(二)~~对表的增删改操作【命令行模式】
- 零基础学Python(第二十章 异常处理try)
- Python零基础入门篇㉕〗- Python字典的常用方法
- 【云小课】基础服务第25课 容灾演练:平时多练兵,急时保可用!
- DOM基础及DOM操作HTML
- java jsp基础介绍
- 整理php操作memcache缓存为基础的方法
- 001-poi-excel-基础、单元格使用操作
- Linux基础之shell变量
- SSO之CAS基础及应用视频教程(2)
- java===java基础学习(5)---文件读取,写入操作
- 【CSS】css概述、语法规范、基础选择器_01
- Python操作ppt和pdf基础
- OpenCV(C++)图像处理基础04:图像混合(线性混合操作)