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