首先到官网下载 Activiti 5.x。java
解压后,Activiti 5.x 的目录结构为:mysql
包 | 说明 |
---|---|
org.activiti.engine | Service 接口 、 异常类定义、流程引擎、流程引擎配置以及运行时异常类 。 |
org.activiti.engine.delegate | 定义了处理流程的行为和监听事件规范,咱们能够在流程定义中配置监听接口。能够经过它来实现流程结束时的归档功能。 |
org.activiti.engine.form | 可用于自定义表单。定义表单有两种方式:【1】在流程定义中设置每一个节点的表单内容,能够设置每一个字段( Field )的类型 、 是否能够编辑等属性 。 【2】经过外置表单的形式,经过 formkey 来指定外置表单文件的名称,类型能够是 .xml 或 .form。能够经过 FormService 接口实现读取和提交表单。 |
org.activiti.engine.history | 包含了历史记录查询对象及查询结果的历史数据对象接口 。好比历史流程实例(HistoricProcessInstance ) 、 历史任务 ( HistoricTask ) 、 历史活动( HistoricActivity ) 、 历史详细( HistoricDetail )等。 |
org.activiti.engine.identity | 用于管理身份和认证功能。 |
org.activiti.engine.management | 流程引擎管理功能,好比能够监控引擎的状态以及任务调度功能 。 |
org.activiti.engine.query | 定义了查询功能。 |
org.activiti.engine.repository | 管理与查询流程资源。好比能够部署流程定义 、 自定义表单 、 规则等文件,还能够读取流程图片 、流程定义( bpmn20.xml )文件 。 |
org.activiti.engine.runtime | 用于查询运行时数据。还能够控制流程的状态(挂起与恢复)。 |
org.activiti.engine.task | 定义了任务对象。经过 TaskService 接口,咱们能够对任务( Task )进行管理(建立、删除、指派、批注、附件管理以及变量查询) 。 |
org.activiti.engine.test | 经过它,能够快速建立测试用例,用于验证流程定义的业务逻辑流转是否符合业务要求。这对于采用 TDD 开发的企业与开发人员来讲,简直就是福音哦O(∩_∩)O~ |
Activiti 5.x 须要 JDK 1.6+ 版本。检查本地开发环境的 java 版本命令为:spring
java -version
复制代码
输出结果:sql
Activiti Explorer 的示例程序须要 Ant 1.8.1+ 构建运行。检查本地开发环境的 Ant 版本命令为:数据库
ant -version
复制代码
输出结果: bash
咱们使用 Maven 来管理项目依赖。检查本地开发环境的 Maven 版本命令为:服务器
mvn -version
复制代码
输出结果:oracle
Activiti 配置文件名为 activiti.cfg.xml,用于定义流程引擎初始化参数 、流程相关 bean、 邮件服务器及各类流程事件监听。异步
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
<!--流程引擎配置(基于内存数据库) -->
<bean id="processEngineConfiguration"
class="org.activiti.engine.impl.cfg.StandaloneInMemProcessEngineConfiguration">
<property name="databaseType" value="h2"/>
<property name="databaseSchemaUpdate" value="true"/>
<property name="jobExecutorActivate" value="false"/>
<property name="history" value="full"/>
</bean>
</beans>
复制代码
引擎配置参数说明以下:maven
参数 | 说明 |
---|---|
databaseType | 数据库类型。默认为 h2,还支持 mysql、oracle、postgres、mssql 以及 db2。 |
databaseSchemaUpdate | 数据库脚本的更新策略。false:不更新;true: Activiti 表不存在时 , 自动建立表 ; 当 Activiti 的 jar 文件定义的版本号与数据库中记录的版本号不一致时,自动执行相应的升级脚本,而且会记录升级过程 。 create-drop:建立引擎时执行数据库初始化脚本;引擎销毁时 , 执行数据库删除脚本。该策略通常用于单元测试。 |
jobExecutorActivate | 是否启用做业执行功能, 默认为 false。 true 表示引擎不间断地刷新数据库中的做业表 , 检查是否存在须要执行的做业 , 有则触发执行做业 。 做业的来源能够是各类时间事件或异步任务 。 |
history | 记录历史日志明细级别,默认为 audit。none:不记录,此举能够提升性能。activity:保存全部的流程实例、任务与活动信息。audit:除了 activity 级别所记录的信息以外,还记录了表单属性。full:最全的日志记录。好比除了 audit 级别所记录的信息以外,还记录了流程变量信息。 |
能够配置 Maven 仓库为:repo1.maven.org/maven2/
首先在 pom.xml 中定义 Activiti 的版本号属性:
<properties>
<activiti.version>5.22.0</activiti.version>
</properties>
复制代码
而后引用 Activiti 引擎库:
<dependency>
<groupId>org.activiti</groupId>
<artifactId>activiti-engine</artifactId>
<version>${activiti.version}</version>
</dependency>
复制代码
由于可能还会引用 Activiti 的其它库,因此咱们这里定义了一个版本号属性,便于之后升级版本之用。
至此,Activiti 开发环境就算是搭建好咯,后面会说说如何使用 Activiti Explorer 设计流程模型哦O(∩_∩)O~