`
星夜的遐想
  • 浏览: 186850 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论
阅读更多

 

2015-11-08 02:47:22:WARN main atomikos - ERROR IN RECOVERY
com.atomikos.datasource.ResourceException: Error in recovery
	at com.atomikos.datasource.xa.XATransactionalResource.recover(XATransactionalResource.java:596)
	at com.atomikos.datasource.xa.XATransactionalResource.endRecovery(XATransactionalResource.java:670)
	at com.atomikos.icatch.imp.TransactionServiceImp.recover(TransactionServiceImp.java:635)
	at com.atomikos.icatch.imp.TransactionServiceImp.init(TransactionServiceImp.java:741)
	at com.atomikos.icatch.imp.BaseTransactionManager.init(BaseTransactionManager.java:217)
	at com.atomikos.icatch.standalone.StandAloneTransactionManager.init(StandAloneTransactionManager.java:104)
	at com.atomikos.icatch.standalone.UserTransactionServiceImp.init(UserTransactionServiceImp.java:307)
	at com.atomikos.icatch.config.UserTransactionServiceImp.init(UserTransactionServiceImp.java:413)
	at com.atomikos.icatch.jta.UserTransactionManager.checkSetup(UserTransactionManager.java:90)
	at com.atomikos.icatch.jta.UserTransactionManager.init(UserTransactionManager.java:140)
	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.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeCustomInitMethod

 

 

 

解决方案:将数据源AtomikosDataSourceBean替换成AtomikosNonXADataSourceBean。

 

如:

<bean id="oracleDS" class="com.atomikos.jdbc.AtomikosDataSourceBean"
		init-method="init" destroy-method="close">
		<description>oracle xa datasource</description>
		<property name="uniqueResourceName">
			<value>oracle_ds</value>
		</property>
		<property name="xaDataSourceClassName">
			<value>oracle.jdbc.xa.client.OracleXADataSource</value>
		</property>
		<property name="xaProperties">
			<props>
				<prop key="user">${oracle.connection.username}</prop>
				<prop key="password">${oracle.connection.password}</prop>
				<prop key="URL">${oracle.connection.url}</prop>
			</props>
		</property>
		<property name="testQuery" value="select 1 from dual" />
		<property name="poolSize" value="3"/> 
	</bean>

 

 

替换成:

 

 

<bean id="oracleDS" class="com.atomikos.jdbc.nonxa.AtomikosNonXADataSourceBean" init-method="init"
		destroy-method="close" p:uniqueResourceName="oracle_ds" p:testQuery="select 1 from dual ">
		<property name="driverClassName" value="${oracle.connection.driverClass}" />
		<property name="url" value="${oracle.connection.url}" />
		<property name="user" value="${oracle.connection.username}" />
		<property name="password" value="${oracle.connection.password}" />
		<property name="poolSize" value="5" />
		<property name="maxPoolSize" value="30" />
	</bean>

 

 

 

2015-11-08 10:18:57:WARN main atomikos - Error delegating 'createClob' call
java.lang.AbstractMethodError: oracle.jdbc.driver.T4CConnection.createClob()Ljava/sql/Clob;
	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 com.atomikos.jdbc.nonxa.AtomikosThreadLocalConnection.invoke(AtomikosThreadLocalConnection.java:306)
	at $Proxy30.createClob(Unknown Source)
	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.hibernate.engine.jdbc.JdbcSupportLoader.useContextualLobCreation(JdbcSupportLoader.java:97)
	at org.hibernate.engine.jdbc.JdbcSupportLoader.loadJdbcSupport(JdbcSupportLoader.java:52)
	at org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:118)
	at org.hibernate.cfg.Configuration.buildSettingsInternal(Configuration.java:2863)
	at org.hibernate.cfg.Configuration.buildSettings(Configuration.java:2859)
	at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1870)
	at org.springframework.orm.hibernate3.LocalSessionFactoryBean.newSessionFactory(LocalSessionFactoryBean.java:793)
	at org.springframework.orm.hibernate3.LocalSessionFactoryBean.buildSessionFactory(LocalSessionFactoryBean.java:715)
	at org.springframework.orm.hibernate3.AbstractSessionFactoryBean.afterPropertiesSet(AbstractSessionFactoryBean.java:189)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods
2015-11-08 10:18:57:INFO main org.hibernate.engine.jdbc.JdbcSupportLoader - Disabling contextual LOB creation as createClob() method threw error 

: java.lang.reflect.InvocationTargetException
2015-11-08 10:18:57:INFO main org.hibernate.cfg.SettingsFactory - Database ->
       name : Oracle

 

 解决方案:

 在SessionFacory配置中,加入

<prop key="hibernate.temp.use_jdbc_metadata_defaults">false</prop>

 

 

 

 

 

分享到:
评论

相关推荐

    Atomikos实现分布式事务

    总结来说,"Atomikos实现分布式事务"是一个关键的技术实践,它利用Java的JTA标准,结合Atomikos库,实现了在Web项目中对多个数据库进行统一的事务管理,确保了业务操作的原子性和一致性,从而提高了系统整体的可靠性...

    java+spring+mybatis+mysql+RuoYi-atomikos-实现分布式事务.zip

    本项目"java+spring+mybatis+mysql+RuoYi-atomikos-实现分布式事务.zip"是一个基于若依(RuoYi)框架改造的多模块分布式事务解决方案,它利用了Atomikos这一强大的分布式事务管理器。以下将详细解析这个项目的知识点...

    使用Spring+atomikos实现分布式事务

    在分布式系统中,确保事务的...配置包括设置Atomikos事务管理器、数据源以及事务属性,然后在业务逻辑中利用Spring的`@Transactional`注解来管理事务边界。这使得开发者能够在复杂分布式环境中实现高一致性的业务逻辑。

    集成atomikos实现分布式事务.zip

    3. **创建Atomikos事务管理器**: 在Spring Boot的配置类中,创建AtomikosUserTransactionManager和AtomikosDataSourceBean实例,并注册为Spring Bean。这样,Spring会自动管理这些事务资源。 4. **配置Spring的事务...

    spring + JTA + atomikos 实现分布式事务

    Atomikos 是一个开源的JTA实现,它为Spring提供了一个轻量级、高性能的分布式事务解决方案。本文将深入探讨如何使用Spring、JTA和Atomikos来实现分布式事务。 首先,了解JTA的基本概念。JTA定义了一套规范,允许在...

    spring4+atomikos实现分布式事务

    在这个案例中,我们将深入探讨如何使用Spring 4与Atomikos来实现跨数据库的分布式事务管理。 Atomikos是一款开源的事务处理监控器(Transaction Processing Monitor,TPM),它支持JTA(Java Transaction API)标准...

    集成jta-atomikos 实现分布式事务.zip

    配置完成后,我们需要创建一个Spring配置类,用于初始化Atomikos事务管理器,并注册到Spring容器中。例如: ```java @Configuration public class AtomikosConfig { @Bean public UserTransactionImp ...

    spring mybatis atomikos 多库分布式事务demo

    本示例“spring mybatis atomikos 多库分布式事务demo”聚焦于如何在Spring与MyBatis框架下利用Atomikos实现跨数据库的分布式事务管理。 首先,Spring是一个广泛应用的开源框架,提供了丰富的功能,包括依赖注入、...

    非Maven基于SSM+Atomikos的分布式事务处理案例源码

    Atomikos事务管理器会根据配置自动管理和提交事务。 9. 测试:为了验证事务处理的正确性,可以设计一系列测试用例,模拟并发操作,观察事务处理是否满足预期。 最后,关于**XA**: 10. XA协议:这是一种分布式...

    SpringBoot+Atomikos分布式事务及多数据源动态切换,两种demo

    本文将深入探讨如何在Spring Boot项目中实现Atomikos分布式事务以及动态数据源切换的两种示例。 首先,我们需要理解什么是分布式事务。在分布式系统中,事务需要跨越多个独立的数据库或服务进行操作。分布式事务的...

    springboot-jpa atomikos 分布式事务管理

    本文将详细讲解"springboot-jpa atomikos 分布式事务管理"这一主题,以及如何在SpringBoot 2.0.5版本中结合JPA、Hibernate和MyBatis实现多数据库事务控制。 首先,SpringBoot是一个简化Spring应用开发的框架,它...

    Atomikos分布式事务DEMO

    在分布式事务处理中,Spring的TransactionManagement支持与Atomikos结合,允许开发者在不关心底层事务实现的情况下,轻松地声明事务边界。 MyBatis是一个持久层框架,它简化了SQL映射和Java对象之间的交互。在...

    spring整合atomikos实现分布式事务的方法示例

    Spring 整合 Atomikos 实现分布式事务是解决在分布式环境下多个数据库操作一致性问题的关键技术。Atomikos 是一个开源的事务管理器,它为 Java 平台提供了强大的支持,特别是处理跨越多个数据库的事务需求。在分布式...

    spring JTA集成JOTM或Atomikos配置分布式事务(Tomcat应用服务器)

    本文将深入探讨如何在Tomcat应用服务器上集成JTA,并使用JOTM(Java Open Transaction Manager)或Atomikos作为事务管理器来实现分布式事务。 首先,我们需要理解JTA的核心概念。JTA是Java EE平台的一部分,提供了...

    spring+atomikos+druid分布式事务Demo

    在Spring中,我们可以通过配置Atomikos事务管理器,使得Spring可以在跨数据库操作时启动和管理全局事务。 Druid是一个强大的数据库连接池,它不仅提供了高效的连接管理和性能监控,还支持分布式事务。在Spring和...

    atomikos分布式事务提交框架

    总的来说,Atomikos分布式事务提交框架是Java开发者在构建高可用、高并发系统时的重要工具,它简化了分布式事务的实现,增强了系统的可靠性和一致性。在使用过程中,配合Spring框架,可以更便捷地管理和控制事务,...

    Spring+MyBatis+Atomikos实现JTA分布式事务

    Atomikos则是开源的JTA(Java Transaction API)实现,能够提供分布式事务解决方案。本文将深入探讨如何使用Spring、MyBatis和Atomikos实现JTA分布式事务。 首先,让我们理解JTA的概念。Java Transaction API(JTA...

    Spring3.0+Hibernate+Atomikos多数据源分布式事务管理

    2. 创建Atomikos事务管理器bean,并将其设置为Spring的PlatformTransactionManager。 3. 使用Spring的@TransactionManagement注解启用声明式事务管理。 4. 在服务层方法上添加@Transactional注解,指定需要参与事务...

    springboot jta atomikos实现分布式事物管理

    SpringBoot JTA Atomikos 实现分布式事务管理 SpringBoot JTA Atomikos 是一种实现分布式事务管理的解决方案,它能够将多个数据库的事务统一管理起来,从而解决多个数据库之间的事务问题。在本篇文章中,我们将...

    Atomikos分布式事务处理所需jar包

    Atomikos是一个开源的事务处理系统,专门设计用于在Java应用程序中实现分布式事务管理。它提供了JTA(Java Transaction API)的实现,使得开发者能够在不同的数据源之间进行复杂的事务操作,确保数据的一致性和完整...

Global site tag (gtag.js) - Google Analytics