簡單介紹jBPM與SSH的完整實例
簡單介紹jBPM與SSH的完整實例,如果是其它版本的框架也很容易做程序的遷移。
流程的定義
流程的定義建議使用jBPM提供的eclipse下的插件,圖形化配置插件安裝文件可以到jbpm-starters-kit-3.1.4\jbpm-designer\jbpm-gpd-feature\eclipse下找到,需注意版本。使用這種方式可以把定義的流程描述的三個文件壓縮成zip包,統一的部署到數據庫中,方便b/s系統中顯示圖片當前節點信息。
1插件安裝
把jbpm-gpd-feature文件夾復制到C:\Program Files\MyEclipse-6.0M1\eclipse\plugins下,注意自己的ecplise路徑。
在C:\Program Files\MyEclipse-6.0M1\eclipse\links文件夾下建立jbpm-gpd.link文件。內容如下:path=C:\\Program Files\\MyEclipse-6.0M1\\eclipse\\plugins\\jbpm-gpd-feature。
這樣再重新啟動eclipse就可以使用流程定義功能了。
2流程的定義
在Eclipse環境中選擇file->new->other下的jboss jbpm->process definition流程定義。要在自己的項目文件中先指定文件要創建的文件夾。
這樣會產生三個文件:gpd.xml、processdefinition.xml、processimage.jpg。
processdefinition.xml為描述流程定義文件,本例為:
- <?xml version="1.0" encoding="UTF-8"?>
- <process-definition name="文檔測試流程">
- <start-state name="開始"> <transition name="提交張三審批" to="張三審批"></transition>
- </start-state>
- <task-node name="張三審批">
- <task name="審批1">
- <assignment actor-id="張三"/>
- </task>
- <transition name="提交李四審批" to="李四審批"></transition>
- </task-node>
- <task-node name="李四審批">
- <task name="審批2">
- <assignment actor-id="李四"/>
- </task>
- <transition name="提交王五審批" to="王五審批"></transition>
- </task-node>
- <task-node name="王五審批">
- <task name="審批3">
- <assignment actor-id="王五"/>
- </task>
- <transition name="結束流程" to="結束"></transition>
- </task-node>
- <end-state name="結束"></end-state>
- </process-definition>
processimage.jpg文件是定義流程產生的圖片、gpd.xml文件是圖形文件的座標說明。用于在b/s下顯示流程流轉的圖片位置。
本例中的gpd.xml文件
- <?xml version="1.0" encoding="UTF-8"?>
- <process-diagram name="文檔測試流程" width="801" height="477">
- <node name="開始" x="308" y="4" width="140" height="40">
- <transition name="提交張三審批">
- <label x="5" y="-10"/>
- </transition>
- </node>
- <node name="張三審批" x="310" y="90" width="140" height="40">
- <transition name="提交李四審批">
- <label x="5" y="-10"/>
- </transition>
- </node>
- <node name="李四審批" x="313" y="192" width="140" height="40">
- <transition name="提交王五審批">
- <label x="5" y="-10"/>
- </transition>
- </node>
- <node name="王五審批" x="308" y="307" width="140" height="40">
- <transition name="結束流程">
- <label x="5" y="-10"/>
- </transition>
- </node>
- <node name="結束" x="307" y="401" width="140" height="40"/>
- </process-diagram>
【編輯推薦】