Activiti 5.16 用户手册
Activiti 5.16 用户手册
iii
1. 简介 ..................................................................... 1
1.1. 协议 ............................................................... 1
1.2. 下载 ............................................................... 1
1.3. 源码 ............................................................... 1
1.4. 必要的软件 ......................................................... 1
1.4.1. JDK 6+ ...................................................... 1
1.4.2. Eclipse Indigo 和 Juno ...................................... 1
1.5. 报告问题 ........................................................... 1
1.6. 试验性功能 ......................................................... 1
1.7. 内部实现类 ......................................................... 2
2. 开始学习 ................................................................. 3
2.1. 一分钟入门 ......................................................... 3
2.2. 安装Activiti ....................................................... 3
2.3. 安装Activiti数据库 ................................................. 4
2.4. 引入Activiti jar和依赖 ............................................. 4
2.5. 下一步 ............................................................. 5
3. 配置 ..................................................................... 6
3.1. 创建ProcessEngine .................................................. 6
3.2. ProcessEngineConfiguration bean .................................... 7
3.3. 数据库配置 ......................................................... 7
3.4. JNDI数据库配置 ..................................................... 8
3.4.1. 使用 ........................................................ 9
3.4.2. 配置 ....................................................... 10
3.5. 支持的数据库 ...................................................... 10
3.6. 创建数据库表 ...................................................... 11
3.7. 理解数据库表的命名 ................................................ 12
3.8. 数据库升级 ........................................................ 12
3.9. 启用Job执行器 ..................................................... 12
3.10. 配置邮件服务器 ................................................... 13
3.11. 配置历史 ......................................................... 13
3.12. 为表达式和脚本暴露配置 ........................................... 13
3.13. 配置部署缓存 ..................................................... 13
3.14. 日志 ............................................................. 13
3.15. 映射诊断上下文 ................................................... 14
3.16. 事件处理 ......................................................... 14
3.16.1. 事件监听器实现 ............................................. 15
3.16.2. 配置与安装 ................................................. 15
3.16.3. 在运行阶段添加监听器 ....................................... 16
3.16.4. 为流程定义添加监听器 ....................................... 17
3.16.4.1. 让监听器执行用户定义的逻辑 ........................... 17
3.16.4.2. 监听抛出BPMN事件 ..................................... 17
3.16.4.3. 流程定义中监听器的注意事项 ........................... 18
3.16.5. 通过API分发事件 ............................................ 18
3.16.6. 支持的事件类型 ............................................. 19
3.16.7. 附加信息 ................................................... 22
4. Activiti API ............................................................ 23
4.1. 流程引擎的API和服务 ............................................... 23
4.2. 异常策略 .......................................................... 25
4.3. 使用Activiti的服务 ................................................ 25
Activiti 5.16 用户手册
iv
4.3.1. 发布流程 .................................................... 26
4.3.2. 启动一个流程实例 ............................................ 28
4.3.3. 完成任务 .................................................... 28
4.3.4. 挂起,激活一个流程 .......................................... 29
4.3.5. 更多知识 .................................................... 29
4.4. 查询API ........................................................... 29
4.5. 表达式 ............................................................ 30
4.6. 单元测试 .......................................................... 31
4.7. 调试单元测试 ...................................................... 32
4.8. web应用中的流程引擎 ............................................... 34
5. Spring集成 .............................................................. 36
5.1. ProcessEngineFactoryBean .......................................... 36
5.2. 事务 .............................................................. 36
5.3. 表达式 ............................................................ 38
5.4. 资源的自动部署 .................................................... 39
5.5. 单元测试 .......................................................... 40
5.6. 基于注解的配置 .................................................... 41
5.7. JPA 和 Hibernate 4.2.x ........................................... 43
6. 部署 .................................................................... 45
6.1. 业务文档 .......................................................... 45
6.1.1. 编程式部署 .................................................. 45
6.1.2. 通过Activiti Explorer控制台部署 ............................. 45
6.2. 外部资源 .......................................................... 46
6.2.1. Java类 ...................................................... 46
6.2.2. 在流程中使用Spring beans .................................... 46
6.2.3. 创建独立应用 ................................................ 47
6.3. 流程定义的版本 .................................................... 47
6.4. 提供流程图片 ...................................................... 48
6.5. 自动生成流程图片 .................................................. 49
6.6. 类别 .............................................................. 50
7. BPMN 2.0介绍 ............................................................ 51
7.1. 啥是BPMN? ........................................................ 51
7.2. 定义一个流程 ...................................................... 51
7.3. 快速起步:10分钟教程 .............................................. 52
7.3.1. 前提 ....................................................... 52
7.3.2. 目标 ....................................................... 52
7.3.3. 用例 ....................................................... 53
7.3.4. 流程图 ...................................................... 53
7.3.5. XML内容 ..................................................... 53
7.3.6. 启动一个流程实例 ............................................ 54
7.3.7. 任务列表 .................................................... 55
7.3.8. 领取任务 .................................................... 56
7.3.9. 完成任务 .................................................... 57
7.3.10. 结束流程 ................................................... 58
7.3.11. 代码总结 ................................................... 59
7.3.12. 更多思考 ................................................... 60
8. BPMN 2.0结构 ............................................................ 61
8.1. 自定义扩展 ........................................................ 61
8.2. 事件(Event) ..................................................... 61
Activiti 5.16 用户手册
v
8.2.1. 事件定义 .................................................... 61
8.2.2. 定时器事件定义 .............................................. 62
8.2.3. 错误事件定义 ................................................ 63
8.2.4. 信号事件定义 ................................................ 63
8.2.4.1. 触发信号事件 ......................................... 63
8.2.4.2. 捕获信号事件 ......................................... 64
8.2.4.3. 查询信号事件的订阅 .................................... 64
8.2.4.4. 信号事件范围 ......................................... 64
8.2.4.5. 信号事件实例 ......................................... 64
8.2.5. 消息事件定义 ................................................ 66
8.2.5.1. 触发消息事件 ......................................... 66
8.2.5.2. 查询消息事件的订阅 .................................... 67
8.2.5.3. 消息事件实例 ......................................... 67
8.2.6. 开始事件 .................................................... 67
8.2.7. 空开始事件 .................................................. 68
8.2.7.1. 描述 ................................................. 68
8.2.7.2. 图形标记 ............................................. 68
8.2.7.3. XML结构 .............................................. 68
8.2.7.4. 空开始事件的自定义扩展 ................................ 68
8.2.8. 定时开始事件 ................................................ 69
8.2.8.1. 描述 ................................................. 69
8.2.8.2. 图形标记 ............................................. 69
8.2.8.3. XML内容 .............................................. 69
8.2.9. 消息开始事件 ................................................ 69
8.2.9.1. 描述 ................................................. 69
8.2.9.2. 图形标记 ............................................. 70
8.2.9.3. XML内容 .............................................. 71
8.2.10. 信号开始事件 ............................................... 71
8.2.10.1. 描述 ................................................ 71
8.2.10.2. 图形标记 ............................................ 71
8.2.10.3. XML格式 ............................................. 72
8.2.11. 错误开始事件 ............................................... 72
8.2.11.1. 描述 ................................................ 72
8.2.11.2. 图形标记 ............................................ 72
8.2.11.3. XML内容 ............................................. 72
8.2.12. 结束事件 ................................................... 73
8.2.13. 空结束事件 ................................................. 73
8.2.13.1. 描述 ................................................ 73
8.2.13.2. 图形标记 ............................................ 73
8.2.13.3. XML内容 ............................................. 73
8.2.14. 错误结束事件 ............................................... 73
8.2.14.1. 描述 ................................................ 73
8.2.14.2. 图形标记 ............................................ 73
8.2.14.3. XML内容 ............................................. 74
8.2.15. 取消结束事件 ............................................... 74
8.2.15.1. 描述 ................................................ 74
8.2.15.2. 图形标记 ............................................ 74
8.2.15.3. XML内容 ............................................. 75
8.2.16. 边界事件 ................................................... 75