JBPM4整合Spring環境搭建

 搭建JBPM4.4和Struts2.2.1、Spring2.5.6開發環境:

(1):創建JBPM的主配置文件:jbpm.cfg.xml。該文件在JBPM下的/install/src/cfg/jbpm/spring.jbpm.cfg.xml。將spring的前綴去掉後copy到項目的src目錄下

(2):spring的核心配置文件applicationContext.xml。該文件也不需要自己編寫,具體查找目錄:\install\src\cfg\spring\applicationContext.xml。同樣是copy到src目錄下,修改其中的dataSource中的數據庫連接選項即可

(3):hibernate核心配置文件:\install\src\cfg\hibernate\spring。由於我使用的是sqlserver數據庫,而JBPM沒有提供sqlserver的Hibernate配置文件.可以複製mysql的配置文件,更改一下hibernate.dialect屬性即可.記住:將該文件拷貝到src目錄下後要改變一下文件名:只需和applicationContext.xml中sessionFactory下configLocation屬性裏配置的一致即可。

到此爲止JBPM和Spring 整合就已經完成。

Spring 的配置文件裏封裝了processEngine的引用,在以後的類中想要用到ProcessEngine的時候只需注入即可。

要和數據庫進行操作,數據庫裏必須有JBPM所需要的16張表,JBPM4本身沒有提供創建sqlserver數據表的腳本,但網上有很多網友提供了該腳本,也可以參考我的另外一片博客。

接下來就是配置struts2和Spring的環境了這裏就不再詳述了。

 

 

注:JBPM和tomcat6整合的時候經常報java.lang.LinkageError:異常。解決辦法:

將項目lib目錄下的juel.jar, juel-engine.jar, juel-impl.jar三個包複製到tomcat6的lib目錄下,並且刪除項目下的這三個jar包。

附1:JBPM4實現zip流形式發佈流程定義:

ZipInputStream zipin=null;
try {
    zipin = new ZipInputStream(new FileInputStream(new File(path)));
    RepositoryService repositoryService = processEngine.getRepositoryService();
    repositoryService.createDeployment().addResourcesFromZipInputStream(zipin).deploy();
} catch (Exception e) {
   ActionContext.getContext().put("error", "發佈失敗");
   return INPUT;
}finally{
     zipin.close();
}

  將定義好的jpdl文件和同時生成的png圖片文件打包爲.zip的形式然後就可以發佈。

附2:JBPM最小依賴jar包

jbpm.jar

activation.jar

antlr.jar

commons-collections.jar

commons-logging.jar

dom4j.jar

hibernate-code.jar

junit.jar

log4j.jar

hsqldb.jar

javassist.jar

juel-api.jar

juel-impl.jar

slf4j-api.jar

slf4j-jdk14.jar

mail.jar

jta.jar

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章