设为首页 收藏本站
查看: 293|回复: 0

[经验分享] JBPM4.4学习二------JBPM4.4+SSH+Tomcat+Sqlserver整合

[复制链接]

尚未签到

发表于 2017-2-5 14:39:17 | 显示全部楼层 |阅读模式
  版本说明: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
  至此,我们已经完成了整个整合。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-337911-1-1.html 上篇帖子: tomcat 服务器开启gzip压缩功能(转载) 下篇帖子: cobertura-1.9.4.1结合tomcat生成测试报告
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表