複習步驟7 Activiti啟動流程

2021-09-19 07:53:45 字數 2871 閱讀 7461

說明,子流程 -- 即子執行流

activiti

_ru_

即runtime

這種表都是儲存執行時即流程執行時,即流程沒走完

end

節點時資料,會隨著流程流轉的節點隨時變化的,

act_ru_execution --

儲存執行時

當前節點

下的主流程

(主執行流

)和子執行流資料

act_ru_task   --

儲存此時

正在流轉即當前節點的資料(子執行流

任務)

activiti processinstance(流程例項) 和 execution(執行流)

processinstance 流程例項,是主執行流 繼承execution

啟動流程,會建立流程例項,此是會在act_ru_execution中儲存資料(主流程(主執行流)資料、子執行流資料--裡面是儲存當前節點下的主流程資料、子執行流資料),

如果只有乙個流程分支的話,還會在此表中建立一條子執行流資料,會引用主流程資料的id,

如果有多個分支就會建立多個子執行流資料

如圖,乙個分支的流程

/**

* activiti processinstance

(流程例項)

和execution

(執行流) *

測試乙個流程分支

act_ru_execution

中儲存資料(主流程資料、子執行流資料)情--

* --

如果是乙個流程分支,會產生乙個主流程資料,和建立一條子執行流資料,會引用主流程資料的id,

*/publicvoidoneprotest()

/*** activiti processinstance(流程例項) 和 execution(執行流)

* 測試 乙個流程分支  act_ru_execution中儲存資料(主流程資料、子流程資料)情--

* -- 如果是乙個流程分支,會產生乙個主流程資料,和建立一條子流程資料,會引用主流程資料的id,

*/public static void oneprotest()

/*** activiti processinstance(流程例項) 和 execution(執行流)

* 測試 多個流程分支  act_ru_execution中儲存資料(主流程資料、子流程資料)情--

* -- 如果是多個流程流程分支,會產生乙個主流程資料,和建立多條子流程資料,都會引用主流程資料的id,

*/public static void manyprotest()

/**  設定與查詢流程引數

* activiti processinstance(流程例項) 和 execution(執行流)

*測試子執行流taska設定乙個本地引數,測試子執行流taskb設定乙個本地引數,再流轉到taskc

*時,兩個執行流taska和taskb都執行完畢(complete),只剩下乙個主流程和乙個子執行流(觀察 act_ru_execution表--查此時只剩下乙個主流程和乙個子執行流

*在流轉到taskc之前,即在taska和taskb時未執行complete,之前,act_ru_execution表表有乙個主流程和兩個子執行流taska和taskb),

*此時獲取taska和taskb設定的引數,發現taska設定的本地引數獲取出來為null,全域性引數可正常獲取

*/public static void provarscopetest()

if("taskb".equals(task.getname()))

});list.foreach((task)->);

/*斷點觀察act_ru_execution  執行完taska和taskb(complete) 此時在taskc,觀察act_ru_execution表剩下乙個主流程和乙個子執行流,act_ru_task表

只剩下執行任務taskc

*///獲取taska和taskb設定的引數

task task = taskservice.createtaskquery().processinstanceid(pi.getid()).singleresult();//獲取此時的流程節點,即taskc

system.out.println("taskvara"+taskservice.getvariable(task.getid(), "taskvara"));//getvariablelocal(string taskid, string variablename)

system.out.println("taskvara"+taskservice.getvariable(task.getid(), "taskvarb"));//getvariablelocal(string taskid, string variablename)

//輸出結果 taskvaranull

//taskvarataskb節點上設定的全域性變數

taskservice.complete(task.getid());

/*斷點觀察act_ru_execution  執行完taskc(complete),觀察act_ru_execution表剩下乙個主流程和乙個子執行流,act_ru_task表

全空了,也證明了 activiti _ru_ 即 runtime這種表都是儲存執行時即流程執行時,即流程沒走完end

節點時資料,會隨著流程流轉的節點隨時變化的,

act_ru_execution -- 儲存執行時 當前節點 下的 主流程和乙個子執行流 資料

act_ru_task   -- 儲存此時 正在流轉即當前節點的資料(子執行流 資料)*/}

}

rust複習筆記7

近幾年工作中大量使用erlang開發,除了天然支援分布式外,erlang的模式匹配最值得稱道。其他語言golang,scala也提供模式匹配,總覺得表達不夠豐富,用起來也彆扭,當然有可能是與自己對這兩門語言本身理解不深有關。直到遇到rust,才找回那種自由的感覺。模式是 rust 中特殊的語法,它用...

C語言複習筆記 7

所謂除錯 debug 就是讓 一步一步慢慢執行,跟蹤程式的執行過程。比如,可以讓程式停在某個地方,檢視當前所有變數的值,或者記憶體中的資料 也可以讓程式一次只執行一條或者幾條語句,看看程式到底執行了哪些 在除錯的過程中,我們可以監控程式的每乙個細節,包括變數的值 函式的呼叫過程 記憶體中資料 執行緒...

移動應用7個步驟

最近的哈里斯互動研究表明,較差的移動應用程式,可能極大地損害品牌的聲譽。幾乎有三分之一的受訪者表示,當有乙個差的移動應用程式經驗時他們告訴過別人。不過,超過半數表示,他們推薦過有良好體驗的移動應用程式。為移動應用提供乙個良好的使用者體驗是至關重要的。這裡有七個步驟,讓你以正確的方式開發一款偉大的移動...