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

你可能感兴趣的:(JBPM4整合Spring环境搭建)