版本说明:JBPM4.4 + Struts2 + Spring3 + Hibernate3
注:
想要让JBPM4.4与SSH2进行整合,首先需要先整合SSH2。关于SSH2的整合部分省略。
JBPM在管理流程时,是需要数据库表的支持的,但默认下载下来的配置,使用的是内存数据库。实际应用中,我们就需要连接到我们的数据库里来。所以要事先建好相关的表,相应的sql文件在\jbpm-4.4\install\src\db下,但它没有提供SqlServer 相关建表语句,需要我们自己去建立,附件为是一位网友提供的建表语句,直接执行即可。
一、配置Spring相关文件:
JBPM在操作流程时,一切都是基于ProcessEngine对象,所以只要我们能让Spring创建出ProcessEngine,整合就算成功一半了,我们先在spring的配置文件里加入如下代码:
<bean id="springHelper" class="org.jbpm.pvm.internal.processengine.SpringHelper"> <property name="jbpmCfg" value="spring-jbpm4.cfg.xml" /> </bean> <bean id="processEngine" factory-bean="springHelper" factory-method="createProcessEngine" /> <bean id="repositoryService" factory-bean="processEngine" factory-method="getRepositoryService"/> <bean id="executionService" factory-bean="processEngine" factory-method="getExecutionService"/> <bean id="taskService" factory-bean="processEngine" factory-method="getTaskService"/> <bean id="historyService" factory-bean="processEngine" factory-method="getHistoryService"/> <bean id="identityService" factory-bean="processEngine" factory-method="getIdentityService"/>
这里配置跟配置其他bean一样,只是在创建processEngine 对象时,使用到了spring-jbpm4.cfg.xml文件,该文件为JBPM的一个配置文件,内容如下:
<?xml version="1.0" encoding="UTF-8"?> <jbpm-configuration> <process-engine-context> <string name="spring.cfg" value="spring-jbpm4.xml" /> </process-engine-context> <import resource="jbpm.default.cfg.xml" /> <import resource="jbpm.tx.spring.cfg.xml" /> <import resource="jbpm.jpdl.cfg.xml" /> <import resource="jbpm.bpmn.cfg.xml" /> <import resource="jbpm.businesscalendar.cfg.xml" /> <import resource="jbpm.console.cfg.xml" /> <import resource="jbpm.identity.cfg.xml" /> <!-- <import resource="jbpm.jobexecutor.cfg.xml" /> --> </jbpm-configuration>
该文件中又引入了一些外部文件,但这些文件都已经包含在jbpm.jar文件里,所以就不需要你管他了。
二、配置Hibernate相关文件:
前面说过,JBPM要数据库表的支持才能工作,JBPM又是使用Hibernate操作数据库,就不免要配置Hibernate的表与实体的映射文件,如下:
<property name="mappingLocations"> <list> <value>classpath:jbpm.execution.hbm.xml</value> <value>classpath:jbpm.history.hbm.xml</value> <value>classpath:jbpm.identity.hbm.xml</value> <value>classpath:jbpm.repository.hbm.xml</value> <value>classpath:jbpm.task.hbm.xml</value> </list> </property>
说明:本人是使用Spring来管理的,没有使用Hibernate的配置文件。
此处的.hbm.xml文件与前面的Spring中引入的文件一样,都是由jbpm.jar提供。至此我们已经完成了JBPM4.4与SSH整合所需要做的配置,接下来就是添加jar包。
三、整合需要jbpm提供的jar包:
如果你之前已经整合好了SSH,那么你只需要将JBPM中的jbpm.jar, juel-api.jar,juel-engine.jar,juel-impl.jar,mail.jar五个包即可。
注:如果使用Tomcat时,需要注意tomcat的版本问题,在使用6.0.29时(其他版本没有测试,有网友说5.0版本不会),Tomcat中自带的el-api.jar与juel-api.jar,juel-engine.jar,juel-impl.jar冲突。
解决方法:需要将Tomcat中的el-api.jar用juel-api.jar,juel-engine.jar,juel-impl.jar三个包替换,然后将项目中的juel-api.jar,juel-engine.jar,juel-impl.jar删除。否则会报如下错误:
严重: Servlet.service() for servlet jsp threw exception java.lang.LinkageError: loader constraint violation: when resolving interface method "javax.servlet.jsp.JspApplicationContext.getExpressionFactory()Ljavax/el/ExpressionFactory;" the class loader (instance of org/apache/jasper/servlet/JasperLoader) of the current class, org/apache/jsp/xxx, and the class loader (instance of org/apache/catalina/loader/StandardClassLoader) for resolved class, javax/servlet/jsp/JspApplicationContext, have different Class objects for the type javax/el/ExpressionFactory used in the signature
至此,我们已经完成了整个整合。
相关推荐
jbpm-4.4\jbpm-4.4\doc\javadocsjbpm-4.4\jbpm-4.4\doc\javadocsjbpm-4.4\jbpm-4.4\doc\javadocs
JBPM4.4-API-CHM官方英文版(自己制作整合)
jbpm4.4+ssh2+sql server2000带jar包完整请假流程,可以直接运行
jbpm4.4+ssh整合还需要安装插件进入到myeclipse中 将相应的jar文件放进去 就能够运行 jbpm4.4 jar ssh(strut2,hibernate3,spring3)三大框架整合的jar包 例子是 请假流程 代码中有很好的注释 便于初学者学习
jbpm4.4+ssh配置
jBPM4.4+ssh 整合配置及完整实例
JBPM4.4整合SSH2的完整jar包,绝对可用!(注:此为第一部分,需要下载第二部分一起解压才可用,下载地址:http://download.csdn.net/detail/zf723182723/4385173)
jbpm4.4 ibatis-spring 整合
JBPM4.4+spring+ext整合
jBPM4.4 安装在Tomcat+MySql环境
首先感谢原创,相关信息请查询原创。... 看到好多朋友找不到相应的jar包,致使jbpm4.4的学习遇到困难,现提供除jbpm4.4自身jar包外的所有包,以便大家更快的学习jbpm4.4,希望能帮朋友们少走弯路!
Spring+hibernate4+SpringMVC+Jbpm4.4 。Jbpm 4.4 整合 spring,数据库是mysql,hibernate大版本是4。供以后参考使用
jbpm4.4+ssh 整合 分享给大家供大家学习参考
JBPM4.4+ssh2+流程图实例,只需要加入SSH包与去官方下载JBPM4.4I我包。
jbpm4.4+tomcat+s2sh 完整开发请假流程jbpm
JBPM4.4与SSH2之整合(附完整源码) 这些天,想着把jbpm4.4与ssh2整合一下,由于之前从来没用过jbpm,也不知道各版本之间会有什么差异(经过网上的收集对比,还真有些差异),整合起来,还真是有些步履艰难。收集了...
Jbpm4.4+hibernate3.5.4+spring3.0.4+struts2.1.8整合 超级详细的文档,透彻讲解JBPM与SSH的整合过程
JBPM4.4+SSH2完整整合jar包
基于角色,组织的权限,细化到按钮,可直接在此项目上进行二次开发,代码非常规范,开源项目,希望对大家有帮助
jbpm4.4整合s2sh 请假流程例子