一、spring的配置文件applicationContext.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns=" http://www.springframework.org/schema/beans "
xmlns:xsi=" http://www.w3.org/2001/XMLSchema-instance "
xmlns:context=" http://www.springframework.org/schema/context "
xmlns:aop=" http://www.springframework.org/schema/aop "
xmlns:tx=" http://www.springframework.org/schema/tx "
xsi:schemaLocation=" http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-3.0.xsd ">
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">
<property name="driverClass" value="com.mysql.jdbc.Driver"/>
<property name="jdbcUrl" value="jdbc:mysql://localhost:3306/test"/>
<property name="user" value="root"/>
<property name="password" value="cqsztt"/>
<property name="initialPoolSize" value="3" />
<property name="minPoolSize" value="3" />
<property name="maxPoolSize" value="50" />
<property name="maxIdleTime" value="600" />
<property name="maxStatements" value="100" />
<property name="acquireIncrement" value="3" />
</bean>
<!--spring的配置文件有两处需要改动的地方,此为1:
springHelper实现了ApplicationContextAware接口,springHelper可以从spring容器中获得ApplicationContext,
然后springHelper可以利用ApplicationContext和jbpm.cfg.xml(jbpm的配置文件)一起生成伟大的processEngine。
配置到这一步的时候,有些人就开始着急测试,多次碰壁后,有的高手居然想到了使用Spring 的IOC功能自己写个processEngin工厂
,大家都知道jbpm使用了hibernate,但如何将hibernate的sessionFactory注入给JBPM呢?莫及,继续往下看
-->
<bean id="springHelper" class="org.jbpm.pvm.internal.processengine.SpringHelper" />
<bean id="processEngine" factory-bean="springHelper" factory-method="createProcessEngine" />
<!--Hibernate SessionFatory-->
<bean id="sessionFactory"
class="com.travelsky.bravo.core.utils.AutoLoadSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="mappingResources">
<list>
<!--此处为第二处需要修改的地方
此处千万不要忘记了 ,这5个映射关系会在spring容器初始化的时候persistent到数据库中,如果没有,肯定会报exception
写到这里我要说明下:看过jbpm有个关于hibernate配置的文件:jbpm.hibernate.cfg.xml,我这种写法就是要去掉这个文件,
将spring + jbmp都使用一个Hibernate的配置,也就不会出现两个sessionFactory和两个database的情况了。有的同学可 发表不同的意见认为:将hibernate的配置信息写到一个单独的文件里,感觉清爽些。但是,无论如何,你总得在这个文件里配置 sessionFactory吧,所以总得配置hibernate的东东,所以干脆写在一起,将来修改起来也方便,不需要打开两个文件,至于其他细节东西 我就不到啰嗦了,到此,spring的配置文件就结束了。
-->
<value>jbpm.repository.hbm.xml</value>
<value>jbpm.execution.hbm.xml</value>
<value>jbpm.history.hbm.xml</value>
<value>jbpm.task.hbm.xml</value>
<value>jbpm.identity.hbm.xml</value>
</list>
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">
org.hibernate.dialect.Oracle10gDialect
</prop>
<prop key="hibernate.show_sql">true</prop>
<prop key="hibernate.format_sql">true</prop>
<prop key="hibernate.cache.provider_class">
org.hibernate.cache.EhCacheProvider
</prop>
<prop key="hibernate.cache.use_query_cache">true</prop>
</props>
</property>
</bean>
<bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory"/>
</bean>
<!--事务管理的配置,不这么配置不影响ssh+jbpm整合-->
<tx:advice id="txAdvice" transaction-manager="transactionManager">
<tx:attributes>
<tx:method name="save" propagation="REQUIRED"/>
<tx:method name="update" propagation="REQUIRED"/>
<tx:method name="is*" read-only="true"/>
</tx:attributes>
</tx:advice>
<aop:config>
<aop:pointcut expression="execution(public * com.cqs.service.impl.*.*(..))" id="userServicePointcut"/>
<aop:advisor advice-ref="txAdvice" pointcut-ref="userServicePointcut"/>
</aop:config>
<!--不影响ssh+jbpm整合-->
<bean id="hibernateTemplate" class="org.springframework.orm.hibernate3.HibernateTemplate">
<property name="sessionFactory" ref="sessionFactory"></property>
</bean>
</beans>
二、 jbpm的配置文件
1、jbpm.cfg.xml
< jbpm-configuration >
< import resource =" jbpm.default.cfg.xml " />
< import resource =" jbpm.tx.spring.cfg.xml " /><!--jbpm.tx.hibernate.cfg.xml不用了,无需其他配置-->
< import resource =" jbpm.jpdl.cfg.xml " />
< import resource =" jbpm.bpmn.cfg.xml " />
< import resource =" jbpm.identity.cfg.xml " />
< import resource =" jbpm.businesscalendar.cfg.xml " />
</ jbpm-configuration >
三、 部署到Tomcat
整合struts2就没什么好讲的了,主要是spring和struts2整合,jbpm部署到tomcat6的时候,主要jar包冲突的问 题,tomcat的lib里面的东西和项目lib里面的jar包版本等不一样的时候容易造成load到内存中的字节码出现乱七八糟的问题。
需要特别说明的是
1、WEB-INF/lib下面的三个jar包juel.jar,juel-engine.jar,juel-impl.jar剪切 到tomcat的lib下
2、在tomcat的lib中新加javaee.jar,重新部署,并启动tomcat,如果成功即可,不成功需要删除tomcat lib下的el-api.jar
3、有人数tomcat5下不会出现jar包冲突的情况,我不知道,没用过,我就不试了,哈哈
相关推荐
【jbpm4整合struts2+spring2.5+hibernate3.3】的集成是企业级应用开发中常见的技术栈组合,旨在利用各框架的优势实现高效、灵活的业务流程管理。jbpm4是一个开源的工作流管理系统,用于定义、执行和管理业务流程。...
jbpm4.0实例(整合spring2.5+ext3.0+hibernate)
Jbpm是一个开源的工作流管理系统,它提供了一整套业务流程自动化解决方案。在3.2.2版本中,jbpm提供了对工作流建模、执行、监控和管理的功能。它支持BPMN(Business Process Modeling Notation)标准,使得业务流程...
标题中的"spring+struts1+hibernate+jbpm实例"揭示了这是一个基于Java技术栈的Web应用程序开发实例,其中涉及四大核心技术:Spring、Struts1、Hibernate和JBPM。接下来,我们将深入探讨这些技术及其在实际项目中的...
4. **jbpm流程引擎**:jbpm是一款开源的工作流和业务流程管理系统,它可以管理和执行业务流程。在OA办公系统中,jbpm负责定义和执行各种审批流程,如请假申请、报销审批等,使得工作流程自动化。 5. **DWR(Direct ...
Struts、Hibernate、Spring 和 jBPM 是四个在企业级应用开发中广泛使用的开源框架,它们结合在一起可以构建出高效且灵活的智能工作流系统。下面将分别介绍这些技术及其在工作流系统中的作用。 **Struts** Struts 是...
### Spring + Hibernate + jBPM 整合知识点详解 #### 一、项目背景与整合目的 在企业级应用开发中,通常需要实现业务流程管理、数据持久化以及服务层等功能。Spring框架因其强大的依赖注入(DI)和面向切面编程...
基于Struts、Spring和Hibernate的集成框架SSH,加上流程管理工具jbpm,构建出的工作流系统是一种高效、灵活的企业级应用解决方案。这种系统主要用于实现业务流程自动化,提升企业的运营效率。 **Struts**:Struts是...
此外,Spring还提供了对Jbpm的工作流服务的整合,使得在业务流程中调用工作流变得简单。 Hibernate是一个持久化框架,它简化了数据库操作,通过对象关系映射(ORM)将Java对象与数据库表进行对应。在公文审批流程中...
【jbpm4整合struts2+spring2.5+hibernate3.3】的知识点详解 jbpm4是一款开源的工作流管理系统,它允许开发者设计、执行和管理业务流程。在实际开发中,通常需要将其与其他流行的技术框架,如Struts2、Spring和...
将jbpm4.0、EXT3.0、Spring和Hibernate整合在一起,可以构建出一个功能强大的业务流程管理系统。Spring作为整体架构的胶水,管理各组件的生命周期;Hibernate负责数据持久化,处理与数据库的交互;jbpm4.0则处理业务...
jbpm4整合struts2+spring2[1].5+hibernate3.3
在本资源中,我们主要关注的是使用Eclipse集成开发环境(IDE)进行Web应用程序的开发,特别是集成Struts、Hibernate、Spring和JBPM这四个关键的技术框架。这四个框架是Java企业级应用开发中的核心组件,它们分别负责...
【JBPM4.4+Hibernate3.5.4+Spring3.0.4+Struts2.1.8整合】的整个过程涉及到多个关键组件的集成,这些组件都是Java企业级开发中的重要部分。首先,JBPM(Business Process Management)是一个开源的工作流引擎,它...
【jbpm4+spring+hibernate】是一个集成示例,展示了如何将业务流程管理工具Jbpm4与Spring框架和Hibernate ORM库协同工作。这个示例主要关注于在企业级应用中实现工作流管理和数据持久化。让我们深入探讨这三个技术...
JBPM5工作流引擎 S2SH+JBPM4.4开发工作流的一个完整的请假流程例子。带有文档教程和所有源码+JAR包。在网上找了半天jbpm6\jbpm7的资料,都很少。所以 环境:Myeclipse2015 JDK1.7 mysql 5.0 Struts2+Spring3.1 1...
在学习jbpm5的过程中,发现很难找到一个合适的,能跑的起来的,整合ssh的例子,之前在csdn上花费不少分下了好多个,能跑起来的好像就1个,不是jar包不匹配就是些其他的莫名奇妙的错误,对应刚刚接触jbpm的人来说,一...
精通Eclipse整合Web开发——Struts,Spring,Hibernate,JBPM 图书馆下载的,不是很清晰,如果介意的,请不要下载,不要拍砖。 总共有三部分。