我们开始讲解一下Activiti的源码文件的内容。
我们打开整个文件夹就可以看到以下的文件,这也就是Activiti的文件结构。
1、distro与eclipse
distro是发布用的目录,eclipse是开发的配置文件
2、modules文件
modules是重要的源码模块包结构。
3、qa文件
qa中文件关于测试使用的配置脚本文件
4、scripts文件
scripts一些启动相关的脚本,start-ui.sh启动UI
5、查看pom.xml文件
以下是关于对于流程模型的管理或流程校验的操作模块。我们可以看到最下面的是activiti-engine。maven从上到下编译,可以看出Activiti引擎构建是依赖之前的这些模型构建的。
6、modules下activiti-engine下的java文件介绍
总体文件预览如下:
文件名 | 介绍 |
cfg | 配置文件相关,Activiti启动依赖的配置文件。 |
compatibility | 跟兼容性相关的包结构,Activiti5到6不兼容根据这里的内容进行适配。 |
debug | 调试相关的内容,看到Activiti内部运行的机制。 |
delegate | 制定的节点文件。 |
event | 事件和监听机制。 |
form | 表单,用来定义通用的表单。 |
history | 运行产生的数据迁移到这里。 |
identity | 权限与身份认证的配置。 |
impl | 对应的实现包。 |
logging | 跟日志相关,里面只有一个LogMDC类。 |
management | 管理相关的接口与API。 |
parse | 流程是XML文件,需要解析,parse用来解析相关的工作。 |
query | 跟数据库操作的抽象查询接口。 |
repository | 流程部署到数据库的一些文件。 |
runtime | 与history有一定对应关系。执行中数据在这里处理。结束后移除到history中。 |
task | 流程节点遇到人工处理的作业相关文件。 |
test | 支持单元或集成测试的工作类、帮助类。 |
engine目录下面是一些相关的异常文件、重要的API与类。我们看出越是重要的API越是放在文件的最外面,可以让使用者越快的找到它们。
7、modules下activiti-engine下的resources文件介绍
db:跟数据库相关的文件。其中create就是创建的脚本。drop关于删除的脚本。
我们先看看create文件下的内容:
可以看到一个规律,每三个脚本对应一个数据库,支持db2、h2、hsql、mssql、mysql、oracle、postgres数据库。
下图我们打开activiti.oracle.create.history.sql文件,可以看到里面的sql脚本。
mapping:是mybatis的对应文件。
以下是其中一个很普通发对mybatis配置的文件。
properties:各种数据库的配置文件。
upgrade:设计到版本升级时对sql语句的升级。每个小版本的都有。
engine中的deployer:一些小图标,比如流程图文件生成一个流程图时,不同流程节点对应不同的小图标。
其中的一个小图标文件:
7、modules下其他文件介绍
activiti-spring:关于Spring集成模块。
activiti-form-engine:表单引擎模块
activiti-Idap:用于跟用户做集成模块
activiti-bpmn-converter:模型转换模块
activiti-image-generator:流程图绘制模块