activiti 工作流關鍵表分析

2021-09-13 21:50:59 字數 3292 閱讀 3744

0. 前置條件

其中步驟一和步驟二分別包含變數step1_user和step2_user

1. 流程部署

**

processengineconfiguration configuration

= processengineconfiguration

.createprocessengineconfigurationfromresource("activiti.cfg.xml");

processengine processengine = configuration.buildprocessengine();

repositoryservice repositoryservice = processengine.getrepositoryservice();

deploymentbuilder builder = repositoryservice.createdeployment();

builder.addclasspathresource("test.bpmn");

builder.deploy();

涉及表
執行buildprocessengine,根據配置可建立activiti的全部23張表;

執行builder.deploy()後,test.bpmn所代表的流程定義被建立,主要涉及以下兩張表:

2.1 act_re_procdef: 這裡儲存流程定義名稱、版本、關鍵字、以及對應的資源檔案,也就是test.bpmn;

2.2 act_re_deployment: 儲存這一次的部署記錄

備註: 這裡的re是repository的縮寫,相關命名規範下的表儲存靜態資源資訊

2. 例項化乙個新流程

**

runtimeservice runtimeservice =processengine.getruntimeservice();

mapvariables=new hashmap();

variables.put("step1_user", "fred05");

runtimeservice.startprocessinstancebykey("test_process", variables);

涉及表
act_ru_task:當前跑的流程例項所執行到的任務;

act_ru_variable: 當前跑的流程例項所用到的變數,即**中用map傳入的引數

act_ru_execution:當前跑的流程例項,上述act_ru_task、act_ru_variable都會關聯到act_ru_execution的主鍵

act_hi_actinst: 記錄歷史流轉的節點

act_hi_taskinst: 記錄歷史流轉的task,應該說act_hi_actinst包含了act_hi_taskinst,後者只記錄usertask型別的節點;

act_hi_procinst: 整個流程例項的歷史資訊

3. 走到下一步任務

**

taskservice taskservice = processengine.gettaskservice();

listtasks = taskservice.createtaskquery().taskcandidateorassigned("fred05").list();

for (task task : tasks)

涉及表
ru相關表切換task至最新狀態

hi相關表新增一條新記錄,注意的是記錄中endtime會賦值

4. 流程結束**略

涉及表

ru 相關的表中無相關記錄

act_hi_procinst表中將有這條流程例項的完整記錄

5. 其他場景

並行閘道器 parallelgateway

涉及表

此時在任務啟動後,act_ru_task會有兩個task;

同時act_ru_execution也會有多條記錄,每個待執行的task都是一條記錄,其中is_concurrent_ 是否並行欄位為true

當兩個task都結束後,工作流例項才結束,act_hi_procinst的end_time_才被賦值

Activiti工作流概述

一 概述 工作流 workflow 就是 業務過程的部分或整體在計算機應用環境下的自動化 它主要解決的是 使在多個參與者之間按照某種預定義的規則傳遞文件 資訊或任務的過程自動進行,從而實現某個預期的業務目標,或者促使此目標的實現 工作流管理系統 workflow management system,...

Activiti工作流課程

activiti5是由alfresco軟體在2010年5月17日發布的業務流程管理 bpm 框架,它是覆蓋了業務流程管理 工作流 服務協作等領域的乙個開源的 靈活的 易擴充套件的可執行流程語言框架。activiti基於apache許可的開源bpm平台,創始人tom baeyens是jboss jbp...

Activiti 工作流框架

1 什麼是工作流,工作流的核心物件是什麼,activiti共運算元據庫多少張表 工作流就是多個參與者,按照某種預定義的規則,傳遞業務資訊,進行審核的功能乙個框架 activiti processengine,呼叫service,從而運算元據庫的表 23張表 大致分為 1 資源庫流程規則表 2 執行時...