说说如何搭建 Activiti 开发环境

1 下载

首先到官网下载 Activiti 5.xjava

1.1 目录结构

解压后,Activiti 5.x 的目录结构为:mysql

  1. database:Activiti 引擎数据库脚本。
    • create:建立。
    • drop:删除。
    • upgrade:版本升级。
  2. doc :文档。
    • javadocs:API 说明。
    • userguide:用户手册。
    • xsd:与流程定义相关的 scheme。
  3. libs:Activiti 引擎各个模块的 JAR 包。
  4. wars: explorer 模块和 rest 模块的 WAR 包。

1.2 API 包说明

说明
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~

2 开发环境

2.1 JDK 1.6+

Activiti 5.x 须要 JDK 1.6+ 版本。检查本地开发环境的 java 版本命令为:spring

java -version
复制代码

输出结果:sql

2.2 Ant 1.8.1+

Activiti Explorer 的示例程序须要 Ant 1.8.1+ 构建运行。检查本地开发环境的 Ant 版本命令为:数据库

ant -version
复制代码

输出结果: bash

2.3 Maven 3.x

咱们使用 Maven 来管理项目依赖。检查本地开发环境的 Maven 版本命令为:服务器

mvn -version
复制代码

输出结果:oracle

3 配置文件

3.1 Activiti 配置文件

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>
复制代码
  • 它实际上就是 Spring 配置文件。
  • processEngineConfiguration bean 对象,是 Activiti 默认的引擎配置管理器名称。
  • 这里咱们配置了 h2 内存数据库,由于速度快,因此很容易测试。

引擎配置参数说明以下: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 级别所记录的信息以外,还记录了流程变量信息。

3.2 Maven 配置

能够配置 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~

相关文章
相关标签/搜索