Activiti權威指南

Activiti權威指南

Activiti權威指南由清華大學出版社於2017年8月1日出版的精裝版本,總計384頁,作者為冀正、張志祥。

內容簡介

本書從原理分析和企業套用兩個方面,由淺入深,由易到難地對Activiti源碼展開了系統深入的講解,包括Activiti的底層架構設計思想以及缺陷修正、流程文檔的解析、默認元素的解析、自定義元素的解析、事件轉發器、事件清洗器等、定時作業、流程虛擬機(PVM)、事務、快取以及會話快取、監聽器、封裝MyBatis的整個過程、會簽的實現(加簽、退簽和減簽),節點跳轉(常規節點、分支節點、會簽節點),會簽自定義權重實戰,接管Activiti等等內容。

本書不僅介紹了如何合理的使用Activiti,還講解了使用Activiti的誤區和對框架中的部分缺陷進行修正已經最佳化擴展Activiti的技巧。從而使Activiti可以更好的為項目服務。從而幫助讀者全面掌控和改造Activiti。如果你想要深入透徹地掌控和改造Activiti,那么這是你不可錯過的一本乾貨書。

本書的難度為中級到高級,適合於高校學生、所有的Java開發人員、工作流愛好者、Activiti使用者、研發人員、軟體設計師、高級開發工程師、架構師。

作者簡介

冀正 資深Java技術專家,長期從事Java軟體開發工作,對Java程式設計、JVM、工作流(Activiti、Flowable)有深入的研究,對設計模式、大數據等技術有濃厚的興趣,擅長系統的性能最佳化以及底層設計,多年的開發積累了豐富的經驗,撰寫了大量的工作流相關技術文章,深受讀者的好評和追隨。多年來一直從事OA、ERP、金融等系統的開發與架構設計工作,持續關注並深入研究工作流引擎。

目錄

前言

1. 環境搭建
1.1 環境搭建
1.1.1 安裝GitHub
1.1.2 安裝Maven
1.2 編譯源碼
1.3 源碼目錄說明
1.4 安裝流程設計器
1.5 工程搭建
2. 探險流程引擎
2.1 流程配置檔案
2.1.1 Activiti配置風格
2.1.2 Spring配置風格
2.2 流程引擎架構
2.3 構造流程引擎實例對象
2.3.1 初始化流程引擎之Activiti配置風格
2.3.2 構造流程引擎實例對象
2.3.3 創建流程引擎配置類實例
2.3.4 初始化流程引擎
2.3.5 初始化流程引擎之Spring配置風格
2.4 初始化流程引擎配置類
2.5 配置器
2.5.1 初始化配置器
2.5.2 配置器實戰
2.6 初始化流程引擎
2.6.1 操作引擎表
2.7 管理流程引擎
2.7.1 註冊流程引擎
2.7.2 關閉流程引擎
2.8 流程引擎生命周期監聽器
2.9 其他方式構造引擎實例
2.9.1 ProcessEngineConfiguration類創建引擎
2.9.2 編程方式創建引擎
3. 初識流程資源部署
3.1 流程資源概述
3.1.1 流程文檔部署生命周期
3.1.2 DeploymentBuilder核心類
3.2 流程文檔部署
3.2.1 定義流程文檔
3.2.2 文本方式部署
3.2.3 classpath資源部署
3.2.4 流式部署
3.3 BpmnModel方式部署
3.4 校驗BpmnModel實例對象
3.5 BpmnModel轉換流程文檔
3.6 流程文檔轉換BpmnModel
3.7 使用建議
4. 流程文檔解析原理
4.1 文檔解析基礎
4.1.1 文檔解析模型
4.1.2 Activiti文檔解析技術選型演變
4.1.3 文檔解析實戰
4.2 元素解析功能架構設計
4.2.1 BPMN2.0元素概述
4.2.2 元素解析功能架構設計
4.2.3 開閉原則
4.2.4 元素與元素屬性承載類以及元素解析器對應關係
4.2.5 元素屬性承載類架構
4.3 元素解析環境準備
4.3.1 文檔轉換器
4.3.2 封裝流程文檔數據流
4.3.3 初始化元素解析器
4.3.4 文檔轉換器功能
4.3.5 元素解析環境準備
4.3.6 驗證流程文檔格式
4.4 元素解析
4.4.1 元素解析入口
4.4.2 解析根元素
4.4.3 黑名單處理機制
4.4.4 流程內元素解析入口
4.4.5 解析連線
4.4.6 獲取元素坐標
4.5 子元素解析
4.5.1 初始化子元素解析器
4.5.2 解析子元素
4.5.3 解析擴展元素
4.6 節點與連線關聯
5. 自定義元素解析
5.1 自定義元素解析原理
5.2 存儲自定義元素屬性值
5.3 自定義元素實戰
5.4 擴展黑名單元素
5.4.1 擴展元素屬性原理
5.4.2 任務節點擴展屬性實戰
5.5 擴展非黑名單元素
5.5.1 自定義元素解析器
5.5.2 替換引擎元素解析器
6. 事件轉發器
6.1 初始化事件轉發器
6.2 事件轉發器架構
6.3 註冊事件監聽器
6.4 事件轉發功能之新老版本兼容
6.5 事件轉發原理以及缺陷
6.6 添加事件監聽器
6.6.1 使用配置方式添加
6.6.2 動態添加
6.7 日誌監聽器
6.7.1 初始化日誌監聽器
6.7.2 初始化日誌處理器
6.7.3 日誌處理器架構
6.7.4 收集日誌數據入口
6.8 日誌清洗器架構
6.8.1 資料庫日誌清洗器
6.8.2 生成日誌數據
6.8.3 日誌存儲
6.9 自定義日誌清洗器
7. 流程文檔部署原理
7.1 初始化部署器
7.1.1 初始化內置部署器
7.1.2 部署器依賴關係
7.2 部署命令
7.2.1 過濾重複文檔
7.2.2 設定標識位
7.2.3 添加會話快取
7.2.4 部署管理器
7.3 Bpmn部署器
7.3.1 獲取資源信息
7.3.2 封裝資源信息
7.3.3 校驗資源名稱
7.3.4 計算流程定義版本值
7.3.5 生成流程定義id值
7.3.6 移除過期作業
7.3.7 添加作業
7.3.8 處理訊息
7.3.9 處理信號
7.3.10 設定流程啟動人
7.4 自定義部署器實戰
8. 快取
8.1 背景
8.2 初始化快取策略
8.3 部署管理器
8.4 快取處理類架構
8.5 默認快取處理類及Bug
8.6 流程定義快取
8.6.1 自定義快取處理類
8.6.2 驗證自定義快取處理類
8.7 Activiti新特性之節點快取
8.8 節點快取實戰
8.9 節點快取原理
8.9.1 初始化節點快取數據
8.9.2 更新節點快取
8.9.3 節點快取架構
8.9.4 節點快取使用誤區
8.10 自定義節點快取實戰
8.10.1 自定義節點快取類
8.10.2 修復Activiti節點快取不更新Bug
8.10.3 擴展引擎配置類功能
8.10.4 配置器高級用法
8.10.5 使用自定義節點快取類
8.11 任務節點快取數據獲取原理
8.11.1 獲取任務節點快取數據
8.11.2 解析任務節點快取數據
8.11.3 運用任務節點快取數據
8.12 動態修改任務節點快取數據
8.13 節點快取使用技巧
9. 定時作業
9.1 初始化作業執行器
9.2 初始化作業處理器
9.2.1 任務逾時作業
9.2.2 定時任務作業
9.2.3 定時啟動流程實例作業
9.2.4 其他作業
9.3 作業執行器原理
9.3.1 初始化作業執行器
9.3.2 啟動作業執行器
9.4 添加定時作業
9.5 執行定時作業
9.5.1 查詢作業
9.6 處理作業
9.6.1 批量處理作業
9.6.2 執行作業之異常處理
9.7 關閉作業執行器
9.8 自定義作業處理器
10. 流程虛擬機
10.1 流程虛擬機原理
10.2 虛擬機入口
10.3 流程定義轉換準備
10.3.1 初始化對象解析器集合
10.3.2 初始化內置對象解析器
10.3.3 解析調度類BpmnParseHandlers
10.3.4 BpmnParseHandler架構
10.3.5 對象解析器架構
10.4 流程對象解析入口
10.5 流程子元素對象解析入口
10.5.1 任務節點對象解析器
10.5.2 創建ActivityImpl實例對象
10.5.3 多實例對象解析
10.5.4 連線對象解析
10.6 PvmProcessElement類架構
10.7 自定義對象解析器
10.7.1 任務節點擴展屬性
10.7.2 自定義任務節點對象解析器
10.7.3 獲取自定義屬性
10.7.4 運用自定義對象解析器
10.8 流程虛擬機實戰
10.8.1 獲取流程虛擬機對象
10.8.2 入侵流程虛擬機
10.9 操作連線表達式
10.9.1 自動計算連線表達式
10.9.2 獲取連線表達式
11. 監聽器原理
11.1 監聽器生命周期
11.2 內置記錄監聽器
11.2.1 內置任務記錄監聽器
11.2.2 內置執行記錄監聽器
11.3 歷史解析器架構
11.3.1 添加內置記錄監聽器
11.3.2 初始化歷史解析器
11.3.3 歷史節點結束通知
11.3.4 控制歸檔歷史數據級別
11.3.5 更新歷史數據
11.3.6 歷史節點開始通知
11.4 注入執行監聽器
11.4.1 創建執行監聽器
11.5 注入任務監聽器
11.6 觸發執行監聽器
11.6.1 class方式調度
11.6.2 delegateExpression方式調度
11.6.3 expression方式調度
11.6.4 執行監聽器觸發入口
11.7 觸發任務監聽器
11.8 監聽器代理
11.8.1 默認代理類
11.8.2 自定義代理類
11.9 自定義全局任務監聽器
11.10 Activiti新特性之欄位注射模式
12. Activiti之設計模式
12.1.1 命令模式的結構說明
12.1.2 命令模式實戰
12.2 Activiti命令模式
12.2.1 初始化命令配置類
12.2.2 Activiti事務傳播行為
12.2.3 Spring事務攔截器
12.2.4 初始化命令調度者
12.2.5 初始化命令上下文工廠
12.2.6 初始化命令攔截器
12.3 Activiti職責鏈模式
12.4 命令相關類職責
12.5 命令攔截器
12.5.1 日誌攔截器
12.5.2 命令上下文攔截器
12.5.3 上下文類
12.5.4 創建命令上下文實例對象
12.5.5 命令調度者攔截器
12.6 自定義命令攔截器
12.7 命令類調度入口
12.8 Activiti事務
12.8.1 MyBatis事務管理
12.8.2 事務上下文架構
12.8.3 事務上下文工廠類
12.8.4 事務監聽器
12.8.5 註冊同步事務
13. 流程虛擬機運轉
13.1 流程實例運轉入口
13.2 啟動流程實例命令類
13.2.1 獲取ProcessDefinitionEntity實例對象
13.2.2 重新生成流程定義快取數據
13.3 創建流程實例
13.3.1 創建ExecutionEntity實例對象
13.3.2 獲取dataObject
13.3.3 區別流程實例與執行實例
13.3.4 添加歷史流程實例數據
13.4 虛擬機運轉原理
13.5 AtomicOperation架構
13.6 流程實例啟動
13.6.1 非異步節點處理
13.6.2 異步節點處理
13.7 原子類流轉
13.7.1 流程啟動原子類
13.7.2 流程啟動準備原子類
13.7.3 活動節點執行原子類
13.7.4 開始節點行為類
13.7.5 途經連線
13.7.6 通知連線完成原子類
13.7.7 連線銷毀原子類
13.7.8 其他原子類
13.8 Activiti新特性之忽略節點
14. 行為篇
14.1 活動行為工廠類
14.1.1 初始化活動行為工廠類
14.1.2 活動行為類架構
14.2 排他網關行為類原理
14.3 擴展排他網關實戰
14.3.1 自定義排他網關行為類
14.3.2 自定義活動行為工廠類
14.3.3 替換默認活動行為工廠類
14.4 任務節點處理人多元化配置
14.4.1 任務處理人擴展
14.4.2 自定義任務解析器
14.4.3 自定義任務行為類
14.4.4 自定義活動行為工廠類
14.5 忽略節點使用誤區
14.6 修復Activiti忽略節點Bug
14.7 修復Activiti子流程業務鍵Bug
15. Activiti存儲之MyBatis
15.1 初始化dataSource
15.2 Activiti數據訪問層關係分析
15.2.1 實體類與資料庫的映射
15.2.2 實例化SqlSessionFactory
15.3 自定義Mapper實戰
15.3.1 自定義Mapper
15.3.2 自定義SQL執行原理
15.4 SessionFactory
15.4.1 初始化SessionFactory
15.4.2 SessionFactory架構
15.5 Session
15.5.1 Session架構
15.5.2 實例化方式創建Session實例
15.5.3 反射方式創建Session實例
15.5.4 實例化DbSqlSession
15.6 SQL語句
15.6.1 SQL語句適配器
15.6.2 SQL執行id值生成規則
15.7 數據層和數據的關係
15.7.1 PersistentObject業務對象
15.7.2 實體管理類
15.8 添加會話快取
15.9 更新操作
15.9.1 會話快取方式更新
15.9.2 SqlSession方式更新
15.10 刪除操作
15.10.1 DeleteOperation接口
15.10.2 BulkDeleteOperation刪除數據
15.10.3 CheckedDeleteOperation刪除數據
15.10.4 樂觀鎖
15.11 刷新會話快取入口
15.12 會話快取數據持久化
15.12.1 移除不必要數據
15.12.2 刷新序列化變數
15.12.3 獲取更新對象
15.12.4 刷新數據
15.12.5 解決依賴數據插入先後順序
15.12.6 性能最佳化
16. 實戰
16.1 高並發id生成器
16.1.1 id生成器初始化
16.1.2 自增id生成器
16.1.3 自定義主鍵生成器
16.2 變數類型
16.2.1 初始化變數管理類
16.2.2 變數管理類架構
16.2.3 變數處理類
16.2.4 自定義變數處理類
16.3 ServiceLoader方式注入配置器
16.4 節點跳轉
16.4.1 常規節點跳轉
16.4.2 分支節點跳轉
16.4.3 多實例節點跳轉
16.5 會簽
16.5.1 串列多實例
16.5.2 認領和歸還任務
16.5.3 代理任務
16.5.4 並行多實例
16.5.5 加簽
16.5.6 減簽和退簽
16.6 會簽節點自定義權重實現
16.6.1 定義處理人權重
16.6.2 獲取權重信息並自動計算
16.6.3 最佳化建議
16.7 接管Activiti
16.7.1 接管Activiti映射檔案
16.7.2 禁用用戶表和組表
16.7.3 自定義用戶角色和部門表
16.7.4 擴展任務節點參與者表
16.7.5 自定義任務節點參與者命令類
16.7.6 流程文檔支持設定部門屬性
16.7.7 解析及運用流程文檔部門屬性
16.7.8 自定義代辦SQL
16.8 接管Activiti實體管理類

相關詞條

相關搜尋

熱門詞條

聯絡我們