12.activiti工作流-接收活动(receiveTask,即等待活动)
来源:互联网 发布:怎么查手机网络制式 编辑:程序博客网 时间:2024/04/29 14:49
接收任务是一个简单任务,它会等待对应消息的到达。 当前,官方只实现了这个任务的java语义。 当流程达到接收任务,流程状态会保存到数据库中。
在任务创建后,意味着流程会进入等待状态, 直到引擎接收了一个特定的消息, 这会触发流程穿过接收任务继续执行。
流程图
部署流程定义+启动流程实例
/** * ReceiceTask任务,机器自动完成的任务 * 只会在act_ru_execution表中产生一条数据 * @throws Exception */ @Test public void testExecution() throws Exception { // 1 发布流程 InputStream inputStreamBpmn = this.getClass().getResourceAsStream("receiveTask.bpmn"); InputStream inputStreamPng = this.getClass().getResourceAsStream("receiveTask.png"); processEngine.getRepositoryService()// .createDeployment()// .addInputStream("receiveTask.bpmn", inputStreamBpmn)// .addInputStream("receiveTask.png", inputStreamPng)// .deploy(); // 2 启动流程 ProcessInstance pi = processEngine.getRuntimeService()// .startProcessInstanceByKey("receiveTaskDemo"); System.out.println("pid:" + pi.getId()); String pid = pi.getId(); // 3查询是否有一个执行对象在描述”汇总当日销售额“ Execution e1 = processEngine.getRuntimeService()// .createExecutionQuery()// .processInstanceId(pid)// .activityId("汇总当日销售额")// .singleResult(); // 4执行一堆逻辑,并设置流程变量 Map<String,Object> vars = new HashMap<String, Object>(); vars.put("当日销售额", 10000); // 5流程向后执行一步:往后推移e1,使用signal给流程引擎信号,告诉他当前任务已经完成了,可以往后执行 processEngine.getRuntimeService() .signal(e1.getId(),vars); // 6判断当前流程是否在”给老板发短信“节点 Execution e2 = processEngine.getRuntimeService()// .createExecutionQuery()// .processInstanceId(pid)// .activityId("给总经理发短信")// .singleResult(); // 7获取流程变量 Integer money = (Integer) processEngine.getRuntimeService()// .getVariable(e2.getId(), "当日销售额"); System.out.println("老板,今天赚了" +money); // 8向后执行一步:任务完成,往后推移”给老板发短信“任务 processEngine.getRuntimeService()// .signal(e2.getId()); // 9查询流程状态 pi = processEngine.getRuntimeService()// .createProcessInstanceQuery()// .processInstanceId(pid)// .singleResult(); if(pi==null){ System.out.println("流程正常执行!!!,已经结束了"); } }
说明:
1)当前任务(一般指机器自动完成,但需要耗费一定时间的工作)完成后,向后推移流程,可以调用runtimeService.signal(executionId),传递接收执行对象的id。
阅读全文
0 0
- 12.activiti工作流-接收活动(receiveTask,即等待活动)
- Activiti 学习笔记11:接收活动(receiveTask,即等待活动)
- activiti之接收活动receiveTask的signal方法找不到
- Activiti 接收任务(receivetask)
- Activiti 接收任务(receivetask)
- 11.activiti工作流-开始活动节点
- activiti 接收活动任务传递参数(九)
- Activiti进阶(九)——接收任务(ReceiveTask)
- Activiti(九)——接收任务(ReceiveTask)
- Activiti进阶(九)——接收任务(ReceiveTask)
- Activiti基础教程--10开始活动节点,接收活动,用户任务(个人任务,组任务)
- Activiti基础教程--10开始活动节点,接收活动,用户任务(个人任务,组任务)
- 工作流Activiti的学习总结(九)Activiti手工执行的应用(ReceiveTask实现方式)
- Activiti之活动(九)
- activiti---获取活动节点
- Activiti历史活动查询
- 工作流状态活动图
- 单元测试工作流和活动
- tomcat8.5.15 apr模式运行 配置
- 泛型反射
- Linux下安装Redis以及配置远端访问
- Array Nesting (第十四周 数组)
- 学会看原理图-GPIO和门电路
- 12.activiti工作流-接收活动(receiveTask,即等待活动)
- 源码中的@hide注释和{@hide}注释的差异
- 给初学者的RxJava2.0教程(三)
- 字典(dictionary)与映射(map)
- 在Java项目中引入JSTL的方法
- scrapy爬虫【3】→爬图片
- 【Tensorflow】报错:AttributeError: 'module' object has no attribute 'scalar_summary'
- jdbc连接数据库 实现步骤
- Linux环境MySQL5.7主从同步配置