Activiti 手工任务(manualTask)

作者:Jesai

前言:

手工任务就是一个自动执行的过程。手动任务几乎不在程序中做什么事情,只是在流程的历史中留下一点痕迹,表明流程是走过某些节点的。而且这个任务是无法用taskservice查询到的。

Activiti官方说明:

手动任务定义了 BPM引擎之外的任务。用来对那些需要人来完成的工作进行建模,引擎不需要知道他是系统还是 UI接口。
对引擎而言,手动任务是作为直接通过的活动处理的,流程执行到此会自动继续流程的执行

所以这个流程其实没有什么好说的。就是一个直接通过的任务。可以使用它来自动执行一些可以直接通过的任务。

流程设计:

设置一个监听类:

  1. /**
  2.  
  3. *
  4.  
  5. */
  6.  
  7. package light.mvc.workflow.serviceTask;
  8.  
  9. import org.activiti.engine.delegate.DelegateExecution;
  10.  
  11. import org.activiti.engine.delegate.JavaDelegate;
  12.  
  13. /**
  14.  
  15. *
  16.  
  17. * 项目名称:lightmvc
  18.  
  19. * 类名称:ServiceTask
  20.  
  21. * 类描述:
  22.  
  23. * 创建人:邓家海
  24.  
  25. * 创建时间:2017年6月4日 下午6:18:11
  26.  
  27. * 修改人:deng
  28.  
  29. * 修改时间:2017年6月4日 下午6:18:11
  30.  
  31. * 修改备注:
  32.  
  33. * @version
  34.  
  35. *
  36.  
  37. */
  38.  
  39. public class TestRunningTask implements JavaDelegate{
  40.  
  41. //重写委托的提交方法
  42.  
  43. @Override
  44.  
  45. public void execute(DelegateExecution execution) throws Exception {
  46.  
  47. System.out.println("TestRunningTask is running!");
  48.  
  49. }
  50.  
  51. }

流程源码:

  1. <?xml version='1.0' encoding='UTF-8'?>
  2.  
  3. <definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:activiti="http://activiti.org/bpmn" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:omgdc="http://www.omg.org/spec/DD/20100524/DC" xmlns:omgdi="http://www.omg.org/spec/DD/20100524/DI" typeLanguage="http://www.w3.org/2001/XMLSchema" expressionLanguage="http://www.w3.org/1999/XPath" targetNamespace="http://www.activiti.org/processdef">
  4.  
  5. <process id="process" isExecutable="true">
  6.  
  7. <startEvent id="sid-8D52A572-DD68-4640-BCEE-AA46FD19F535" />
  8.  
  9. <manualTask id="sid-B57FA289-A98B-45B8-8550-211ED155778E" name="手工任务">
  10.  
  11. <extensionElements>
  12.  
  13. <activiti:executionListener event="start" class="light.mvc.workflow.serviceTask.TestRunningTask" />
  14.  
  15. </extensionElements>
  16.  
  17. </manualTask>
  18.  
  19. <endEvent id="sid-DF898F06-5F35-4C64-B84D-6A405ADECA91" />
  20.  
  21. <sequenceFlow id="sid-BD48A7F5-D206-4E76-AB78-0437FBDC5834" sourceRef="sid-B57FA289-A98B-45B8-8550-211ED155778E" targetRef="sid-DF898F06-5F35-4C64-B84D-6A405ADECA91" />
  22.  
  23. <sequenceFlow id="sid-6F9CC662-16AB-4058-BA4A-2A0D3D99C185" sourceRef="sid-8D52A572-DD68-4640-BCEE-AA46FD19F535" targetRef="sid-B57FA289-A98B-45B8-8550-211ED155778E" />
  24.  
  25. </process>
  26.  
  27. <bpmndi:BPMNDiagram id="BPMNDiagram_process">
  28.  
  29. <bpmndi:BPMNPlane bpmnElement="process" id="BPMNPlane_process">
  30.  
  31. <bpmndi:BPMNShape bpmnElement="sid-8D52A572-DD68-4640-BCEE-AA46FD19F535" id="BPMNShape_sid-8D52A572-DD68-4640-BCEE-AA46FD19F535">
  32.  
  33. <omgdc:Bounds height="30.0" width="30.0" x="233.75" y="102.0" />
  34.  
  35. </bpmndi:BPMNShape>
  36.  
  37. <bpmndi:BPMNShape bpmnElement="sid-B57FA289-A98B-45B8-8550-211ED155778E" id="BPMNShape_sid-B57FA289-A98B-45B8-8550-211ED155778E">
  38.  
  39. <omgdc:Bounds height="80.0" width="100.0" x="375.0" y="77.0" />
  40.  
  41. </bpmndi:BPMNShape>
  42.  
  43. <bpmndi:BPMNShape bpmnElement="sid-DF898F06-5F35-4C64-B84D-6A405ADECA91" id="BPMNShape_sid-DF898F06-5F35-4C64-B84D-6A405ADECA91">
  44.  
  45. <omgdc:Bounds height="28.0" width="28.0" x="630.0" y="103.0" />
  46.  
  47. </bpmndi:BPMNShape>
  48.  
  49. <bpmndi:BPMNEdge bpmnElement="sid-BD48A7F5-D206-4E76-AB78-0437FBDC5834" id="BPMNEdge_sid-BD48A7F5-D206-4E76-AB78-0437FBDC5834">
  50.  
  51. <omgdi:waypoint x="475.0" y="117.0" />
  52.  
  53. <omgdi:waypoint x="630.0" y="117.0" />
  54.  
  55. </bpmndi:BPMNEdge>
  56.  
  57. <bpmndi:BPMNEdge bpmnElement="sid-6F9CC662-16AB-4058-BA4A-2A0D3D99C185" id="BPMNEdge_sid-6F9CC662-16AB-4058-BA4A-2A0D3D99C185">
  58.  
  59. <omgdi:waypoint x="263.75" y="117.0" />
  60.  
  61. <omgdi:waypoint x="375.0" y="117.0" />
  62.  
  63. </bpmndi:BPMNEdge>
  64.  
  65. </bpmndi:BPMNPlane>
  66.  
  67. </bpmndi:BPMNDiagram>
  68.  
  69. </definitions>

部署,执行开始任务,然后直接完成。

控制台输出

TestRunningTask is running锛?

Activiti交流QQ群:634320089

Activiti 手工任务(manualTask)的更多相关文章

  1. Activiti 启动事件(Start Event)

    Activiti 启动事件(Start Event) 作者:Jesai 生活里,没有容易二字,忧伤是一种本能,而微笑是一种能力 版权所有,未经允许,禁止引用.如需引用,请注明出处. 前言: 启动事件是 ...

  2. Activiti接受任务(receiveTask)

    Activiti接受任务(receiveTask) 作者:Jesai 前言: Activiti接受任务(receiveTask)其实和Activiti的手动任务是差不多的,不过手动任务是直接通过,而A ...

  3. activiti搭建(五)BPMN介绍

    转载请注明源地址:http://www.cnblogs.com/lighten/p/5931207.html 对于BPMN我也不是十分清楚,目前也只是因为对于Modeler中不熟悉的组件查询,来对这部 ...

  4. Activiti源码浅析:Activity与Task

    最近由于接触到Activiti工作流引擎,因此粗读了一下它的源码. 总结了一些内容如下,这些内容一般的doc上都是没有提及的. 1. model.Activity与model.Task Activit ...

  5. activiti入门2流程引擎的API和服务基础

      RepositoryService : 管理和控制发布包和流程定义(包含了一个流程每个环节的结构和行为)的操作 除此之外,服务可以 查询引擎中的发布包和流程定义. 暂停或激活发布包,对应全部和特定 ...

  6. Activiti工作流学习-----基于5.19.0版本(4)

    四.使用工作流开发 org.activiti.engine.ProcessEngine提供的Service作用在工作流引擎上面,如果所示是模仿一个公司简单的审批流程,你可以下载这个Demo:Activ ...

  7. Activiti 5.16用户手册

    From :http://www.mossle.com/docs/activiti/ Table of Contents 1. 简介 协议 下载 源码 必要的软件 JDK 6+ Eclipse Ind ...

  8. activiti入门2流程引擎API和服务基础设施

    RepositoryService : 管理和控制公布包和流程定义(包括了一个流程每一个环节的结构和行为)的操作 除此之外,服务能够 查询引擎中的公布包和流程定义. 暂停或激活公布包.相应所有和特定流 ...

  9. 在Activiti中如何使用自定义的组织架构

    1.概述 我们知道,activiti是一个不错的流程引擎,它有自身的人员组织架构,但仅限于用户.用户组的管理,流程产生的任务(UserTask),就涉及到任务的所属人(Owner),任务的执行人(as ...

随机推荐

  1. git把某个文件去除版本控制

    谢谢@jessicway 同学的提醒.我之前没考虑只需要删除服务器上已提交的文件,但是本地不想删除的情况. 我们先看看 git rm 命令的说明 可以看到其实加上 --cached 参数就可以实现只去 ...

  2. linux /proc 接口和共享中断

    在系统中安装共享处理者不影响 /proc/stat, 它甚至不知道处理者. 但是, /proc/interrupts 稍稍变化. 所有同一个中断号的安装的处理者出现在 /proc/interrupts ...

  3. 在eclipse动态网页项目中,编写web.xml时,servlet标签报错.

    cvc-complex-type.2.4.b: The content of element 'servlet' is not complete. One of '{"http:// jav ...

  4. JQuery仿购物网站放大镜特效所遇问题及思考

    JQuery仿购物网站放大镜特效所遇问题及思考 先贴下效果图,然后描述起来也就不会不知道我在说什么了. 我碰到的问题一: 一开始我自己总结了是因为两个小原因导致的①使用了mouseover,mouse ...

  5. <数论相关>欧几里得与拓展欧几里得证明及应用

    欧几里得算法 欧几里得算法的复杂度为O(log(n)),是一个非常高效的求最大公约数算法. 在这里不证明欧几里得算法的复杂度,有兴趣的可以访问以下链接:http://blog.sina.com.cn/ ...

  6. 使用IDEA创建基于Maven SpringMvc项目

    使用IDEA创建基于Maven SpringMvc项目 1.通过程序启动——create project,或者file--New-projec打开New project 2.自定义groupid等信息 ...

  7. 13.python基础试题(二)

    借鉴:https://www.cnblogs.com/shengyang17/p/8543712.html https://www.cnblogs.com/you-wei1/p/9693254.htm ...

  8. SQL Server 中数据查询注意事项

    1.查询语句不用区分大小写,而且即使每张表的表名或者列名出现大写字母,在写查询语句的时候也不用区分大小写,查询结果保持一致,所以查询语句小写即可. 2.在写查询语句的时候列名不需要带单引号,数值型的字 ...

  9. 【python测试开发栈】帮你总结python random模块高频使用方法

    随机数据在平时写python脚本时会经常被用到,比如随机生成0和1来控制逻辑.或者从列表中随机选择一个元素(其实抽奖程序也类似,就是从公司所有人中随机选择中奖用户)等等.这篇文章,就帮大家整理在pyt ...

  10. $HDU$ 4336 $Card\ Collector$ 概率$dp$/$Min-Max$容斥

    正解:期望 解题报告: 传送门! 先放下题意,,,已知有总共有$n$张卡片,每次有$p_i$的概率抽到第$i$张卡,求买所有卡的期望次数 $umm$看到期望自然而然想$dp$? 再一看,哇,$n\le ...