`
awtqty_zhang
  • 浏览: 92919 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

JBPM4.4学习二------JBPM4.4+SSH+Tomcat+Sqlserver整合

    博客分类:
  • jbpm
阅读更多

版本说明: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

 至此,我们已经完成了整个整合。

 

 

0
0
分享到:
评论

相关推荐

    jbpm-4.4\jbpm-4.4\doc\javadocs

    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-API-CHM官方英文版(自己制作整合)

    jbpm4.4+ssh2+sql server2000带jar包

    在“jbpm4.4+ssh2+sql server2000带jar包”的项目中,这些jar包包含了jbpm4.4、SSH2框架以及其他依赖库的代码,用于构建和运行整个请假流程应用。 【jbpm_5_leave_web】可能是该项目的主模块或子目录,可能包含了...

    jbpm4.4+ssh整合

    jbpm4.4+ssh整合还需要安装插件进入到myeclipse中 将相应的jar文件放进去 就能够运行 jbpm4.4 jar ssh(strut2,hibernate3,spring3)三大框架整合的jar包 例子是 请假流程 代码中有很好的注释 便于初学者学习

    jbpm4.4+ssh

    【jbpm4.4+SSH】是一个集成的Java企业级应用框架,主要涉及的是工作流管理系统jbpm4.4与Spring、Struts2(SSH)三大框架的整合。jbpm4是一个开源的工作流程管理系统,它提供了流程定义、执行、监控和优化等一系列...

    jbpm4.4+tomcat6+eclipse jee

    【jbpm4.4+Tomcat6+Eclipse JEE】是一个经典的组合,用于构建基于流程管理的Java企业级应用。JBPM(Business Process Management)是一个开源的工作流管理系统,它允许开发者设计、部署和执行业务流程。Tomcat6则是...

    jBPM4.4+ssh 整合配置及完整实例

    文件"jBPM4.4库表(sqlserver2000).txt"提供了jBPM在SQL Server 2000环境下所需的数据库表结构。根据这个文件,你需要在数据库中创建这些表,以便jBPM能够正确存储和检索流程数据。表的创建通常涉及到流程实例、任务...

    jBPM4.4 安装在Tomcat+MySql环境

    ### jBPM4.4 在 Tomcat + MySQL 环境下的安装指南 #### 一、准备工作 在开始安装之前,我们需要确保以下几项准备工作已经完成: 1. **下载相关软件**: - [jBPM 4.4](http://sourceforge.net/projects/jbpm):一...

    JBPM4.4+SSH2完整整合jar包 part1

    JBPM4.4整合SSH2的完整jar包,绝对可用!(注:此为第一部分,需要下载第二部分一起解压才可用,下载地址:http://download.csdn.net/detail/zf723182723/4385173)

    jbpm4.4 ibatis-spring 整合

    jbpm4.4 ibatis-spring 整合

    JBPM4.4+ssh2+流程图实例

    【整合JBPM4.4与SSH2】 将JBPM4.4与SSH2结合,可以实现远程管理和控制JBPM的工作流实例。例如,通过SSH2连接到服务器,开发者可以使用命令行工具或自定义脚本来启动、停止、查询或干预流程实例。这在分布式环境或...

    java权限框架_ssh+shiro+jbpm4.4+lucene+easyui

    【SSH权限框架】 SSH(Spring、Struts2、Hibernate)是Java开发中常见的三大框架组合,用于构建企业级Web应用程序。Spring提供了依赖注入和面向切面编程的能力,Struts2作为MVC框架负责控制流程,而Hibernate则作为...

    jBPM4.4.rar_jbpm4.4_jbpm4.4 PDF

    《jBPM4.4开发指南》与《jBPM4.4中文用户手册》是深入理解jBPM4.4这一开源工作流管理系统的重要参考资料。jBPM,全称Java Business Process Management,是一个用于执行业务流程的轻量级、灵活的开源框架,它为业务...

    jbpm4.4 + ssh 案例

    首先感谢原创,相关信息请查询原创。... 看到好多朋友找不到相应的jar包,致使jbpm4.4的学习遇到困难,现提供除jbpm4.4自身jar包外的所有包,以便大家更快的学习jbpm4.4,希望能帮朋友们少走弯路!

    jbpm4.4文档+学习资料

    二、jbpm4.4的主要特性 1. 工作流引擎:jbpm4.4的核心是其工作流引擎,它负责执行流程实例。引擎支持流程定义的动态加载、并发控制和事务管理,确保流程的正确执行。 2. 图形化建模工具:jbpm提供了一个基于Eclipse...

    Jbpm4.4+hibernate3.5.4+spring3.0.4+struts2.1.8整合

    【JBPM4.4+Hibernate3.5.4+Spring3.0.4+Struts2.1.8整合】的整个过程涉及到多个关键组件的集成,这些组件都是Java企业级开发中的重要部分。首先,JBPM(Business Process Management)是一个开源的工作流引擎,它...

    Jbpm4.4 整合Spring Hibernate4

    - `jbpm-jpdl-4.4.jar`:提供了JPDL(Jbpm Process Definition Language)的支持,用于描述和解析流程定义文件。 - `jbpm-bpmn-4.4.jar`:包含了对BPMN 2.0标准的支持,提供图形化的流程设计和解析功能。 - `jbpm-...

Global site tag (gtag.js) - Google Analytics