JBPM4.4與SSH2的整合

剛來上班不久,老總就讓我去研究jBPM這個框架,由於歷來沒有接觸過這個框架,因此在結合網上的一些資料整理了一下jBPM與SSH2的整合;spring

想要讓JBPM4.4SSH2進行整合,首先確定是要先讓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.jarjuel-impl.jarmail.jar便可;

所需包 

1.      jbpm.jar  

2.      mail.jar

下面三個放到tomcatlib目錄下,由於這三個包會和tomcatel-api.jar

相關文章
相關標籤/搜索