Spring整合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>  

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值