【導(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ǔ)上加