Activiti基础教程--03(HelloWorld)
来源:互联网 发布:rsyslog windows 编辑:程序博客网 时间:2024/06/08 00:57
gihub:https://github.com/changwensir/Activiti/tree/master/ActivitiDemo1
前面我们讲解了流程绘制,下面我们要来部署流程定义,启动流程实例,查看任务以及完成任务;把一个最简单的HelloWorld流程用代码实现并且走完流程。
我们先建一个单元测试类HelloWorldProcess
首先第一步,我们要操作流程,必须获取流程引擎实例;
第三步:我们要启动流程实例,这样一个流程才开始;
第四步:启动流程后,我们流程会走到helloWorld节点,我们来查看下"java1234_小锋"这个用户的任务;
第五步:我们来完成helloWorld节点任务,让流程走完;
OK,前面仅仅是走流程的代码,我们下面来细讲下原理,数据库的表发生了什么;
这里有个很重要的概念,流程定义和流程实例的关系。大家可以把流程定义和流程实例的关系,理解成类和对象的关系;流程定义就是一个模版,流程实例就是通过模版搞出来的具体的可用的东西。所以后面涉及到的流程定义id name;流程实例id name大家不要晕。先把关系搞清楚。其他的都简单;
OK 然后我们来运行deploy方法,部署流程定义,这时候我们的流程定义表会发生一些变化;
首先act_re_deployment 流程部署表,插入了一条数据;
然后act_re_prodef 流程定义表也会有插入一条数据;
这里有流程定义id name key version等重要信息;后面可以通过接口来获取这些数据;
还有一个act_ge_bytearray表 用来存资源信息表;
我们可以看到,把两个资源文件都存了 包括名称 以及文件内容;
以上是部署流程定义 数据库表里发生的事情;
然后我们继续 ,下面来启动流程实例;
运行start方法;
启动流程,数据库流程运行表也会发生相应的变化;
首先是运行时流程任务表:act_ru_task;插入了一条任务数据;
这个表很重要,ID_是任务id 数据2504 PROC_INST_ID_是流程实例ID 2501 以及Name 创建时间等;
接下来是act_ru_execution 运行时流程执行表;
这里的话 存的流程执行相关信息;
接下来是act_ru_identitylink 是于执行主体相关信息表;
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
任务ID:2504
任务名称:HelloWorld
任务创建时间:Mon Apr 11 13:30:41 CST 2016
任务委派人:java1234_小锋
流程实例ID:2501
OK 流程执行完,数据库表会发生什么变化呢?
首先ru开头的运行时候所有表的数据都没了,因为现在流程都走完了。不需要那些数据了;
然后在hi开头的表里,存了不少数据,主要是用来归档查询用的;
这里不一一截图,大概来解析下,后面也会具体讲到。helloWorld仅仅是让大家有一个大体的认识;
act_hi_taskinst 历史流程实例任务表加了一条任务数据;
act_hi_procinst 历史流程实例实例表加了一条流程实例相关信息的数据(包括开始时间,结束时间等等信息);
act_hi_identitylink 历史流程实例参数者的表加了一条数据;
act_hi_actinst 历史活动节点表加了三条流程活动节点信息的数据(每个流程实例具体的执行活动节点的信息);
文章转自《http://blog.csdn.net/oChangWen/article/details/51908441》,多谢作者分享!
1 0
- Activiti基础教程--03(HelloWorld)
- Activiti基础教程--03(HelloWorld)
- Activiti基础教程--08连线
- Activiti基础教程--08连线
- Activiti基础介绍-helloworld
- Activiti HelloWorld实现
- 1.activiti工作流-helloworld
- activiti HelloWorld 入门demo
- Activiti 工作流 HelloWorld 02
- SpringMVC 基础教程 helloworld
- Kotlin基础教程-HelloWorld
- Activiti基础教程--06流程变量
- Activiti基础教程--06流程变量
- [学习小结]Activiti 工作流Helloworld
- Activiti学习之HelloWorld程序
- RxJava2 基础教程(一)HelloWorld
- Activiti基础教程--09排他网关,并行网关
- Activiti基础教程--09排他网关,并行网关
- java基础知识问答-数据类型
- RecyclerView嵌套RecyclerView
- 封装 ,继承, 多态,抽象类 ,接口
- 快速熟悉 PyQt5 与 Eric6 的极速 GUI 开发
- php基础系列----8php中错误和异常的处理
- Activiti基础教程--03(HelloWorld)
- python中多进程+协程的使用以及为什么要用它
- 浅谈大型web系统架构
- C# DateTime日期格式化
- 修改python编码格式
- npm安装问题
- Weblogic 发布网站失败
- Learning Python 018 Python2 和 Python3 中 range()函数的使用
- 深度学习UFLDL(一)