activiti 學習( 三 ) 之 流程啟動者

2022-05-10 06:51:18 字數 833 閱讀 9263

在啟動乙個流程時,我們會有將當前使用者啟動的流程儲存起來,作為流程發起人(啟動人、申請人、提交人)

而在儲存這個流程啟動者資訊,api 沒有明確規範該怎麼存。所以這裡我總結下我學到的儲存流程啟動者資訊的方法。

咖啡兔部落格中的做法 - activiti設定流程發起使用者資訊 - 咖啡兔 - henryyan

注: 如果單純照部落格這麼做的話,確實能在 act_hi_procinst 的 start_user_id_ 字段存放該值,但是我卻沒有取出來,一直是null。

同上,也用 : identityservice.setauthenticateduserid(userid); ,但是這裡還要配合 流程定義裡面的 開始事件 startevent ,在開始事件中設定初始資訊 。eg:

使用流程變數(map) 。之前提過,在啟動流程時有很多方法,同乙個方法還有很多過載。如:

startprocessinstancebykey(string processdefinitionkey, mapvariables);

這裡啟動除了給流程定義的key,還給了乙個map ,這個map 維護了了這個流程例項的變數。裡面你能夠存放很多東西,包括啟動人資訊。如:

// 設定申請人,將之儲存在流程變數中

mapvariables = new hashmap<>();

至於得到流程變數的值,示例如下:

mapvars = taskservice.getvariables(task.getid());

for (string variablename : vars.keyset())

儲存在業務表單中。在業務表單維護乙個冗餘字段,用於儲存發起人。咖啡兔的demo源**就那麼幹的。

Activiti工作流之流程變數

以請假單為例,流程變數的意義在於將請假單跟這個流程繫結在一起,流程走到 請假單的狀態就跟到 相當於定義了乙個流程變數來儲存相對應的狀態.流程變數存在兩個級別位置,一是流程例項級別的的流程變數 在流程例項啟動時就將流程變數放入 二是流程任務級別的流程變數 在執行當前任務時將流程變數放入 10張表 se...

Activiti (三)啟動流程例項

流程的啟動 前提是已經完成部署工作 獲取processengine 物件獲取 runtimeservice 物件建立流程例項,流程定義的key需要知道 public class activitistartinstance 流程部署的id null 流程定義的id day 1 3 流程例項的id 25...

python學習之 流程和函式

簡要介紹python的流程和函式 python裡面是沒有switch的,其實switch是有乙個hash表通過表來查詢對應的跳轉 例如 switch s 1,2,3,4 for i in range 1,5 print switch.get i 條件判斷 a 1 if a 0 print 1 eli...