`
Bluesnails
  • 浏览: 24508 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

Spring整合JBPM遇到的问题

    博客分类:
  • JBPM
阅读更多

今天尝试整合Spring和JBPM,搞了一上午都没结果。每次都是SessionFactory创建失败,主要是在加载Hibernate的映射文件时出现问题,详细步骤如下:

1、修改web.xml 增加如下:

xml 代码
  1. <context-param>  
  2.     <param-name>contextConfigLocationparam-name>  
  3.     <param-value>  
  4.         /WEB-INF/workflowApplicationContext.xml   
  5.     param-value>  
  6. context-param>  
  7. <listener>  
  8.     <listener-class>  
  9.         org.springframework.web.context.ContextLoaderListener   
  10.     listener-class>  
  11. listener>  

 

 

2、在WEB-INF目录下增加Spring的配置文件workflowApplicationContext.xml.如下:

xml 代码
  1. <!---->xml version="1.0" encoding="UTF-8"?>  
  2. <!---->>  
  3.   
  4. <beans default-autowire="no" default-lazy-init="false"  
  5.     default-dependency-check="none">  
  6.   
  7.     <bean id="dataSource"  
  8.         class="org.springframework.jdbc.datasource.DriverManagerDataSource">  
  9.         <property name="driverClassName">  
  10.             <value>net.sourceforge.jtds.jdbc.Drivervalue>  
  11.         property>  
  12.         <property name="url">  
  13.             <value>jdbc:jtds:sqlserver://localhost:1433/jbpm3_2value>  
  14.         property>  
  15.         <property name="username">  
  16.             <value>savalue>  
  17.         property>  
  18.         <property name="password">  
  19.             <value>savalue>  
  20.         property>  
  21.     bean>  
  22.     <!---->  
  23.     <bean id="workflowsessionFactory"  
  24.         class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">  
  25.         <property name="dataSource">  
  26.             <ref local="dataSource" />  
  27.         property>  
  28.         <property name="mappingJarLocations">  
  29.             <list>  
  30.                 <value>WEB-INF/lib/jbpm-jpdl.jarvalue>  
  31.                 <value>WEB-INF/lib/jbpm-identity.jarvalue>  
  32.             list>  
  33.         property>  
  34.         <!---->  
  35.         <property name="hibernateProperties">  
  36.             <props>  
  37.                 <prop key="hibernate.dialect">  
  38.                     org.hibernate.dialect.SQLServerDialect   
  39.                 prop>  
  40.                 <prop key="hibernate.show_sql">trueprop>  
  41.                 <prop key="hibernate.cache.provider_class">  
  42.                     org.hibernate.cache.HashtableCacheProvider   
  43.                 prop>  
  44.                 <prop key="hibernate.query.factory_class">  
  45.                     org.hibernate.hql.classic.ClassicQueryTranslatorFactory   
  46.                 prop>  
  47.             props>  
  48.         property>  
  49.     bean>  
  50.   
  51.     <!---->  
  52. beans>  

3、启动Tomcat,异常

java 代码
  1. 严重: Exception sending context initialized event to listener instance of class  
  2. org.springframework.web.context.ContextLoaderListener   
  3. org.springframework.beans.factory.BeanCreationException: Error creating bean wit   
  4. h name 'workflowsessionFactory' defined in ServletContext resource [/WEB-INF/wor   
  5. kflowApplicationContext.xml]: Invocation of init method failed; nested exception   
  6.  is org.hibernate.HibernateException:   
  7.   
  8.  Errors in named queries: JobSession.resume   
  9. Jobs, GraphSession.deleteJobsForProcessInstance, JobSession.suspendJobs, JobSess   
  10. ion.deleteTimersForProcessInstance, JobSession.deleteExecuteNodeJobsForProcessIn   
  11. stance, GraphSession.deleteTaskInstancesById   
  12.   
  13.   
  14. Caused by: org.hibernate.HibernateException: Errors in named queries: JobSession   
  15. .resumeJobs, GraphSession.deleteJobsForProcessInstance, JobSession.suspendJobs,   
  16. JobSession.deleteTimersForProcessInstance, JobSession.deleteExecuteNodeJobsForPr   
  17. ocessInstance, GraphSession.deleteTaskInstancesById   
  18.         at org.hibernate.impl.SessionFactoryImpl.(SessionFactoryImpl.java:   
  19. 365)   
  20.         at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.jav   
  21. a:1294)   
  22.     

查看JBPM的代码,发现出现异常的named quieries均为含update和delete的HQL语句,映射文件中(org.jbpm.db.hibernate.queries.hbm.xml)还包含其他的含select的HQL语句,并没有出现问题。

问题究竟出在哪里呢?如何解决?希望知道的老大告知一二!!!

4、关于SessionFactory查找映射文件的方式还有其他两种方式,写在这里备忘:)

xml 代码
  1. <property name="configLocations">      
  2.   <list>      
  3.     <value>classpath:/hibernate.cfg.xmlvalue>      
  4.   list>      
  5. property>  

 

xml 代码
  1. <property name="mappingLocations">     
  2.    <value>classpath*:/org/jbpm/**/*.hbm.xmlvalue>     
  3. property>  

 

 

分享到:
评论
4 楼 Bluesnails 2007-11-03  
终于解决了,在hibernateProperties的配置中去掉
<prop key="hibernate.query.factory_class">  
  org.hibernate.hql.classic.ClassicQueryTranslatorFactory
</prop>
这个配置就可以了~~~
或者改为
org.hibernate.hql.ast.ASTQueryTranslatorFactory
3 楼 em_kxh 2007-10-24  
JbpmConfiguration jbpmConfiguration = jbpmTemplate.getJbpmConfiguration();
JbpmContext jc = jbpmConfiguration.getCurrentJbpmContext();
if (jc==null){
jc = jbpmConfiguration.createJbpmContext();
//System.out.println("[===创建====]");
}
2 楼 em_kxh 2007-10-24  
<bean id="mySessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource">
<ref local="dataSource" />
</property>
<property   name="lobHandler"><ref   bean="oracleLobHandle"/></property>
<property name="mappingResources">
<list>
...
</list>
</property>

<!-- jbpm___hbm  -->
        <property name="mappingJarLocations">
            <list>
                <value>WEB-INF/lib/jbpm-3.1.4.jar</value>
                <value>WEB-INF/lib/jbpm-identity-3.1.4.jar</value>
            </list>
        </property>

<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">org.hibernate.dialect.Oracle9Dialect</prop>
<prop key="hibernate.show_sql">false</prop>
<prop key="hibernate.order_updates">true</prop>
<prop key="hibernate.generate_statistics">true</prop>
<prop key="hibernate.cglib.use_reflection_optimizer">true</prop>
<prop key="hibernate.query.factory_class">org.hibernate.hql.ast.ASTQueryTranslatorFactory</prop>
<!-- jbpm需要此设置 -->
<prop key="hibernate.cache.provider_class">org.hibernate.cache.HashtableCacheProvider</prop>
</props>
</property>
</bean>

<!-- jbpm configuration -->
<bean id="jbpmConfiguration" class="org.springmodules.workflow.jbpm31.LocalJbpmConfigurationFactoryBean">
        <property name="sessionFactory" ref="mySessionFactory" />
        <property name="configuration" value="classpath:jbpm.cfg.xml" />
        <property name="createSchema" value="false" />
    </bean>

    <bean id="jbpmTemplate" class="org.springmodules.workflow.jbpm31.JbpmTemplate">
        <constructor-arg index="0" ref="jbpmConfiguration" />
    </bean>
<!-- end jbpm configuration -->
1 楼 em_kxh 2007-10-24  
jbpm与spring的整合,需要使用spring-module包

相关推荐

    提前试用spring 集成 jbpm4

    在集成jbpm4和Spring的过程中,这些库文件至关重要,因为它们包含了运行和测试系统所需的类和资源。可能需要将这些jar包添加到项目的类路径中,以便在Spring上下文中正确加载jbpm4的组件和服务。 集成jbpm4到Spring...

    JBPM5 整合Spring3经典案例

    **JBPM5 整合Spring3经典案例** JBPM5是一个功能强大的工作流管理系统,而Spring3则是一个广泛使用的Java企业级应用框架。将这两者整合可以实现灵活的工作流程管理和强大的业务逻辑处理。本案例主要关注如何在JBPM5...

    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)是一个开源的工作流引擎,它...

    spring+hibernate+jbpm整合

    ### Spring + Hibernate + jBPM 整合知识点详解 #### 一、项目背景与整合目的 在企业级应用开发中,通常需要实现业务流程管理、数据持久化以及服务层等功能。Spring框架因其强大的依赖注入(DI)和面向切面编程...

    jbpm4整合struts2+spring2.5+hibernate3.3

    【jbpm4整合struts2+spring2.5+hibernate3.3】的集成是企业级应用开发中常见的技术栈组合,旨在利用各框架的优势实现高效、灵活的业务流程管理。jbpm4是一个开源的工作流管理系统,用于定义、执行和管理业务流程。...

    JBPM与Spring集成开发指南

    在集成JBPM与Spring时,首先需要理解工作流管理系统的核心概念。工作流是一个业务过程,部分或全部由计算机支持,涉及文档、信息或任务在参与者之间的传递,以达成特定的业务目标。工作流管理系统负责定义、管理和...

    JBPM与Spring集成开发指导书.docx

    在集成JBPM和Spring时,开发者可以利用Spring的强大依赖注入和AOP(面向切面编程)能力,来管理和控制工作流的生命周期。工作流在企业中扮演着至关重要的角色,它定义了业务过程的顺序,确保文档、信息或任务按照...

    Jbpm4.4 整合Spring Hibernate4

    "Jbpm4.4 整合Spring Hibernate4" 指的是一个集成项目,其中JBPM(Job Business Process Management)版本4.4被整合到Spring框架和Hibernate ORM工具的环境中。JBPM是一个开源的工作流管理系统,用于处理业务流程的...

    jbpm4整合struts2+spring2[1].5+hibernate3.3

    - **jbpm4插件安装**:在IDE(如MyEclipse)中安装jbpm4的jpdl插件可能会遇到问题,比如不支持的版本。解决方法是检查IDE版本并升级,或者寻找兼容的版本进行安装。 - **数据库脚本**:jbpm4的数据库脚本需要根据...

    JBPM与Spring集成开发指导书.doc

    **JBPM与Spring集成的优势**\n集成JBPM和Spring,开发者可以获得如下优势:\n- **灵活的流程设计**:JBPM提供图形化的流程建模工具,方便流程定义。\n- **强大的事务管理**:Spring的事务管理机制可以保证流程执行...

    jbpm4.4spring.rar_jbpm4_jbpm4.4

    【标签】"jbpm4 jbpm4.4" 强调了项目使用的具体版本,这可能对开发者了解项目的兼容性和解决可能遇到的问题有所帮助,因为不同版本的JBPM可能会有不同的特性和API变化。 【压缩包子文件的文件名称列表】: 1. `....

    JBPM5.4 SSH 完整项目整合案例

    该案例是基于JBPM5.4、Spring(SSH框架的一部分)的集成应用实例,旨在展示如何将业务流程管理(BPM)系统JBPM与Spring框架无缝结合,实现企业级的业务流程自动化。SSH,即Struts2、Spring和Hibernate,是一种常见的...

    jbpm4.0.0alpha2整合到spring

    【jbpm4.0.0alpha2整合到spring】是一个关于企业级业务流程管理(BPM)系统Jbpm与Spring框架集成的技术实践。Jbpm是一个开源的BPM平台,它提供了工作流引擎、流程设计工具以及相关API,使得开发者能够方便地创建和...

    jbpm4.4 ssh 整合

    SSH和JBPM是两个在Java开发领域中广泛使用的框架,SSH代表Spring、Struts和Hibernate,而JBPM则是一个流程管理平台。这篇文章将详细介绍如何整合SSH与JBPM 4.4,以及它们整合后能带来的优势。 首先,让我们了解SSH...

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

    2. 错误处理:在整合过程中可能会遇到各种问题,如依赖冲突、配置错误等,要仔细检查错误日志并解决。 3. 安全性:在实际应用中,需考虑权限控制,确保只有授权用户能启动和操作流程实例。 通过以上步骤,你就可以...

    SSH集成JBPM4.rar

    SSH集成JBPM4是一个关于将Spring、Struts2和Hibernate(SSH)这三大Java Web开发框架与Business Process Management System(BPM,业务流程管理系统)JBPM4整合的项目实例。SSH是Java领域常用的轻量级MVC框架组合,...

    ssh+jbpm整合.doc

    本文旨在详细介绍如何将JBPM工作流框架与SSH框架进行整合,并通过具体的步骤来解决实际开发过程中可能遇到的问题。 #### 二、SSH框架简介 1. **Spring**:一种轻量级的Java EE应用程序框架,用于简化企业级应用开发...

    jbpm+spring的web简单借款工作流实例项目33

    因为有点大所以分了8份 一个自己学习到现在的结果吧,自己做的一个完整的借款流程应用,主要是用到了SPRING,在整合的过程中遇到过不少问题。我的博客有一些说明http://yuyanshan.javaeye.com/&lt;br&gt;

Global site tag (gtag.js) - Google Analytics