1.2 resources/log4j.propertiesUTF-8 1.8 1.8 1.6.6 1.2.12 7.0.0.SR1 org.activiti activiti-engine ${activiti.version} org.activiti activiti-bpmn-model ${activiti.version} org.activiti activiti-bpmn-converter ${activiti.version} org.activiti activiti-json-converter ${activiti.version} org.activiti activiti-bpmn-layout ${activiti.version} org.activiti activiti-spring ${activiti.version} mysql mysql-connector-java 5.1.40 org.mybatis mybatis 3.4.5 commons-dbcp commons-dbcp 1.4 junit junit 4.12 log4j log4j ${log4j.version} org.slf4j slf4j-api ${slf4j.version} org.slf4j slf4j-log4j12 ${slf4j.version}
log4j.rootCategory=debug, CONSOLE, LOGFILE
log4j.logger.org.apache.axis.enterprise=FATAL, ConSOLE
log4j.appender.ConSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=%d{ISO8601} %-6r[%15.15t] %-5p %30.30c %x - %mn
log4j.appender.LOGFILE=org.apache.log4j.FileAppender
log4j.appender.LOGFILE.File=./activiti.log
log4j.appender.LOGFILE.Append=true
log4j.appender.LOGFILE.layout=org.apache.log4j.PatternLayout
log4j.appender.LOGFILE.layout.ConversionPattern=%d{ISO8601} %-6r[%15.15t] %-5p %30.30c %x - %mn
1.3 resources/activiti.cfg.xml
配置数据源。
1.4 创建数据库
CREATE DATAbase activiti DEFAULT CHARACTER SET utf8;1.5 生成表结构
@Test
public void testCreateDBTable() {
// ProcessEngines.getDefaultProcessEngine()会读取activiti.cfg.xml拿到一个ProcessEngineConfiguration对象,进而获取一个工作流引擎实例ProcessEngine
ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
System.out.println(processEngine);
}
注意:使用ProcessEngines.getDefaultProcessEngine()获取默认的流程引擎时activiti.cfg.xml中的bean配置id只能是processEngineConfiguration不能修改成别的,class也只能配置成org.activiti.engine.impl.cfg.StandaloneProcessEngineConfiguration。
Activiti 的表都以ACT_ 开头,第二部分是表示表的用途的两个字母标识,用途也和服务的 API 对应。
- ACT_RE :'RE’表示 repository,这个前缀的表包含了流程定义和流程静态资源 (图片,规则,等等)。
- ACT_RU:'RU’表示 runtime,这些运行时的表包含流程实例,任务,变量,异步任务等运行中的数据。 Activiti 只在流程实例执行过程中保存这些数据, 在流程结束时就会删除这些记录,这样运行时表可以一直很小速度很快。
- ACT_HI:'HI’表示 history,这些表包含历史数据,比如历史流程实例, 变量,任务等等。
- ACT_GE : GE 表示 general,通用数据, 用于不同场景下 。
| 表分类 | 表名 | 解释 |
|---|---|---|
| 一般数据 | ||
| ACT_GE_BYTEARRAY | 通用的流程定义和流程资源 | |
| ACT_GE_PROPERTY] | 系统相关属性 | |
| 流程历史记录 | ||
| ACT_HI_ACTINST | 历史的流程实例 | |
| ACT_HI_ATTACHMENT | 历史的流程附件 | |
| ACT_HI_COMMENT | 历史的说明性信息 | |
| ACT_HI_DETAIL | 历史的流程运行中的细节信息 | |
| ACT_HI_IDENTITYlink | 历史的流程运行过程中用户关系 | |
| ACT_HI_PROCINST | 历史的流程实例 | |
| ACT_HI_TASKINST | 历史的任务实例 | |
| ACT_HI_VARINST | 历史的流程运行中的变量信息 | |
| 流程定义表 | ||
| ACT_RE_DEPLOYMENT | 部署单元信息 | |
| ACT_RE_MODEL | 模型信息 | |
| ACT_RE_PROCDEF | 已部署的流程定义 | |
| 运行实例表 | ||
| ACT_RU_EVENT_SUBSCR | 运行时事件 | |
| ACT_RU_EXECUTION | 运行时流程执行实例 | |
| ACT_RU_IDENTITYlink | 运行时用户关系信息,存储任务节点与参与者的相关信息 | |
| ACT_RU_JOB | 运行时作业 | |
| ACT_RU_TASK | 运行时任务 | |
| ACT_RU_VARIABLE | 运行时变量表 |
| service名称 | service作用 |
|---|---|
| RepositoryService | activiti的资源管理类 |
| RuntimeService | activiti的流程运行管理类 |
| TaskService | activiti的任务管理类 |
| HistoryService | activiti的历史管理类 |
| ManagerService | activiti的引擎管理类 |
activiti的资源管理类,提供了管理和控制流程发布包和流程定义的操作。使用工作流建模工具设计的业务流程图需要使用此service将流程定义文件的内容部署到计算机。
除了部署流程定义以外还可以:查询引擎中的发布包和流程定义。
暂停或激活发布包,对应全部和特定流程定义。 暂停意味着它们不能再执行任何操作了,激活是对应的反向操作。获得多种资源,像是包含在发布包里的文件, 或引擎自动生成的流程图。
获得流程定义的pojo版本, 可以用来通过java解析流程,而不必通过xml。
RuntimeServiceActiviti的流程运行管理类。可以从这个服务类中获取很多关于流程执行相关的信息。
TaskServiceActiviti的任务管理类。可以从这个类中获取任务的信息。
HistoryServiceActiviti的历史管理类,可以查询历史信息,执行流程时,引擎会保存很多数据(根据配置),比如流程实例启动时间,任务的参与者, 完成任务的时间,每个流程实例的执行路径,等等。 这个服务主要通过查询功能来获得这些数据。
ManagementServiceActiviti的引擎管理类,提供了对 Activiti 流程引擎的管理和维护功能,这些功能不在工作流驱动的应用程序中使用,主要用于 Activiti 系统的日常维护。



