今天在做jbpm5 实验时 将 h2 database 换成 oracle 11 发现了一个问题, 搞了一会发现网上没有什么好的解决办法,
问题如下
java.lang.IllegalStateException: java.lang.reflect.InvocationTargetException
at org.drools.persistence.jpa.KnowledgeStoreServiceImpl.buildCommanService(KnowledgeStoreServiceImpl.java:130)
at org.drools.persistence.jpa.KnowledgeStoreServiceImpl.newStatefulKnowledgeSession(KnowledgeStoreServiceImpl.java:54)
at org.drools.persistence.jpa.JPAKnowledgeService.newStatefulKnowledgeSession(JPAKnowledgeService.java:122)
at com.wordpress.salaboy.example.persistence.InMemoryProcessManager.getKnowledgeSession(InMemoryProcessManager.java:112)
at com.wordpress.salaboy.example.persistence.InMemoryProcessManager.startProcess(InMemoryProcessManager.java:46)
at com.wordpress.salaboy.examples.PersistentEmergencyProcessTest.emergencyWithRulesTest(PersistentEmergencyProcessTest.java:165)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:49)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at org.drools.persistence.jpa.KnowledgeStoreServiceImpl.buildCommanService(KnowledgeStoreServiceImpl.java:116)
... 30 more
Caused by: javax.persistence.PersistenceException: org.hibernate.exception.GenericJDBCException: could not get next sequence value
at org.hibernate.ejb.AbstractEntityManagerImpl.throwPersistenceException(AbstractEntityManagerImpl.java:614)
at org.hibernate.ejb.AbstractEntityManagerImpl.persist(AbstractEntityManagerImpl.java:226)
at org.drools.persistence.jpa.JpaPersistenceContext.persist(JpaPersistenceContext.java:17)
at org.drools.persistence.SingleSessionCommandService.<init>(SingleSessionCommandService.java:125)
... 35 more
Caused by: org.hibernate.exception.GenericJDBCException: could not get next sequence value
at org.hibernate.exception.SQLStateConverter.handledNonSpecificException(SQLStateConverter.java:126)
at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:114)
at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:66)
at org.hibernate.id.SequenceGenerator.generate(SequenceGenerator.java:119)
at org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:122)
at org.hibernate.ejb.event.EJB3PersistEventListener.saveWithGeneratedId(EJB3PersistEventListener.java:49)
at org.hibernate.event.def.DefaultPersistEventListener.entityIsTransient(DefaultPersistEventListener.java:154)
at org.hibernate.event.def.DefaultPersistEventListener.onPersist(DefaultPersistEventListener.java:110)
at org.hibernate.event.def.DefaultPersistEventListener.onPersist(DefaultPersistEventListener.java:61)
at org.hibernate.impl.SessionImpl.firePersist(SessionImpl.java:645)
at org.hibernate.impl.SessionImpl.persist(SessionImpl.java:619)
at org.hibernate.impl.SessionImpl.persist(SessionImpl.java:623)
at org.hibernate.ejb.AbstractEntityManagerImpl.persist(AbstractEntityManagerImpl.java:220)
... 37 more
Caused by: java.sql.SQLException: error enlisting a JdbcConnectionHandle of a JdbcPooledConnection from datasource jdbc/testDS2 in state ACCESSIBLE with usage count 1 wrapping oracle.jdbc.xa.client.OracleXAConnection@15386c2 on oracle.jdbc.driver.OracleConnection@b45130
at bitronix.tm.resource.jdbc.JdbcConnectionHandle.enlistResource(JdbcConnectionHandle.java:67)
at bitronix.tm.resource.jdbc.JdbcConnectionHandle.prepareStatement(JdbcConnectionHandle.java:224)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at bitronix.tm.resource.jdbc.BaseProxyHandlerClass.invoke(BaseProxyHandlerClass.java:44)
at $Proxy20.prepareStatement(Unknown Source)
at org.hibernate.jdbc.AbstractBatcher.getPreparedStatement(AbstractBatcher.java:534)
at org.hibernate.jdbc.AbstractBatcher.prepareSelectStatement(AbstractBatcher.java:145)
at org.hibernate.id.SequenceGenerator.generate(SequenceGenerator.java:96)
... 46 more
Caused by: bitronix.tm.internal.BitronixSystemException: cannot enlist an XAResourceHolderState with uniqueName=jdbc/testDS2 XAResource=oracle.jdbc.xa.client.OracleXAResource@139491b with XID a Bitronix XID [3139322E3136382E33352E31333800000130DF7C5E5500000000 : 3139322E3136382E33352E31333800000130DF7C5EE200000002], error=XAER_PROTO
at bitronix.tm.BitronixTransaction.enlistResource(BitronixTransaction.java:81)
at bitronix.tm.resource.common.TransactionContextHelper.enlistInCurrentTransaction(TransactionContextHelper.java:51)
at bitronix.tm.resource.jdbc.JdbcConnectionHandle.enlistResource(JdbcConnectionHandle.java:65)
... 56 more
Caused by: javax.transaction.xa.XAException
at oracle.jdbc.xa.OracleXAResource.disallowLocalTxnMode(OracleXAResource.java:1045)
at oracle.jdbc.xa.client.OracleXAResource.start(OracleXAResource.java:153)
at bitronix.tm.internal.XAResourceHolderState.start(XAResourceHolderState.java:192)
at bitronix.tm.internal.XAResourceManager.enlist(XAResourceManager.java:89)
at bitronix.tm.BitronixTransaction.enlistResource(BitronixTransaction.java:74)
... 58 more
后来 想想 会不会是 oracle 的驱动有问题,于是将 classes12.jar 换成 ojdbc6.jar ,问题解决。
分享到:
相关推荐
jbpm4jbpm5是关于jbpm流程管理框架的专题,涵盖了jbpm4和jbpm5两个主要版本。jbpm是一个开源的工作流管理系统,用于帮助开发者实现业务流程自动化。以下是基于给定文件的信息,深入解析jbpm4和jbpm5的知识点: 1. *...
jbpm5是一款非常著名的工作流管理系统,其源代码的开放为开发者提供了深入理解工作流引擎运作机制的机会。jbpm5的核心在于提供一个可扩展且灵活的业务流程管理平台,允许开发者设计、执行、管理和监控业务流程。以下...
JBPM采购申请系统源代码+全套流程+JBPM的详细介绍2.zip JBPM采购申请系统源代码+全套流程+JBPM的详细介绍2.zip JBPM采购申请系统源代码+全套流程+JBPM的详细介绍2.zip JBPM采购申请系统源代码+全套流程+JBPM的详细...
3. **jbpm5库的获取**:从官方网站或者其他可靠的源下载jbpm5的最新版本,包括jbpm核心库、guvnor、工作流设计器等组件。 4. **Eclipse插件配置**:在Eclipse中配置jbpm5插件,这通常涉及到添加库依赖,将jbpm5的...
### jBPM5安装与配置详解 #### 一、引言 jBPM5是一款开源的工作流和业务流程管理(BPM)框架,基于Java语言,由JBoss提供支持。它提供了一套全面的工具和服务,用于设计、执行和监控业务流程。本文将详细介绍jBPM5...
- **4.3.4 使用jotm配置tomcat数据源以支持JTA**: 通过Jotm配置Tomcat的数据源,以支持分布式事务。 - **4.3.5 Jbpm相关配置文件更新**: 更新JBPM相关的配置文件,如persistence.xml、jbpm.cfg.xml等。 - **4.3.6 ...
3. **数据库配置**:JBPM5需要一个数据库来存储流程实例和元数据。根据你的需求,可能需要在`META-INF/persistence.xml`文件中配置数据库连接参数。 4. **部署jbpm-service.war和jbpm-console.war**:除了主应用外...
- **配置jbPM5**: 设置数据源、事务管理器等核心配置,准备流程定义的部署。 - **配置SSH框架**: 配置Spring的bean定义、Struts2的action配置以及Hibernate的实体映射。 - **编写业务逻辑**: 实现Struts2的动作类...
6. 集成与扩展:探索jBPM5与企业服务总线(Enterprise Service Bus,简称ESB)、数据持久层和第三方系统的集成方案。 7. 测试与优化:提供jBPM5应用的测试策略,以及如何根据业务需求优化流程性能。 8. 安全性:...
JBPM5工作流引擎 S2SH+JBPM4.4开发工作流的一个完整的请假流程例子。带有文档教程和所有源码+JAR包。在网上找了半天jbpm6\jbpm7的资料,都很少。所以 环境:Myeclipse2015 JDK1.7 mysql 5.0 Struts2+Spring3.1 1...
根据插件的要求,可能需要添加新的模块、数据源、服务或安全配置。确保仔细阅读插件的文档,遵循其提供的配置指导。 5. **启动服务器和测试** 保存所有修改后,重启JBoss服务器,让新的配置生效。然后,通过浏览器...
监视章节介绍了如何收集和分析 jBPM5 运行时的性能数据,以优化流程效率。这包括监控流程实例的执行情况、资源使用和异常情况。 总结: jBPM5 是一个功能强大的 BPM 解决方案,提供了完整的工具链,支持从流程建模...
**JBPM5 整合Spring3经典案例** JBPM5是一个功能强大的工作流管理系统,而Spring3则是一个广泛使用的Java企业级应用框架。将这两者整合可以实现灵活的工作流程管理和强大的业务逻辑处理。本案例主要关注如何在JBPM5...
在这个"JBPM5请假实例,完整版"中,我们将深入探讨如何利用JBPM5来实现一个具体的请假流程,以及在这个过程中可能遇到的关键配置问题。 首先,我们要理解JBPM5的核心功能。JBPM5提供了一个强大的流程建模工具,它...
jbpm4.1和jbPM5是两个不同版本的Java Business Process Management(业务流程管理)框架,主要用于构建和管理业务流程。jbPM是Talend公司的一个开源项目,它提供了全面的工作流和业务流程管理解决方案,深受Java...
通过ORM(对象关系映射)技术,jbpm5能够将这些业务对象与数据库中的记录对应起来,实现数据的持久化存储。 流程实例的创建、更新和结束都会触发持久化操作。当一个流程启动时,会创建一个ProcessInstance,其关联...
jbpm5入门学习资料