流程定義檔案:helloWorld.xml
<?xml version="1.0" encoding="UTF-8"?>
<process-definition xmlns="urn:jbpm.org:jpdl-3.1" name="Helloworld">
<start-state>
<transition to='s' />
</start-state>
<state name='s'>
<transition to='end' />
</state>
<end-state name='end' />
</process-definition>
流程XML檔案定義完成之後,接下來的工作就是要将其釋出到對應的資料庫中,将我們的流程定義部署到資料庫時,部署時流程的名稱就是前面提高的<process definition>裡定義的name”屬性的值。
JBPM的版本機制允許在資料庫中多個同名流程定義共存,流程執行個體以當時的最新版本來啟動,并且在它的整個生命周期中将保持以相同的流程定義執行。當一個新的版本被部署,新的流程執行個體以新版本啟動,而老的流程執行個體則以老的流程定義繼續執行。
在部署的時候,jbpm 安排一個版本(version)号碼(數字)給流程定義。為了實作安排version号碼,如果它是第一個版本(version),JBPM采取1+或者1。從ProcessDefinition pd=JbpmContext.getGraphSession()
.findLatestProcessDefinition("processName")
中可以通過一個給定的processName查找最近的流程定義,這裡的processName就是前面我們在定義流程的時候在<process definition>裡定義的name”屬性的值,這個屬性就是用來表示該流程的名稱。如我們的下列代碼就是要列出JBPM資料庫裡的有所有最後一次釋出的流程定義的版本:
JbpmContext context=JbpmContext.getCurrentJbpmContext();
List ls=context.getGraphSession().findLatestProcessDefinitions();
/*
這裡傳回的List是ProcessDefinition的集合
*/