jbpm4.4+Spring集成出现错误org.hibernate.HibernateException: jbpm.hibernate.cfg.xml not found
2016-06-24 16:50
507 查看
jbpm4.4+SSH框架集成时出现如下错误:
Caused by: org.hibernate.HibernateException: jbpm.hibernate.cfg.xml not found
at org.hibernate.util.ConfigHelper.getResourceAsStream(ConfigHelper.java:170)
at org.hibernate.cfg.Configuration.getConfigurationInputStream(Configuration.java:1439)
at org.hibernate.cfg.Configuration.configure(Configuration.java:1461)
at org.jbpm.pvm.internal.wire.descriptor.HibernateConfigurationDescriptor$AddCfgResource.apply(HibernateConfigurationDescriptor.java:149)
at org.jbpm.pvm.internal.wire.descriptor.HibernateConfigurationDescriptor.apply(HibernateConfigurationDescriptor.java:89)
at org.jbpm.pvm.internal.wire.descriptor.HibernateConfigurationDescriptor.initialize(HibernateConfigurationDescriptor.java:75)
at org.jbpm.pvm.internal.wire.WireContext.performInitialization(WireContext.java:551)
at org.jbpm.pvm.internal.wire.WireContext.initialize(WireContext.java:513)
at org.jbpm.pvm.internal.wire.WireContext.create(WireContext.java:467)
at org.jbpm.pvm.internal.wire.WireContext.create(WireContext.java:455)
at org.jbpm.pvm.internal.wire.WireContext.get(WireContext.java:429)
at org.jbpm.pvm.internal.wire.WireContext.get(WireContext.java:339)
原因是:jbpm4.4默认的hibernate事务管理配置jbpm.tx.hibernate.cfg.xml,根据该配置,工作流引擎将会使用默认的配置文件jbpm.hibernate.cfg.xml (配置文件在jbpm.jar包下)。在将JBPM集成到Spring时,要使用Spring配置文件applicationContext.xml中的事务管理器,因此需要在jbpm.cfg.xml中将:
<import resource="jbpm.tx.hibernate.cfg.xml" />
替换为
<import resource="jbpm.tx.spring.cfg.xml" />
替换之后会使用默认Spring配置文件applicationContext.xml。
如果需要为jbpm4指定其他Spring配置文件,在jbpm.cfg.xml中作如下配置,例如使用applicationContext2.xml中的事务管理器:
<jbpm-configuration>
<process-engine-context>
<string name="spring.cfg" value="applicationContext2.xml" />
</process-engine-context>
......
</jbpm-configuration>
Caused by: org.hibernate.HibernateException: jbpm.hibernate.cfg.xml not found
at org.hibernate.util.ConfigHelper.getResourceAsStream(ConfigHelper.java:170)
at org.hibernate.cfg.Configuration.getConfigurationInputStream(Configuration.java:1439)
at org.hibernate.cfg.Configuration.configure(Configuration.java:1461)
at org.jbpm.pvm.internal.wire.descriptor.HibernateConfigurationDescriptor$AddCfgResource.apply(HibernateConfigurationDescriptor.java:149)
at org.jbpm.pvm.internal.wire.descriptor.HibernateConfigurationDescriptor.apply(HibernateConfigurationDescriptor.java:89)
at org.jbpm.pvm.internal.wire.descriptor.HibernateConfigurationDescriptor.initialize(HibernateConfigurationDescriptor.java:75)
at org.jbpm.pvm.internal.wire.WireContext.performInitialization(WireContext.java:551)
at org.jbpm.pvm.internal.wire.WireContext.initialize(WireContext.java:513)
at org.jbpm.pvm.internal.wire.WireContext.create(WireContext.java:467)
at org.jbpm.pvm.internal.wire.WireContext.create(WireContext.java:455)
at org.jbpm.pvm.internal.wire.WireContext.get(WireContext.java:429)
at org.jbpm.pvm.internal.wire.WireContext.get(WireContext.java:339)
原因是:jbpm4.4默认的hibernate事务管理配置jbpm.tx.hibernate.cfg.xml,根据该配置,工作流引擎将会使用默认的配置文件jbpm.hibernate.cfg.xml (配置文件在jbpm.jar包下)。在将JBPM集成到Spring时,要使用Spring配置文件applicationContext.xml中的事务管理器,因此需要在jbpm.cfg.xml中将:
<import resource="jbpm.tx.hibernate.cfg.xml" />
替换为
<import resource="jbpm.tx.spring.cfg.xml" />
替换之后会使用默认Spring配置文件applicationContext.xml。
如果需要为jbpm4指定其他Spring配置文件,在jbpm.cfg.xml中作如下配置,例如使用applicationContext2.xml中的事务管理器:
<jbpm-configuration>
<process-engine-context>
<string name="spring.cfg" value="applicationContext2.xml" />
</process-engine-context>
......
</jbpm-configuration>
相关文章推荐
- Java - 基本类的使用(Map集合类)
- java之虚拟机详解
- Elasticsearch java API (10)Multi Get API
- 将用户在jsp表单输入的信息赋给JavaBean
- Java System类
- java 伪Random
- Stream API 例子
- jni javah
- Spring整合Struts 2,以及Spring中Bean的作用域问题
- Java环境搭建MyEclipse10+jdk1.8
- Java中split的用法
- 正则表达式在java中的运用
- Java实现的二分查找算法
- java项目配置jdbc.porperties时要注意jdbc.url的配置方式
- Elasticsearch java API (9)更新的API
- MyEclipse中配置JDK
- java调用dll库
- spring项目整合jedis及注意事项
- java 中的一些常用方法
- Java基础原理回顾_day_02