SEAM內建的一些爲JBPM服務的組件以及針對JBPM的註釋
組件篇:
Actor
我們要讓JBPM"知道"當前的用戶是誰,這樣它才能夠通過此組件提供的ID來指派任務,所以就需要把當前登陸用戶的標識放到Actor的ID裏邊
taskInstanceList
當Actor指定好後,SEAM會把當前用戶沒有完成的任務列表放入這個組件
pooledTaskInstanceList
該組件存儲了所有沒有被指派的任務的列表
pooledTask
該組件有一個方法:pooledTask.assignToCurrentActor(),用於指派一個任務給當前用戶,配合s:button或者s:commandlink使用,在taskInstance屬性裏把任務實體設置好就可以了.
taskInstanceListForType['type']
該組件存儲了指派給當前用戶的特定類型的任務列表.type指的是任務名稱
註釋篇:
@CreateProcess(definition="todo")
用於創建一個新的業務流程,創建的同時,SEAM會幫你把流程持久化到指定好的數據庫裏.參數definition指的是流程的名字
@StartTask
開始一個任務
@EndTask(transition="completed")
結束任務.transition用於指定跳轉到哪個結點.
@ResumeProcess(definition="OrderManagement", processKey="#{orders.rowData.orderId}")
通過指定的參數來將當前的conversation關聯到指定的process上.definition指定了特定的流程定義.processKey指定流程ID
jBPM相關的組件這些組件要和jBPM一起使用。 org.jboss.seam.pageflow.pageflow 用於控制Seam頁面流的API。
IsInProcess()如果在進程中有一個頁面流,則返回 true
getProcessInstance() — 爲當前頁面流返回jBPM ProcessInstance (流程實例)
begin(String pageflowName) — 在當前對話的上下文中開始一個頁面流
reposition(String nodeName) — 爲當前頁面流復位到一個指定的節點
org.jboss.seam.bpm.actor 用於與當前Session相關的jBPM的角色屬性的應用控制的API
setId(String actorId) — 設置當前用戶的jBPM角色標識。
getGroupActorIds() — 返回一個更多的當前用戶羣的jBPM角色標識部分Set。
org.jboss.seam.bpm.transition 用於當前任務的jBPM轉換的應用控制的API。
setName(String transitionName) — 噹噹前任務以 @EndTask 結束時,設置jBPM臨時名字來使用。
org.jboss.seam.bpm.businessProcess 用於對話與業務處理之間聯繫的程序控制的API。
businessProcess.taskId — 與當前對話相關的任務標識。
businessProcess.processId —與當前對話相關的過程標識。
businessProcess.hasCurrentTask() — 是否是一個與當前對話相關的任務實例?
businessProcess.hasCurrentProcess() —是否是一個與當前對話相關的過程實例?
createProcess(String name) — 創建一個命名過程定義的實例,並與當前對話相關。
startTask() — 啓動與當前對話相關的任務。
endTask(String transitionName) — 結束與當前對話相關的任務。
resumeTask(Long id) — 結合當前對話和指定標識的任務。
resumeProcess(Long id) —結合當前對話和指定標識的過程。
transition(String transitionName) — 觸發臨時過程。
org.jboss.seam.bpm.taskInstance jBPM TaskInstance 的管理組件。
org.jboss.seam.bpm.processInstance jBPM ProcessInstance (流程實例)的管理組件。
org.jboss.seam.bpm.jBPMContext 事件範圍 jBPMContext 的管理組件。
org.jboss.seam.bpm.taskInstanceList jBPM任務列表的管理組件。
org.jboss.seam.bpm.pooledTaskInstanceList jBPM池任務列表的管理組件。
org.jboss.seam.bpm.taskInstanceListForType jBPM任務列表的管理組件。
org.jboss.seam.bpm.pooledTask 用於池任務安排的行爲操作。
org.jboss.seam.bpm.processInstanceFinder 過程實例任務列表管理者。
org.jboss.seam.bpm.processInstanceList 過程實例任務列表。
無論 org.jboss.seam.core.jBPM這個組件是否已安裝,所有以上組件都會被自動安裝。