《Activiti权威指南》PDF下载

  • 购买积分:13 如何计算积分?
  • 作  者:冀正,张志祥著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2017
  • ISBN:9787302474982
  • 页数:384 页
图书介绍:本书分为四大部分。第一部分为基础篇(第1~4章),介绍了activiti的背景、环境搭建、流程监听器使用、流程部署的方式、动态部署实现。 第二部分为核心源码篇(第5~7章),深入讲解activiti核心类ProcessEngine的实现原理、activiti核心配置等并深入讲解内部的实现原理以及如何配置和优化。第三部分为行为篇(第8章),深入剖析activiti内部运转的机制。并且实现和扩展适合自己业务场景的方案。第四部分为企业实战篇。

第1章 环境搭建 1

1.1环境搭建 1

1.1.1安装GitHub 1

1.1.2安装Maven 1

1.2编译源码 2

1.3源码目录说明 3

1.4安装流程设计器 4

1.5工程搭建 5

第2章 探险流程引擎 7

2.1流程配置文件 7

2.1.1 Activiti配置风格 7

2.1.2 Spring配置风格 8

2.2流程引擎架构 10

2.3构造流程引擎实例对象 12

2.3.1初始化流程引擎之Activiti配置风格 14

2.3.2.构造流程引擎实例对象 15

2.3.3创建流程引擎配置类实例 16

2.3.4初始化流程引擎 18

2.3.5初始化流程引擎之Spring配置风格 19

2.4初始化流程引擎配置类 22

2.5配置器 23

2.5.1初始化配置器 23

2.5.2配置器实战 25

2.6初始化流程引擎 26

2.6.1操作引擎表 28

2.7管理流程引擎 29

2.7.1注册流程引擎 29

2.7.2关闭流程引擎 30

2.8流程引擎生命周期监听器 30

2.9其他方式构造引擎实例 31

2.9.1 ProcessEngineConfiguration类创建引擎 31

2.9.2编程方式创建引擎 33

第3章 初识流程资源部署 34

3.1流程资源概述 34

3.1.1流程文档部署生命周期 34

3.1.2 DeploymentBuilder核心类 35

3.2流程文档部署 36

3.2.1定义流程文档 36

3.2.2文本方式部署 37

3.2.3 classpath资源部署 38

3.2.4流式部署 39

3.3 BpmnModel方式部署 40

3.4校验BpmnModel实例对象 42

3.5 BpmnModel转换流程文档 42

3.6流程文档转换BpmnModel 43

3.7使用建议 43

第4章 流程文档解析原理 45

4.1文档解析基础 45

4.1.1文档解析模型 45

4.1.2 Activiti文档解析技术选型演变 46

4.1.3文档解析实战 46

4.2元素解析功能架构设计 48

4.2.1 BPMN2.0元素概述 48

4.2.2元素解析功能架构设计 49

4.2.3开闭原则 50

4.2.4元素与元素属性承载类以及元素解析器的对应关系 51

4.2.5元素属性承载类架构 52

4.3元素解析环境准备 53

4.3.1文档转换器 53

4.3.2封装流程文档数据流 55

4.3.3初始化元素解析器 56

4.3.4文档转换器功能 57

4.3.5元素解析环境准备 58

4.3.6验证流程文档格式 60

4.4元素解析 61

4.4.1元素解析入口 61

4.4.2解析根元素 64

4.4.3流程内元素解析入口 66

4.4.4解析连线 68

4.4.5获取元素坐标 69

4.5子元素解析 69

4.5.1初始化子元素解析器 69

4.5.2解析子元素 70

4.5.3解析扩展元素 72

4.6节点与连线关联 77

第5章 自定义元素解析 79

5.1自定义元素解析原理 79

5.2存储自定义元素属性值 80

5.3自定义元素实战 81

5.4扩展黑名单元素 83

5.4.1扩展元素属性原理 84

5.4.2任务节点扩展属性实战 84

5.5扩展非黑名单元素 86

5.5.1自定义元素解析器 86

5.5.2替换引擎元素解析器 88

第6章 事件转发器 90

6.1初始化事件转发器 90

6.2事件转发器架构 91

6.3注册事件监听器 93

6.4事件转发功能之新老版本兼容 95

6.5事件转发原理以及缺陷 96

6.6添加事件监听器 98

6.6.1使用配置方式添加 98

6.6.2动态添加 99

6.7日志监听器 100

6.7.1初始化日志监听器 100

6.7.2初始化日志处理器 101

6.7.3日志处理器架构 102

6.7.4收集日志数据入口 103

6.8日志清洗器架构 106

6.8.1数据库日志清洗器 106

6.8.2生成日志数据 107

6.8.3日志存储 108

6.9自定义日志清洗器 108

第7章 流程文档部署原理 111

7.1初始化部署器 111

7.1.1初始化内置部署器 113

7.1.2部署器依赖关系 115

7.2部署命令 116

7.2.1过滤重复文档 119

7.2.2设置标识位 120

7.2.3添加会话缓存 121

7.2.4部署管理器 121

7.3 Bpmn部署器 122

7.3.1获取资源信息 126

7.3.2封装资源信息 126

7.3.3校验资源名称 127

7.3.4计算流程定义版本值 128

7.3.5生成流程定义id值 128

7.3.6移除过期作业 129

7.3.7添加作业 130

7.3.8处理消息 130

7.3.9处理信号 131

7.3.10设置流程启动人 132

7.4自定义部署器实战 133

第8章 缓存 134

8.1背景 134

8.2初始化缓存策略 135

8.3部署管理器 136

8.4缓存处理类架构 137

8.5默认缓存处理类及Bug 138

8.6流程定义缓存 139

8.6.1自定义缓存处理类 139

8.6.2验证自定义缓存处理类 141

8.7 Activiti新特性之节点缓存 142

8.8节点缓存实战 142

8.9节点缓存原理 144

8.9.1初始化节点缓存数据 145

8.9.2更新节点缓存 146

8.9.3节点缓存架构 148

8.9.4节点缓存使用误区 149

8.10自定义节点缓存实战 150

8.10.1自定义节点缓存类 150

8.10.2修复Activiti节点缓存不更新Bug 152

8.10.3扩展引擎配置类功能 153

8.10.4配置器高级用法 153

8.10.5使用自定义节点缓存类 154

8.11任务节点缓存数据获取原理 155

8.11.1获取任务节点缓存数据 156

8.11.2解析任务节点缓存数据 157

8.11.3运用任务节点缓存数据 157

8.12动态修改任务节点缓存数据 158

8.13节点缓存使用技巧 159

第9章 定时作业 160

9.1初始化作业执行器 160

9.2初始化作业处理器 161

9.2.1任务超时作业 163

9.2.2定时任务作业 164

9.2.3定时启动流程实例作业 165

9.2.4其他作业 165

9.3作业执行器原理 166

9.3.1初始化作业执行器 166

9.3.2启动作业执行器 167

9.4添加定时作业 168

9.5执行定时作业 170

9.6处理作业 173

9.6.1批量处理作业 174

9.6.2执行作业之异常处理 177

9.7关闭作业执行器 177

9.8自定义作业处理器 178

第10章 流程虚拟机 181

10.1流程虚拟机原理 181

10.2虚拟机入口 183

10.3流程定义转换准备 184

10.3.1初始化对象解析器集合 185

10.3.2初始化内置对象解析器 186

10.3.3解析调度类BpmnParseHandlers 188

10.3.4 BpmnParseHandler架构 188

10.3.5对象解析器架构 190

10.4流程对象解析入口 191

10.5流程子元素对象解析入口 194

10.5.1任务节点对象解析器 195

10.5.2创建ActivityImpl实例对象 196

10.5.3多实例对象解析 199

10.5.4连线对象解析 200

10.6 PvmProcessElement类架构 201

10.7自定义对象解析器 203

10.7.1任务节点扩展属性 203

10.7.2自定义任务节点对象解析器 204

10.7.3获取自定义属性 206

10.7.4运用自定义对象解析器 207

10.8流程虚拟机实战 208

10.8.1获取流程虚拟机对象 208

10.8.2入侵流程虚拟机 209

10.9操作连线表达式 210

10.9.1自动计算连线表达式 210

10.9.2获取连线表达式 211

第11章 监听器原理 212

11.1监听器生命周期 213

11.2内置记录监听器 214

11.2.1内置任务记录监听器 214

11.2.2内置执行记录监听器 215

11.3历史解析器架构 215

11.3.1添加内置记录监听器 216

11.3.2初始化历史解析器 218

11.3.3历史节点结束通知 219

11.3.4控制归档历史数据级别 220

11.3.5更新历史数据 221

11.3.6历史节点开始通知 222

11.4注入执行监听器 223

11.5注入任务监听器 226

11.6触发执行监听器 227

11.6.1 class方式调度 227

11.6.2 delegateExpression方式调度 230

11.6.3 expression方式调度 231

11.6.4执行监听器触发入口 232

11.7触发任务监听器 233

11.8监听器代理 234

11.8.1默认代理类 234

11.8.2自定义代理类 235

11.9自定义全局任务监听器 236

11.10 Activiti新特性之字段注射模式 238

第12章Activiti之设计模式 239

12.1命令模式说明 239

12.1.1命令模式的结构说明 239

12.1.2命令模式实战 240

12.2 Activiti命令模式 241

12.2.1初始化命令配置类 242

12.2.2 Activiti事务传播行为 243

12.2.3 Spring事务拦截器 244

12.2.4初始化命令调度者 245

12.2.5初始化命令上下文工厂 245

12.2.6初始化命令拦截器 246

12.3 Activiti职责链模式 247

12.4命令相关类职责 249

12.5命令拦截器 250

12.5.1日志拦截器 250

12.5.2命令上下文拦截器 251

12.5.3上下文类 252

12.5.4创建命令上下文实例对象 253

12.5.5命令调度者拦截器 254

12.6自定义命令拦截器 255

12.7命令类调度入口 256

12.8 Activiti事务 257

12.8.1 MyBatis事务管理 257

12.8.2事务上下文架构 258

12.8.3事务上下文工厂类 259

12.8.4事务监听器 260

12.8.5注册同步事务 261

第13章 流程虚拟机运转 262

13.1流程实例运转入口 262

13.2启动流程实例命令类 263

13.2.1获取ProcessDefinitionEntity实例对象 265

13.2.2重新生成流程定义缓存数据 265

13.3创建流程实例 266

13.3.1创建ExecutionEntity实例对象 269

13.3.2获取dataObject 272

13.3.3区别流程实例与执行实例 272

13.3.4添加历史流程实例数据 273

13.4虚拟机运转原理 273

13.5 AtomicOperation架构 274

13.6流程实例启动 276

13.6.1非异步节点处理 277

13.6.2异步节点处理 278

13.7原子类流转 281

13.7.1流程启动原子类 281

13.7.2流程启动准备原子类 282

13.7.3活动节点执行原子类 283

13.7.4开始节点行为类 283

13.7.5途经连线 286

13.7.6通知连线完成原子类 287

13.7.7连线销毁原子类 287

13.7.8其他原子类 289

13.8 Activiti新特性之忽略节点 289

第14章 行为篇 291

14.1活动行为工厂类 291

14.1.1初始化活动行为工厂类 291

14.1.2活动行为类架构 292

14.2排他网关行为类原理 293

14.3扩展排他网关实战 296

14.3.1自定义排他网关行为类 296

14.3.2自定义活动行为工厂类 297

14.3.3替换默认活动行为工厂类 297

14.4任务节点处理人多元化配置 298

14.4.1任务处理人扩展 299

14.4.2自定义任务解析器 299

14.4.3自定义任务行为类 300

14.4.4自定义活动行为工厂类 301

14.5忽略节点使用误区 302

14.6修复Activiti忽略节点Bug 303

14.7修复Activiti子流程业务键Bug 303

第15章Activiti存储之MyBatis 306

15.1初始化dataSource 306

15.2 Activiti数据访问层关系分析 308

15.2.1实体类与数据库表的映射 309

15.2.2实例化SqlSessionFactory 310

15.3自定义Mapper实战 313

15.3.1自定义Mapper 313

15.3.2自定义SQL执行原理 314

15.4 SessionFactory 316

15.4.1初始化SessionFactory 316

15.4.2 SessionFactory架构 318

15.5 Session 319

15.5.1 Session架构 319

15.5.2实例化方式创建Session实例 320

15.5.3反射方式创建Session实例 320

15.5.4实例化DbSqlSession 321

15.6 SQL语句 321

15.6.1 SQL语句适配器 321

15.6.2 SQL执行id值生成规则 323

15.7数据层和数据的关系 325

15.7.1 PersistentObject业务对象 325

15.7.2实体管理类 325

15.8添加会话缓存 326

15.9更新操作 329

15.9.1会话缓存方式更新 329

15.9.2 SqlSession方式更新 329

15.10删除操作 330

15.10.1 DeleteOperation接口 330

15.10.2 BulkDeleteOperation删除数据 331

15.10.3 CheckedDeleteOperation删除数据 332

15.10.4乐观锁 334

15.11刷新会话缓存入口 334

15.12会话缓存数据持久化 336

15.12.1移除不必要的数据 336

15.12.2刷新序列化变量 338

15.12.3获取更新对象 340

15.12.4刷新数据 342

15.12.5解决依赖数据插入先后顺序 343

15.12.6性能优化 344

第16章 实战 345

16.1高并发id生成器 345

16.1.1 id生成器初始化 345

16.1.2自增id生成器 346

16.1.3自定义主键生成器 347

16.2变量类型 348

16.2.1初始化变量管理类 348

16.2.2变量管理类架构 350

16.2.3变量处理类 350

16.2.4自定义变量处理类 351

16.3 ServiceLoader方式注入配置器 353

16.4节点跳转 354

16.4.1常规节点跳转 355

16.4.2分支节点跳转 357

16.4.3多实例节点跳转 359

16.5会签 362

16.5.1串行多实例 362

16.5.2认领和归还任务 364

16.5.3代理任务 364

16.5.4并行多实例 365

16.5.5加签 366

16.5.6减签和退签 368

16.6会签节点自定义权重实现 370

16.6.1定义处理人权重 370

16.6.2获取权重信息并自动计算 371

16.6.3优化建议 373

16.7接管A ctiviti 374

16.7.1接管Activiti映射文件 374

16.7.2禁用用户表和组表 375

16.7.3自定义用户角色和部门表 375

16.7.4扩展任务节点参与者表 376

16.7.5自定义任务节点参与者命令类 377

16.7.6流程文档支持设置部门属性 378

16.7.7解析及运用流程文档部门属性 379

16.7.8自定义代办SQL 380

16.8接管Activiti实体管理类 381