freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

jbpm高手進(jìn)階手冊-資料下載頁

2024-11-03 12:30本頁面

【導(dǎo)讀】websale中jbpmContext的創(chuàng)建是在filter中完成的,其類為。每個request,均由filter創(chuàng)建jbpmContext,bean中通過()獲取當(dāng)前的JbpmContext實(shí)例。比如HomeBean初始化代碼:。沒有提供流程監(jiān)控的功能的相關(guān)API,這點(diǎn)讓很多使用JBPM做企業(yè)應(yīng)用的開發(fā)人員頗為頭疼。其實(shí),在JBPM中我們可以通過手工編碼的方式來實(shí)現(xiàn)商業(yè)工作流中所具有的流程監(jiān)控功能。首先我們要拿到所有的已發(fā)布的流程表的最后一個版本的信息,關(guān)于這一塊我們可以通過JbpmContext來實(shí)現(xiàn):。JBPM的持久層是用Hibernate實(shí)現(xiàn)的,因此要實(shí)現(xiàn)根據(jù)流程定義名稱找到所有的處于活動狀態(tài)下的流程實(shí)例我們要寫一。段HQL來查找所有的由該流程產(chǎn)生的流程實(shí)例,然后對得到的流程實(shí)例集合進(jìn)行過濾,拿到我們想要的所有處于活動狀。從名稱我們可以看出,這段HQL的作用是用來根據(jù)流程ID來查詢對應(yīng)的所有的流程實(shí)例,同時按開始時間排倒序。上面的這段HQL表示取指定用戶的所有未處理的的任務(wù)實(shí)例。不符合我們的要求,我們需要在這段HQL的基礎(chǔ)上加

  

【正文】 // 因此 assertXxx()一般都寫在測試方法最后 // 在控制臺顯示流程實(shí)例中 3個變量的名字,但是這 3個變量中都沒值 Set set = ().keySet()。 Iterator it = ()。 while (()) { (().toString())。 } // 斷言任務(wù)實(shí)例名稱等于 “create new web sale order” ,如果不等報(bào)錯 assertEquals(create new web sale order, ())。 // 斷言任務(wù)實(shí)例中沒有變量,如果有就報(bào)錯,這能看到任務(wù)實(shí)例中有 3個變量(流程定義中的) assertEquals(0, ().size())。 } // 測試, “create new web sale order” “evaluate web order” “ok” “fork ” public void testProcessInstanceSignal() throws Exception { // 信號觸發(fā)流程實(shí)例轉(zhuǎn)向 ()。 // 取 “ernie” 第一個任務(wù)實(shí)例 TaskInstance taskInstance = (TaskInstance) (ernie).get(0)。 // 遍歷輸出該任務(wù)實(shí)例的當(dāng)前令牌所在節(jié)點(diǎn)的轉(zhuǎn)向 List transitions1 = ().getNode().getLeavingTransitions()。 for (int i = 0。 i ()。 i++) { (((Transition) (i)).getName())。 } // 結(jié)束 “ernie” 的第一個任務(wù)實(shí)例 (ok)。 // 越過 “ok” 轉(zhuǎn)向,還是 “ernie” 的第一個任務(wù)實(shí)例,遍歷輸出該任務(wù)實(shí)例的當(dāng)前令牌所在節(jié)點(diǎn)的轉(zhuǎn)向 List transitions2 = ().getNode().getLeavingTransitions()。 for (int i = 0。 i ()。 i++) { (((Transition) (i)).getName())。 } // 斷言任務(wù)實(shí)例等于 “evaluate web order” ,如果不等拋出異 常 assertEquals(evaluate web order, ())。 // 斷言任務(wù)實(shí)例中沒有變量,如果有就拋出異常 assertEquals(4, ().size())。 } // 測試, “create new web sale order” “evaluate web order” public void testPerformWebSaleOrderTask() { TaskInstance taskInstance = null。 (cookie monster)。 // 設(shè)置參與者 // 開始一個新的流程,獲取任務(wù)實(shí)例 taskInstance = ().createStartTaskInstance()。 Map taskVariables = new HashMap()。 // 新建一個變量集合 (item, cookies)。 // 給各個變量賦值 (quantity, lots of them)。 (address, sesamestreet 46)。 (taskVariables)。 // 把該變量集合綁定到任務(wù)實(shí)例 // 把任務(wù)變量集合綁定到環(huán)境實(shí)例,效果一樣,也能看到變量、泳道中這幾個值 // (taskVariables)。 ()。 // 結(jié)束任務(wù)實(shí)例 // 檢查環(huán)境實(shí)例中的各個變量值 assertEquals(cookies, (item))。 assertEquals(lots of them, (quantity))。 assertEquals(sesamestreet 46, (address))。 // 檢查 “buyer” 泳道中是不是 “cookie monster” assertEquals(cookie monster, (buyer).getActorId())。 } // 測試, “create new web sale order” “evaluate web order” public void testEvaluateAssignment() { TaskInstance taskInstance = null。 (cookie monster)。 // 設(shè)置參與者 // 開始一個新的流程,獲取任務(wù)實(shí)例 taskInstance = ().createStartTaskInstance()。 (item, cookies)。 // 給任務(wù)實(shí)例的 “item” 變量賦值 ()。 // 結(jié)束任務(wù)實(shí)例 (processInstance)。 // jbpm環(huán)境保存流程實(shí)例 processInstanceId = ()。 // 取流程實(shí)例 ID (processInstanceId= + processInstanceId)。 newTransaction()。 // 新建事務(wù) // 取 “ernie” 的所有任務(wù) List erniesTasks = (ernie)。 assertEquals(1, ())。 // 如果 “ernie” 的任務(wù)數(shù)不是 1,就拋異常 // 取出 ernie的任務(wù)實(shí)例 TaskInstance evaluateTaskInstance = (TaskInstance) (0)。 // 斷言該任務(wù)實(shí)例的參與者是 “ernie” assertEquals(ernie, ())。 // 斷言該任務(wù)實(shí)例的名稱是 “evaluate web order” assertEquals(evaluate web order, ())。 // 斷言該任務(wù)實(shí)例的令牌非空 assertNotNull(())。 // 斷言該任務(wù)實(shí)例的創(chuàng)建時間非空 assertNotNull(())。 // 斷言該任務(wù)實(shí)例的開始時間為空 assertNull(())。 // 斷言該任務(wù)實(shí)例的結(jié)束時間為空 assertNull(())。 } // 測試, “create new web sale order” “evaluate web order” “ok” “wait for money” public void testEvaluateOk() { // 開始一個新的流程,獲取任務(wù)實(shí)例 TaskInstance taskInstance = ().createStartTaskInstance()。 ()。 // 結(jié)束任務(wù)實(shí)例 (processInstance)。 // jbpm環(huán)境保存流程實(shí)例 newTransaction()。 // 新建事務(wù) // 獲取 “ernie” 的第一個任務(wù)實(shí)例 TaskInstance evaluateTaskInstance = (TaskInstance) (ernie).get(0)。 (ok)。 // 結(jié)束任務(wù)實(shí)例,向 “ok” 轉(zhuǎn)向跳轉(zhuǎn) (evaluateTaskInstance)。 // jbpm環(huán)境保存任務(wù)實(shí)例 newTransaction()。 // 新建事務(wù) // 取 “bert” 的所有任務(wù) List erniesTasks = (bert)。 assertEquals(1, ())。 // 斷言 “bert” 只有一個任務(wù) // 獲取 “ernie” 的第一個任務(wù)實(shí)例 TaskInstance waitForMoneyTaskInstance = (TaskInstance) (0)。 // 斷言該任務(wù)實(shí)例的參與者是 “bert” assertEquals(bert, ())。 // 斷言該任務(wù)實(shí)例的名字叫 “wait for money” assertEquals(wait for money, ())。 // 斷言該任務(wù)實(shí)例的令牌非空 assertNotNull(())。 // 斷言該任務(wù)實(shí)例的創(chuàng)建時間非空 assertNotNull(())。 // 斷言該任務(wù)實(shí)例的開始時間、結(jié)束時間為空 assertNull(())。 assertNull(())。 } // 測試, “create new web sale order” “evaluate web order” “ok” public void testUnwritableVariableException() { testEvaluateAssignment()。 // 調(diào)用 “ 測試, jbpm環(huán)境保存流程實(shí)例 ” newTransaction()。 // 新建事務(wù) // 獲取 “ernie” 的任務(wù)實(shí)例的集合 List erniesTasks = (ernie)。 // 獲取 “ernie” 的第一個任務(wù)實(shí)例 TaskInstance evaluateTaskInstance = (TaskInstance) (0)。 // 設(shè)置任務(wù)實(shí)例的變量 “item” 內(nèi)容為 “this is not allowed” ,該變量不是環(huán)境實(shí)例中的變量 “item” (item, this is not allowed)。 ()。 // 結(jié)束該任務(wù)實(shí)例 // (evaluateTaskInstance)。 // 把任務(wù)實(shí)例保存到 jbpm環(huán)境 new
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1