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