剛來上班不久,老總就讓我去研究jBPM這個框架,由於歷來沒有接觸過這個框架,因此在結合網上的一些資料整理了一下jBPM與SSH2的整合;spring
想要讓JBPM4.4與SSH2進行整合,首先確定是要先讓SSH2整合好,那是必須的。其實也就是與Spring之間的整合了,由於有去研究過jBPM的人都知道,jBPM原本就是使用了Hibernate來實現存儲流程的,而Struts的壓根就與jBPM撤不上什麼關係.sql
整合前,頗有必要先對JBPM有個認識。JBPM在管理流程時,是須要數據庫表的支持的,由於底層的邏輯有那麼複雜。默認下載下來的配置,使用的是內存數據庫。實際應用中,咱們就須要鏈接到咱們的數據庫裏來。因此要事先建好相關的表,相應的sql文件在\jbpm-4.4\install\src\db下;數據庫
JBPM在操做流程時,一切都是基於ProcessEngine對象,因此整合的思路很簡單,只要咱們能讓Spring建立出ProcessEngine,整合就算是邁出一大步,咱們先在spring配置文件(applicationContext.xml ,也就是至關於spring註冊bean)里加入以下代碼api
Java代碼 tomcat
1. <!--jbpm4.4工做流 --> app
2. <bean id="springHelper" class="org.jbpm.pvm.internal.processengine.SpringHelper"> 框架
3. <property name="jbpmCfg" value="spring-jbpm4.cfg.xml" /> ide
4. </bean> spa
5. <bean id="processEngine" factory-bean="springHelper" factory-method="createProcessEngine" /> hibernate
在這裏建立processEngine 對象,在這裏用到jbpm.cfg.xml,它的內容以下:
Java代碼
1. <?xml version="1.0" encoding="UTF-8"?>
2. <jbpm-configuration>
3. <process-engine-context>
4. <string name="spring.cfg" value="spring-jbpm4.xml" />
5. </process-engine-context>
6. <import resource="jbpm.default.cfg.xml" />
7. <import resource="jbpm.tx.spring.cfg.xml" />
8. <import resource="jbpm.jpdl.cfg.xml" />
9. <import resource="jbpm.bpmn.cfg.xml" />
10. <import resource="jbpm.identity.cfg.xml" />
11. <import resource="jbpm.businesscalendar.cfg.xml" />
12. <import resource="jbpm.console.cfg.xml" />
13. <!--
14. <import resource="jbpm.jobexecutor.cfg.xml" />
15. -->
16. </jbpm-configuration>
jbpm.cfg.xml裏又引用了那麼多的文件,這些文件在哪裏?這些文件,他們都在jbpm.jar文件裏,這不是咱們管的事。
到這裏,尚未完!前面說過,JBPM要數據庫表的支持才能工做,JBPM又是使用Hibernate操做數據庫,就難免要配置Hibernate的表與實體的映射文件,以下:
Java代碼
1. <property name="mappingLocations">
2. <list>
3. <value>classpath:jbpm.execution.hbm.xml</value>
4. <value>classpath:jbpm.history.hbm.xml</value>
5. <value>classpath:jbpm.identity.hbm.xml</value>
6. <value>classpath:jbpm.repository.hbm.xml</value>
7. <value>classpath:jbpm.task.hbm.xml</value>
8. </list>
9. </property>
我這裏直接使用的spring管理,沒使用hibernate.cfg.xml; 有興趣能夠本身試試;上面的這些
*.hbm.xml文件又是在jbpm.jar裏的,咱們只管加載就行。 到此,整合所須要作的配置,就是這些了,
關鍵一步走完了;
下面一步,就是jar包的添加,若是你已經整合了SSH2,那麼你只須要再添加jbpm.jar,juel-api.jar,
juel-engine.jar,juel-impl.jar,mail.jar便可;
所需包
1. jbpm.jar
2. mail.jar
下面三個放到tomcat的lib目錄下,由於這三個包會和tomcat的el-api.jar