Activiti学习笔记8 — UserTask私有任务的使用
每一个UserTask都会在Execution表和Task表中各产生一条记录
一、创建流程引擎对象
- /**
- * 1、创建流程引擎对象
- */
- private ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
二、发布一个流程
- /**
- * 2、发布一个流程
- */
- @Test
- public void testDeployProcess() {
- RepositoryService repositoryService = processEngine.getRepositoryService();
- DeploymentBuilder builder = repositoryService.createDeployment();
- // 加载发布资源
- builder.name("UserTask私有任务流程测试") // 设置流程显示别名
- .addClasspathResource("userSigleTask.bpmn") // 设置流程规则文件
- .addClasspathResource("userSigleTask.png"); // 设置流程规则的图片
- // 发布流程
- builder.deploy();
- }
三、启动流程、执行任务,并查看状态
- /**
- * 3、启动流程、执行任务,并查看状态
- */
- @Test
- public void testUserTask() {
- // 获取RuntimeService服务对象的实例
- RuntimeService runtimeService = processEngine.getRuntimeService();
- String processDefinitionKey = "userSingleTask";
- // 自动执行与Key相对应的流程的最高版本
- ProcessInstance processInstance = runtimeService.startProcessInstanceByKey(processDefinitionKey);
- String processInstanceId = processInstance.getId();
- logger.info("processInstanceId:" + processInstance.getId());
- // 获取TaskService服务对象的实例
- TaskService taskService = processEngine.getTaskService();
- String assignee = "user";
- List<Task> tasks = taskService.createTaskQuery().taskAssignee(assignee).list();
- Assert.assertEquals(, tasks.size());
- Task task = tasks.get();
- logger.info("taskName:" + task.getName());
- Assert.assertEquals("出差",task.getName());
- //完成任务
- taskService.complete(task.getId());
- //检查结束状态
- ProcessInstance pInstance = runtimeService
- .createProcessInstanceQuery()
- .processInstanceId(processInstanceId)
- .singleResult();
- Assert.assertNull(pInstance);
- logger.info("UserTask私有任务流程成功执行!");
- }
四、执行结果
[INFO][2015-12-02 10:07:24,169][com.mcs.activiti.test.TestPrivateUserTask]processInstanceId:112501
[INFO][2015-12-02 10:07:24,223][com.mcs.activiti.test.TestPrivateUserTask]taskName:出差
[INFO][2015-12-02 10:07:24,576][com.mcs.activiti.test.TestPrivateUserTask]UserTask私有任务流程成功执行!
Activiti学习笔记8 — UserTask私有任务的使用的更多相关文章
- Activiti学习笔记9 — UserTask共有任务的使用
1.创建流程引擎对象 private ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine(); 2.发布一个流程 ...
- Activiti学习笔记目录
1.Activiti学习笔记1 — 下载与开发环境的配置: 2.Activiti学习笔记2 — HelloWorld: 3.Activiti学习笔记3 — 流程定义: 4.Activiti学习笔记4 ...
- activiti学习笔记一
activiti学习笔记 在讲activiti之前我们必须先了解一下什么是工作流,什么是工作流引擎. 在我们的日常工作中,我们会碰到很多流程化的东西,什么是流程化呢,其实通俗来讲就是有一系列固定的步骤 ...
- Activiti 学习笔记记录(2016-8-31)
上一篇:Activiti 学习笔记记录(二) 导读:上一篇学习了bpmn 画图的常用图形标记.那如何用它们组成一个可用文件呢? 我们知道 bpmn 其实是一个xml 文件
- Activiti 学习笔记记录(二)
上一篇:Activiti 学习笔记记录 导读:对于工作流引擎的使用,我们都知道,需要一个业务事件,比如请假,它会去走一个流程(提交申请->领导审批---(批,不批)---->结束),Act ...
- activiti学习笔记二
上一篇文章大概讲了下什么是流程引擎,为什么我们要用流程引擎,他的基本原理是啥,以及怎么进行基本的使用,这篇文章我们再讲下其他的一些使用. 删除流程部署 package activiti02; impo ...
- Activiti 学习笔记(2016-8-30)
前言 不管学习什么,都必须对知识体系中专有的名词或者特定的语言组织方式 有所了解. 本文仅记录学习过程中的笔记,参考意义因人而定,不保证所言全部正确. 学习方式,百度传课的视频<权威Activi ...
- Activiti 学习笔记记录
官方在线用户手册(英文版):http://activiti.org/userguide/index.html 中文用户手册:http://www.mossle.com/docs/activiti/in ...
- Activiti学习笔记10 — 动态任务分配
动态任务分配使用的两种方式 一.通过特殊表达式,来获取任务信息 ,在流程 UserTask节点上设置 ${流程变量的Key} 1.流程定义 <?xml version="1.0&quo ...
随机推荐
- 替换war包中的文件
原文:https://blog.csdn.net/wuawua1/article/details/53906700 1.如果要替换的文件直接在war包的根目录(一级目录)下,直接使用jar uvf命令 ...
- Ethenet: MAC PHY MII RMII
https://www.cnblogs.com/liangxiaofeng/p/3874866.html 1. general 下图是网口结构简图.网口由CPU.MAC和PHY三部分组成.DMA控制器 ...
- Bagging vs Boosting vs Stacking
原文地址:https://www.jianshu.com/p/9dacdc88d3ec Bagging 用于减小方差. 使用训练数据的不同随机子集(大小常等于训练数据,采用不放回的方式进行抽取)来训练 ...
- MySQL之explain命令解释
explain显示了mysql如何使用索引来处理select语句以及连接表.可以帮助选择更好的索引和写出更优化的查询语句. 使用方法,在select语句前加上explain就可以了.如: explai ...
- FreeBSD_11-系统管理——{Part_a-bhyve}
;; 创建 vm: #!/usr/bin/env zsh bridgeIF=bridge0 laggIF=lagg0 tapIF=tap0 phyIF_0=re0 phyIF_1=em0 isoPat ...
- 进程共享变量#pragma data_seg用法
#pragma data_seg介绍 用#pragma data_seg建立一个新的数据段并定义共享数据,其具体格式为: #pragma data_seg ("shareddata" ...
- Webpack4篇
[Webpack4篇] webpack4 打包优化策略 当前依赖包的版本 1 优化loader配置 1.1 缩小文件匹配范围(include/exclude) 通过排除node_modules下的文件 ...
- 第七篇 css选择器实现字段解析
CSS选择器的作用实际和xpath的一样,都是为了定位具体的元素 举例我要爬取下面这个页面的标题 In []: title = response.css(".entry-header h1& ...
- 【洛谷】P1247取火柴游戏
题目链接:https://www.luogu.org/problemnew/show/P1247 题意:nim取石子的题意,多了一个判断先手赢的话,输出先手第一把怎么拿,以及拿完之后每堆还剩多少. 题 ...
- wpf mvvm datagrid 中button绑定命令方法
<DataGridTemplateColumn Header="设备状态" IsReadOnly="True" Width="150" ...