jbpm4.4環境搭建
來源:程序員人生 發布時間:2014-12-12 08:51:00 閱讀次數:4375次
研究了1段時間的工作流的,也在項目中嘗試的使用工作流。也1直在探索使用工作流的好處也在網上找了1些文章的介紹,其中有崔成龍師哥寫的博客從程序員的角度來看為何我們需要工作流,中的介紹,我這里就不在累述了。但是對工作流的學習我也處在剛剛開始的階段,對再精深的理解我也就不多說了。也許等到我們的項目上線我才有更多的發言權。
但我確切是需要記錄1下我的學習進程的。我也會陸續的寫1些工作流的文章,首先是幫助我整理知識,也幫助其他的初學者認識這個從無到有的進程。
JBPM,全稱是Java Business Process Management(業務流程管理),它是覆蓋了業務流程管理、工作流、服務協作等領域的1個開源的、靈活的、易擴大的基于java實現的流程業務處理框架(Business Process Management)。
支持企業的流程性業務利用:解釋業務規則,使得協作自動化
我所使用的是jbpm4.4為何使用這個版本呢。由于jbpm4是最成熟和使用最廣泛的版本。與jbpm3相比,其最大的變化是引入了虛擬機(PVM)同時增加了bpms的特性,jbpm4不再滿足于工作流系統的定位,開始向bpms努力。
準備工作:
1、使用的相干開發工具軟件。
1)Eclipse IDE for Java EE Developers(Eclipse 4.2)
2)jBPM4.4
3)MySQL5.6
2、配置在Eclipse中設計流程的gpd插件。(用于繪制自定義流程)
1)gpd插件所在目錄:jbpm⑷.4installsrcgpdjbpm-gpd-site.zip
2)安裝插件:Eclipse菜單 Help-->Install New Softwore...打開Install窗口;在Install窗口點擊 Add...打開Add Repository窗口;在Add Repository窗口點擊Archive...在插件所在目錄選擇jbpm-gpd-site.zip。
3)安裝完成會提示是不是重啟Eclipse,選擇重啟。
3、與ssh2整合。
想要讓JBPM4.4與SSH2進行整合,首先肯定是要先讓SSH2整合好,那是必須的。關于SSH2的整合,我在這就不多費口舌了,網上資料1大把。
整合前,很有必要先對JBPM有個感性的認識。JBPM在管理流程時,是需要數據庫表的支持的,由于底層的邏輯有那末復雜。默許下載下來的配置,使用的是內存數據庫。實際利用中,我們就需要連接到我們的數據庫里來。
研究過JBPM的人都知道,JBPM在操作流程時,1切都是基于ProcessEngine對象,所以整合的思路很簡單,只要我們能讓Spring創建出ProcessEngine,整合就算是邁出1大步,我們先在spring配置文件(applicationContext.xml)里加入以下代碼:
<!-- 配置ProcessEngine -->
<bean id="springHelper" class="org.jbpm.pvm.internal.processengine.SpringHelper">
<property name="jbpmCfg" value="jbpm.cfg.xml"></property>
</bean>
<bean id="processEngine" factory-bean="springHelper" factory-method="createProcessEngine" />
在這里創建processEngine 對象,在這里用到 jbpm.cfg.xml,它的內容以下:
<?xml version="1.0" encoding="UTF⑻"?>
<jbpm-configuration>
<import resource="jbpm.default.cfg.xml" />
<import resource="jbpm.businesscalendar.cfg.xml" />
<!-- 與Spring整合需要導入jbpm.tx.spring.cfg.xml文件 -->
<import resource="jbpm.tx.spring.cfg.xml" />
<import resource="jbpm.jpdl.cfg.xml" />
<import resource="jbpm.bpmn.cfg.xml" />
<import resource="jbpm.identity.cfg.xml" />
</jbpm-configuration>
看到這里,也許你又會問:jbpm.cfg.xml
里又援用了那末多的文件,這些文件在哪里?這些文件,你不用擔心,他們都在jbpm.jar文件里,這不是我們管的事。
到這里,算完了嗎?還沒有!前面說過,JBPM要數據庫表的支持才能工作,JBPM又是使用Hibernate操作數據庫,就不免要配置Hibernate的表與實體的映照文件,以下:
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration⑶.0.dtd">
<hibernate-configuration>
<session-factory>
<!--
數據庫信息 -->
<property name="dialect">org.hibernate.dialect.MySQL5InnoDBDialect</property>
<property name="connection.url">jdbc:mysql:///itcastoa_20120216</property>
<property name="connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="connection.username">root</property>
<property name="connection.password">root</property>
<!-- 其他配置 -->
<property name="show_sql">true</property>
<property name="hbm2ddl.auto">update</property>
<!-- 導入JBPM4.4的映照文件 -->
<mapping resource="jbpm.repository.hbm.xml" />
<mapping resource="jbpm.execution.hbm.xml" />
<mapping resource="jbpm.history.hbm.xml" />
<mapping resource="jbpm.task.hbm.xml" />
<mapping resource="jbpm.identity.hbm.xml" />
<!-- 導入自己的映照配置(根據自己的情況填寫) -->
<mapping resource="cn/itcast/oa/domain/User.hbm.xml" />
<mapping resource="cn/itcast/oa/domain/Department.hbm.xml" />
<mapping resource="cn/itcast/oa/domain/Role.hbm.xml" />
</session-factory>
</hibernate-configuration>
看到這里,也許你又會問,上面的這些*.hbm.xml文件又是哪來的?放心,這些,又是在jbpm.jar里的,我們只管加載就行。
下面1步,就是jar包的添加,如果你已整合了SSH2,那末你只需要再添加
jbpm.jar,
juel-api.jar,
juel-engine.jar,
juel-impl.jar,
mail.jar
這些工作全部完成。你的jbpm+ssh2的環境就搭建完成了。
生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈