1. 程式人生 > >多資料庫下activiti的流程定義快取問題

多資料庫下activiti的流程定義快取問題

我們使用activiti(5.14版本)作為流程引擎,今天在產品中發現一個問題,某流程的審批記錄中,
活動例項表中記錄的活動名稱(ACT_HI_ACTINST表的ACT_NAME)竟然是該流程中不存在的活動名稱,
確認了該流程沒有被修改升級過。
後來發現了是activiti快取的問題,我們的產品是支援多公司使用的,各個公司分別使用不同的資料庫,
因此不同公司下activiti生成的流程定義ID有可能重複(ACT_RE_PROCDEF的ID_欄位),例如A公司和B公司都存在名為Proc:1:104的流程。
這時候,activiti的快取機制只會載入其中一個到記憶體中(先使用的先載入),因此就會出現A公司使用了B公司流程的問題。

解決方案:定義流程時,給流程定義ID加上一個公司ID的標識,這樣就能保證全系統唯一。

相關推薦

資料庫activiti流程定義快取問題

我們使用activiti(5.14版本)作為流程引擎,今天在產品中發現一個問題,某流程的審批記錄中, 活動例項表中記錄的活動名稱(ACT_HI_ACTINST表的ACT_NAME)竟然是該流程中不存在的活動名稱, 確認了該流程沒有被修改升級過。 後來發現了是activiti

Activiti流程定義語言(BPMN)

3.1什麼是BPMN 業務流程建模與標註(Business Process Model and Notation,BPMN) ,描述流程的基本符號,包括這些圖元如何組合成一個業務流程圖(Business Process Diagram) Eclispse畫出流程,有兩個檔案bpmn檔

擴充套件Activiti流程定義檔案,實現自定義節點屬性

為了滿足業務需要,流程設計階段需對設計產物流程定義檔案中節點屬性進行擴充套件,譬如:任務是否支援退回、退回方式、退回的節點,任務轉派人、任務可跳轉的節點範圍等屬性資訊。為了保證擴充套件後的流程定義檔案能夠正常解析,我們採用類似<activiti:formProperty>元素的方式,模式如下:

activiti 流程定義部署及查詢

package com.mycom.processDefinition; import java.io.InputStream; import java.util.List; import java.util.zip.ZipInputStream; import org.activiti.eng

activiti流程定義的部署

import org.activiti.engine.ProcessEngine; import org.activiti.engine.ProcessEngines; import org.activiti.engine.RepositoryService; import org.acti

Activiti流程定義刪除

在開發中肯定會有一些流程不需要了,要刪除,Activiti中也是存在刪除操作的, 通過流程定義部署ID來執行刪除流程定義。 不說那麼多直接上程式碼: /** * 刪除流程定義 */ @Tes

Activiti流程定義管理

<definitionsxmlns="http://www.omg.org/spec/BPMN/20100524/MODEL"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:xsd="http://www.w3.org/2001/XM

【入門篇】Activiti查詢指定流程定義待辦task

需求 某人登入系統後,需要對他待辦的任務進行處理 涉及到的表 act_ru_task 方案 根據流程定義key和任務人,依賴taskservice服務,查詢act_ru_task表待辦內容

【入門篇】Activiti查詢指定流程定義已完成的流程例項

需求 使用者和管理員有時候需要統計,有多少個業務例項通過了稽核,這個時候需要查詢指定流程下的已完成的流程例項,用做後期的統計。 涉及到的表 act_hi_procinst:流程例項歷史表 方案 根據流程定義key,依賴historyservice服務來完成 程式碼

activiti自己定義流程之整合(四):整合自己定義表單部署流程定義

borde row ont 創建 source als dst art select 綜合前幾篇博文內容。我想在整合這一部分中應該會有非常多模塊會跳過不講,就如自己定義表單的表單列表那一塊,由於這些模塊在整合的過程中都差點兒沒有什麽修改,再多講也是反復無用功。

jq自定義拉列表框

多選 img 插件 國家 http 分享 class 下拉 blog 多選選擇國家插件 https://gitee.com/richard1015/dropDownList jq自定義多選下拉列表框

工作流3-activiti工作流流程定義的CURD

activiti的流程定義API Explain:activiti對流程的增刪該查 (學習源自傳智播客itcast) 獲取引擎 ProcessEngine processEngine = ProcessEngine.getDefaultProcessEngine();

Activiti】從入門到放棄——專案實戰之流程定義管理

步驟分析: 要想在實現一個能夠完成流程定義的crud的功能,也就是在專案中能夠對各種流程(客戶報備,報銷,請假等)進行crud,那就是一個完整的模組,應該單獨獨立一個選單。並且完成這個選單的模組管理。 1)選單-跳轉到管理介面 2)選單模組管理 i.部署新流程-沒有資料 ii.列表/重新整理

Activiti】從入門到放棄——流程定義語言(BPMN)

什麼是BPMN 業務流程建模與標註(Business Process Model and Notation,BPMN) ,描述流程的基本符號,包括這些圖元如何組合成一個業務流程圖(Business Process Diagram) Eclispse畫出流程,有兩個檔案bpmn檔案和png檔案

Activiti工作流--流程定義--之三

       由於概念性的東西這裡就不在做更多的介紹了,下面直接對activiti的流程進行介紹,為了方便大家的更快的熟悉流程,在此處我就直接上程式碼介紹,本人技術水平有限,有不正確之處還請大家指出,多謝大家的海涵,在此謝過了!!! 配置資料庫連線 activi

Activiti進階(三)——流程定義的CRUD

     流程定義的RCUD,也就是對流程的增刪該查,這篇博文簡單的為大家介紹一下使用Activiti的api對流程定義進行增刪改查操作。 一、檢視流程定義 // 查詢流程定義 @Test

【原創】無快取資料庫,部門樹結構處理--轉載請註明出處

1. 資料庫設計 我們在工作中經常會用到樹型結構的資料,比如公司的部門結構,倉庫物品的分類等。一般這些樹的結構,都是任意層級的,而非固定的幾層結構。此時,我們就要用到樹形的資料結構。以下,將會以部門樹為例進行描述。 資料庫表結構:

【原創】SSM框架,新增activiti流程引擎配置--轉載請註明出處

1.Activiti簡介 Activiti是一款基於bpmn2.0標準所開發的流程引擎,該引擎可以對bpmn20.xml和bpmn檔案進行解析,按照設計的所預先設計出的流程圖來進行流程流轉的工作流引擎。目前在市場上的大部分OA系統工作流都是基於該框架進行開發的。 2.Activiti的ja

Android ListView 拉重新整理,上拉載入更,帶動畫 自定義控制元件

之前每次 專案中用到ListView 的 下拉重新整理 以及上拉分頁載入 都是 用的 網上 下載 的 類庫, 使用起來 諸多不便 ,於是 趁著有空 ,自己封裝了ListView 讓其 實現 下拉重新整理,以及分頁載入功能。 以下是 效果圖: 當 滑動到 ListView 頂

activiti定義流程之Spring整合activiti-modeler5.16例項(六):啟動流程

1.啟動流程並分配任務是單個流程的正式開始,因此要使用到runtimeService介面,以及相關的啟動流程的方法。我習慣於用流程定義的key啟動,因為有多個版本的流程定義時,用key啟動預設會使用最新版本。同時,因為啟動中查詢了流程部署時xml檔案中流程節點的資訊,也用