摘要:如圖流程引擎創建完成后,只會對進行操作,屬性數據表存儲整個流程引擎級別的數據初始化表結構時,會默認插入四條記錄,流程部署測試流程部署,先把上面的流程引擎配置的注解改為。如圖資源流程定義數據表這里面存放的就是我們部署的資源元數據信息。
關于activiti是什么,我這里就不多說了,我們直接上路,O(∩_∩)O哈哈~
引擎配置配置方式有好幾種:
1):
/** * 獲取默認的流程引擎實例 會自動讀取activiti.cfg.xml文件,驅動包,url,數據庫用戶名,密碼寫在xml中 */ private ProcessEngine processEngine=ProcessEngines.getDefaultProcessEngine();
2):通過java配置,我們這里講使用 JUnit單元測試,為了更清晰,我們使用Java配置,
//流程引擎 private ProcessEngine processEngine; /** * @Description: 數據庫初始化 * @param: * @return: void */ @Test public void testProcessEngineConfiguration() { ProcessEngineConfiguration config = ProcessEngineConfiguration.createStandaloneProcessEngineConfiguration (); config.setJdbcDriver ("com.mysql.jdbc.Driver"); config.setJdbcUrl("jdbc:mysql://localhost:3306/tx-activiti?characterEncoding=UTF-8&serverTimezone=UTC&nullCatalogMeansCurrent=true"); config.setJdbcUsername("root"); config.setJdbcPassword("root"); //在構建過程引擎時,執行檢查并在必要時執行模式的更新. 如果沒有表則創建, config.setDatabaseSchemaUpdate (ProcessEngineConfiguration.DB_SCHEMA_UPDATE_TRUE); processEngine = config.buildProcessEngine (); }
我們只需要新建好數據庫,然后執行上面的 單元測試方法, 然后就會自動在表中新建 28 張表。
如圖:
流程引擎創建完成后,只會對 act_ge_property 進行操作,
act_ge_property 屬性數據表存儲整個流程引擎級別的數據,初始化表結構時,會默認插入四條記錄,
流程部署測試流程部署,先把上面的流程引擎配置的注解改為@Before。
@Before //@Test public void testProcessEngineConfiguration() { //... }
部署流程:
/** * @Description: 部署 * @param: * @return: void */ @Test public void testCreateDeployment() { Deployment deployment = processEngine.getRepositoryService () // 倉庫服務 .createDeployment () //創建部署對象 .addClasspathResource ("diagrams/helloword.bpmn") // 加載資源文件 .addClasspathResource ("diagrams/helloword.png") .name ("HelloWorld") //流程名稱 .key ("helloword_key") // 部署key .category ("test") //類別 .tenantId ("hz") //租戶id,用于區分多個項目共用一個流程服務 .deploy (); System.out.println ("流程部署ID:"+ deployment.getId ()); System.out.println ("流程部署Key:"+ deployment.getKey ()); System.out.println ("流程部署Name:"+ deployment.getName ()); System.out.println ("流程部署TenantId:"+ deployment.getTenantId ()); System.out.println ("流程部署Time:"+ deployment.getDeploymentTime ()); System.out.println ("流程部署Category類別:"+ deployment.getCategory ()); }
返回結果:
流程部署ID:2501 流程部署Key:helloword_key 流程部署Name:HelloWorld 流程部署TenantId:hz 流程部署Time:Sun Apr 28 16:52:32 CST 2019 流程部署Category類別:test
流程部署成功,我們接下來看看他們對表結構做了什么動作。根據時間排序,我們發現有4個表發生了變更。
act_ge_property:通用_屬性表next.dbid : 由原來的 1 變成了 2501, 下一個主鍵發送了變動(感覺類似oracle的游標)。其他的沒有變動。 如圖:
act_re_procdef:資源_流程定義數據表這里面存放的就是我們部署的資源元數據信息。如圖:
這里關注ID, 流程定義ID: helloworld:1:4 -> key:部署id:隨機數
這里有一個 TENANT_ID, 其他信息存哪里了呢? 比如: Key 什么的, 我們接著看
感覺這存的就是我們的這一塊元數據信息:
act_re_deployment:資源_部署信息表感覺這存的就是我們的這一塊元數據信息:
act_ge_bytearray:通用_二進制數據表這存的就是我們的流程圖片和XML的二進制數據:
總結一共涉及的表:
1:通用數據表
1) act_ge_bytearray 二進制數據表
2) act_ge_property 屬性數據表存儲整個流程引擎級別的數據,初始化表結構時,會默認插入四條記錄,
2:資源庫流程規則表
1) act_re_deployment 部署信息表
2) act_re_procdef 流程定義數據表
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/74338.html
摘要:跳轉方法當前任務獲取流程定義獲取目標節點定義刪除當前運行任務流程執行到來源節點刪除當前運行時任務命令,并返回當前任務的執行對象這里繼承了,主要時很多跳轉業務場景下,要求不能時掛起任務。 前言 工作快2年的小白,如有錯誤,懇請大家批評指點,這也是開始寫博客的一個初衷,能夠在分享互動、知識梳理中進步。之前工作的項目使用activiti5進行企業流程系統開發,現在這份工作也開始需要流程開發,...
摘要:當一個根級的結束時,就會進行上述的緩存對象統一的持久化。解決的辦法也很簡單,改為監聽,判斷是否時需要修改的任務實體即可。這樣后面要進行駁回時,只要通過這樣關系表,馬上就可以定位到要駁回到的任務了。 1.前言 本文內容主要為以下兩點,因為內容有交叉,所以會放在一起介紹。 1.以自由跳轉為基礎實現不改變原先任務id的駁回關于Activiti6動態跳轉可以查看我的另一篇文章Activiti...
摘要:云幫能解決什么問題新一代企業平臺讓開發人員輕松地開發部署和運維應用,讓架構師和運營人員利用熟知和可靠技術打造一個受控的運行環境。有助于加速企業級應用服務于市場,實現內部資源的有效利用。 云幫是什么? 云幫 是一款基于容器技術的應用管理平臺。社區版針對個人、企業完全免費,您可以自由的下載與傳播,但需要遵循我們的社區版協議。 云幫從哪里來? 云幫是 北京好雨科技有限公司 結合容器技術整合的...
閱讀 701·2021-11-18 10:02
閱讀 2235·2021-11-15 18:13
閱讀 3139·2021-11-15 11:38
閱讀 2934·2021-09-22 15:55
閱讀 3666·2021-08-09 13:43
閱讀 2438·2021-07-25 14:19
閱讀 2449·2019-08-30 14:15
閱讀 3441·2019-08-30 14:15