剛來上班不久,老總就讓我去研究jBPM這個(gè)框架,因?yàn)閺膩頉]有接觸過這個(gè)框架,所以在結(jié)合網(wǎng)上的一些資料整理了一下jBPM與SSH2的整合;
想要讓JBPM4.4與SSH2進(jìn)行整合,首先肯定是要先讓SSH2整合好,那是必須的。其實(shí)也就是與Spring之間的整合了,因?yàn)橛腥パ芯窟^jBPM的人都知道,jBPM本來就是使用了Hibernate來實(shí)現(xiàn)存儲(chǔ)流程的,而Struts的壓根就與jBPM撤不上什么關(guān)系.
整合前,很有必要先對(duì)JBPM有個(gè)認(rèn)識(shí)。JBPM在管理流程時(shí),是需要數(shù)據(jù)庫表的支持的,因?yàn)榈讓拥倪壿嬘心敲磸?fù)雜。默認(rèn)下載下來的配置,使用的是內(nèi)存數(shù)據(jù)庫。實(shí)際應(yīng)用中,我們就需要連接到我們的數(shù)據(jù)庫里來。所以要事先建好相關(guān)的表,相應(yīng)的sql文件在\jbpm-4.4\install\src\db下;
JBPM在操作流程時(shí),一切都是基于ProcessEngine對(duì)象,所以整合的思路很簡(jiǎn)單,只要我們能讓Spring創(chuàng)建出ProcessEngine,整合就算是邁出一大步,我們先在spring配置文件(applicationContext.xml ,也就是相當(dāng)于spring注冊(cè)bean)里加入如下代碼
Java代碼 1. <!--jbpm4.4工作流 --> 2. <bean id="springHelper" class="org.jbpm.pvm.internal.processengine.SpringHelper"> 3. <property name="jbpmCfg" value="spring-jbpm4.cfg.xml" /> 4. </bean> 5. <bean id="processEngine" factory-bean="springHelper" factory-method="createProcessEngine" /> 在這里創(chuàng)建processEngine 對(duì)象,在這里用到jbpm.cfg.xml,它的內(nèi)容如下: 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> 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里的,我們只管加載就行。 到此,整合所需要做的配置,就是這些了, 關(guān)鍵一步走完了; 下面一步,就是jar包的添加,如果你已經(jīng)整合了SSH2,那么你只需要再添加jbpm.jar,juel-api.jar, juel-engine.jar,juel-impl.jar,mail.jar即可; 所需包 1. jbpm.jar 2. mail.jar 下面三個(gè)放到tomcat的lib目錄下,因?yàn)檫@三個(gè)包會(huì)和tomcat的el-api.jarjbpm
jbpm.cfg.xml里又引用了那么多的文件,這些文件在哪里?這些文件,他們都在jbpm.jar文件里,這不是我們管的事。
到這里,還沒有完!前面說過,JBPM要數(shù)據(jù)庫表的支持才能工作,JBPM又是使用Hibernate操作數(shù)據(jù)庫,就不免要配置Hibernate的表與實(shí)體的映射文件,如下:
聯(lián)系客服