1 连线

注意:如果将流程图放置在和java类相同的路径,需要配置

1.1 部署流程定义+启动流程实例

ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
/**
* 部署流程定义
*/
@Test
public void deployProcessDefinition() {
InputStream inputStream = this.getClass().getResourceAsStream("sequenceFlow.bpmn");
InputStream inputStream2 = this.getClass().getResourceAsStream("sequenceFlow.png"); Deployment deploy = processEngine.getRepositoryService().createDeployment()
.name("连线")
.addInputStream("sequenceFlow.bpmn", inputStream)
.addInputStream("sequenceFlow.png", inputStream2)
.deploy();
System.out.println("部署ID:"+deploy.getId());
System.out.println("部署名称:"+deploy.getName()); }
/**
* 启动实例
*/
@Test
public void startProcessInstance() {
String processDefinitionKey = "sequenceFlow";
ProcessInstance startProcessInstanceByKey = processEngine.getRuntimeService().startProcessInstanceByKey(processDefinitionKey);
System.out.println("流程实例ID:"+startProcessInstanceByKey.getId());
System.out.println("流程定义ID:"+startProcessInstanceByKey.getProcessDefinitionId());
}

1.2 查询我的个人任务

/**
* 查看个人任务
*/
@Test
public void findMyProcess() {
String assignee = "赵六";
List<Task> list = processEngine.getTaskService().createTaskQuery().taskAssignee(assignee).list();
if (list != null && list.size() > 0) {
for (Task task : list) {
System.out.println("任务ID:"+task.getId());
System.out.println("任务名称:"+task.getName());
System.out.println("任务创建时间:"+task.getCreateTime());
System.out.println("任务办理人:"+task.getAssignee());
System.out.println("流程实例ID:"+task.getProcessInstanceId());
System.out.println("执行对象ID:"+task.getExecutionId());
System.out.println("流程定义ID:"+task.getProcessDefinitionId());
}
}
}

1.3 完成任务

/**
* 完成任务
*/
@Test
public void completMyProcess() {
String taskId = "3203";
Map<String, Object> variables = new HashMap<>();
variables.put("message", "重要");
processEngine.getTaskService().complete(taskId,variables);
System.out.println("完成任务:"+taskId);
}

说明:

1)使用流程变量,设置连线需要的流程变量的名称message,并设置流程变量的值

对应:

流程会按照指定的连线完成任务。

2 总结

1、一个活动中可以指定一个或多个SequenceFlow(Start中有一个,End中没有)。

* 开始活动中有一个SequenceFlow 。

* 结束活动中没有SequenceFlow 。

* 其他活动中有1条或多条SequenceFlow

2、如果只有一个,则可以不使用流程变量设置codition的名称;

如果有多个,则需要使用流程变量设置codition的名称。message表示流程变量的名称,‘不重要’表示流程变量的值,${}中间的内容要使用boolean类型的表达式,用来判断应该执行的连线。

Activiti学习记录(四)的更多相关文章

  1. leveldb 学习记录(四)Log文件

    前文记录 leveldb 学习记录(一) skiplistleveldb 学习记录(二) Sliceleveldb 学习记录(三) MemTable 与 Immutable Memtablelevel ...

  2. JavaScript学习记录四

    title: JavaScript学习记录四 toc: true date: 2018-09-16 20:31:22 --<JavaScript高级程序设计(第2版)>学习笔记 要多查阅M ...

  3. 4.VUE前端框架学习记录四:Vue组件化编码2

    VUE前端框架学习记录四:Vue组件化编码2文字信息没办法描述清楚,主要看编码Demo里面,有附带完整的代码下载地址,有需要的同学到脑图里面自取.脑图地址http://naotu.baidu.com/ ...

  4. leveldb 学习记录(四) skiplist补与变长数字

    在leveldb 学习记录(一) skiplist 已经将skiplist的插入 查找等操作流程用图示说明 这里在介绍 下skiplist的代码 里面有几个模块 template<typenam ...

  5. Activiti学习记录(一)

    1.工作流的概念 工作流(Workflow),就是“业务过程的部分或整体在计算机应用环境下的自动化”,它主要解决的是“使在多个参与者之间按照某种预定义的规则传递文档.信息或任务的过程自动进行,从而实现 ...

  6. Activiti学习记录(二)

    1.初始化数据库 使用工作流引擎创建23张表 public class TestActiviti { /** * 使用代码创建工作流需要的23张表 */ @Test public void creat ...

  7. Activiti 学习(四)—— Activiti 结合实际业务

    流程实例 流程实例(ProcessInstance)代表流程定义的执行实例.一个流程实例包括了所有的运行节点.我们可以利用这个对象来了解当前流程实例的进度等信息.例如:用户或程序按照流程定义内容发起一 ...

  8. Spring学习记录(四)---bean之间的关系:继承、依赖

         继承 这里说的继承和java的继承是不一样的,不是父类子类.但思想很相似,是父bean和子bean 1.父bean是一个实例时.它本身是一个完整的bean 2.父bean是模板,抽象bean ...

  9. Linux 学习记录 四(Bash 和 Shell scirpt)

    一.什么是 Shell? 狭义的shell指的是指令列方面的软件,包括基本的Linux操作窗口Bash等,广义的shell则包括 图形接口的软件,因为图形接口其实也可以操作各种驱动程序来呼叫核心进行工 ...

随机推荐

  1. thinkphp5.1页面页面模板及参数配置

    success和error跳转的模板在thinkphp/tpl/dispatch_jump.tpl 配置参数在thinkphp\library\traits\controller\jump.php文件 ...

  2. Javascript专题(一)严格模式

    严格模式是干什么的?它从哪里来? ECMAScript5中引入了严格模式.它为JS定义了一种不同的解析和执行模型. 摘自阮一峰博客:http://www.ruanyifeng.com/blog/201 ...

  3. 关于VS2017提示I/O文件操作函数需要加上_s的解决办法

    最近不论是在写网络编程还是在写小项目时候,都会提示让我用加个_s的函数........ 其实加上_s这个函数是为了确保函数的安全性,确保不会有内存不够或者溢出的情况.但是每次都需要重新看一下_s函数的 ...

  4. HBase 相关API操练(三):MapReduce操作HBase

    MapReduce 操作 HBase 在 HBase 系统上运行批处理运算,最方便和实用的模型依然是 MapReduce,如下图所示. HBase Table 和 Region 的关系类似 HDFS ...

  5. 你一直在用的 Spring Boot Starters 究竟是怎么回事

    Spring Boot 对比 Spring MVC 最大的优点就是使用简单,约定大于配置.不会像之前用 Spring MVC 的时候,时不时被 xml 配置文件搞的晕头转向,冷不防还因为 xml 配置 ...

  6. log(A/B) = logA -logB

    令 X = logA, Y = logB, Z=log(A/B) .2x = A, 2y = B, 2z = A/B, 则有 2z = A/B = 2x / 2y = 2x-y ,有z = x-y,即 ...

  7. zookeeper的简单搭建,java使用zk的例子和一些坑

    一 整合 由于本人的码云太多太乱了,于是决定一个一个的整合到一个springboot项目里面. 附上自己的github项目地址 https://github.com/247292980/spring- ...

  8. <ganglia+nagios>rhel6.5

    由于linux下的office和win下有所区别,我只能把linux下的.dot文件打包成pdf,粘贴发送标出来,但有些图片还是没办法发表,要是有朋友感兴趣的话,可加我qq 215687833具体的文 ...

  9. 从零开始的全栈工程师——js篇2.10(对象与构造函数)

    对象与构造函数 一.js数据类型 基本数据类型:string   undefined   null  boolean  number 引用数据类型  Object  array  function 二 ...

  10. 属性,选择器和css

    一.属性 属性:表示事物的一些特征 属性分为标签属性和样式属性 标签属性:<img src="1.jpg" width="200px" heifht=&q ...