activiti基础应用
来源:互联网 发布:centos五笔拼音输入法 编辑:程序博客网 时间:2024/06/13 13:09
花了这么久的时间,终于把所有的异常都撸完,终于可以撸实例了
package com.shikun.activiti;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.util.List;import java.util.zip.ZipInputStream;import org.activiti.engine.ProcessEngine;import org.activiti.engine.ProcessEngines;import org.activiti.engine.repository.Deployment;import org.activiti.engine.repository.DeploymentBuilder;import org.activiti.engine.repository.ProcessDefinition;import org.activiti.engine.repository.ProcessDefinitionQuery;import org.activiti.engine.runtime.ProcessInstance;import org.activiti.engine.task.Task;import org.activiti.engine.task.TaskQuery;import org.junit.Test;public class HellowWorld { ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine(); /** * 使用默认配置 1、配置文件必须在classpath根目录下 * 2、配置文件名称必须为activiti-context.xml或者activiti.cfg.xml * 3、配置文件中配置对象的id必须为processEngineConfiguration 4、工厂对象的id必须为processEngine */ @Test public void test1(){ ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine(); } /** * 部署流程定义,操作的数据表:act_re_deployment(部署表)、act_re_procdef(流程定义表)、 * act_ge_bytearray(二进制表) * @throws FileNotFoundException */ @Test public void test2() throws FileNotFoundException{ //创建一个部署构建器对象 //方式一:加载单个的流程定义文件 DeploymentBuilder deploymentBuilder = processEngine.getRepositoryService().createDeployment(); //读取流程定义文件 /* deploymentBuilder.addClasspathResource("qjlc.bpmn"); deploymentBuilder.addClasspathResource("qjlc.png"); //部署流程定义 Deployment deployment = deploymentBuilder.deploy(); System.out.println(deployment.getId());*/ //方式二:加载zip文件 ZipInputStream zipInputStream = new ZipInputStream( new FileInputStream(new File("d:\\process.zip"))); deploymentBuilder.addZipInputStream(zipInputStream); deploymentBuilder.deploy(); } /** * 查询流程定义,操作数据表:act_re_procdef */ @Test public void test3(){ //流程定义查询对象 ProcessDefinitionQuery query = processEngine.getRepositoryService().createProcessDefinitionQuery(); List<ProcessDefinition> list = query.list(); for (ProcessDefinition processDefinition : list) { System.out.println("id = "+processDefinition.getId()+"name = "+processDefinition.getName()+"varsion = " +processDefinition.getVersion()+"key = " +processDefinition.getKey()); } } /** * 根据流程定义启动流程实例,操作的数据表:act_ru_execution(流程实例表)、act_ru_task(任务表) * 方式二:根据流程定义key启动流程实例(建议)-----可以根据当前最新版本的流程定义启动流程实例 */ @Test public void test4(){// String processDefinitionId = "qjlc:1:304";// ProcessInstance processInstance = processEngine.getRuntimeService().startProcessInstanceById(processDefinitionId );// System.out.println(processInstance.getId()); String processDefinitionKey ="qjlc"; ProcessInstance processInstance = processEngine.getRuntimeService().startProcessInstanceByKey(processDefinitionKey); System.out.println(processInstance.getId()+processInstance.getProcessDefinitionId()); } /** * 查询个人任务,操作的数据表:act_ru_task(任务表) */ @Test public void test6() { // 任务查询对象 TaskQuery query = processEngine.getTaskService().createTaskQuery(); query.taskAssignee("张三");// 根据办理人过滤 query.orderByTaskCreateTime().desc(); List<Task> list = query.listPage(0, 10); for (Task task : list) { System.out.println("id = " + task.getId() + " name = " + task.getName() + " processInstanceId = " + task.getProcessInstanceId()); } } /** * 办理个人任务,操作的数据表:act_ru_execution(流程实例表)、act_ru_task(任务表) */ @Test public void test7(){ TaskQuery query = processEngine.getTaskService().createTaskQuery(); query.taskAssignee("张三"); query.orderByTaskCreateTime().desc(); List<Task> list = query.list(); for (Task task : list) { System.out.println(task.getId()); } } /** * 删除流程定义 */ @Test public void test8(){ String deploymentId = "701"; //部署id boolean cascade = true; //级联删除 processEngine.getRepositoryService().deleteDeployment(deploymentId, cascade ); } /** * 删除流程实例 */ @Test public void test9(){ String processInstanceId = "1201"; String deleteReason = "不请假了 哈哈哈"; processEngine.getRuntimeService().deleteProcessInstance(processInstanceId, deleteReason); }}
阅读全文
0 0
- activiti基础应用
- Activiti工作流之应用
- Activiti基础介绍-helloworld
- 工作流-Activiti-基础认识
- activiti基础操作
- Activiti 基础总结一
- Activiti 基础总结二
- Activiti 基础概念 笔记
- Activiti(一)--基础
- activiti基础操作方法
- Activiti 基础概念
- Activiti 基础概念
- Activiti工作流简单入门应用
- Activiti外置表单简单应用
- Activiti工作流的应用示例
- Java Activiti(1)---基础流程
- [工作流activiti]-01.基础篇
- Activiti从零到应用:一、运行Activiti的Demo
- keepalived高可用部署_单实例——rpm版
- Linux <getopt>
- [Lintcode]二叉树的最大节点
- C++作业6
- cin.ignore()函数的用法
- activiti基础应用
- 页式虚拟存储与TLB快表
- 【IE11】兼容低IE版本的设置方法
- cartographer源码分析
- ListView下拉刷新上拉加载的实现与使用
- Openstack : 11、openstack中api-paste配置项的解释
- IE11控制台加载后,内容空白
- 霍夫变换-检测直线
- Android中简便使用数据库的方法:LitePal的使用方法