JDBC weblogic XA错误:XAResource.XAER_RMERR

时间:2014-04-16 07:51:34

标签: java database ejb weblogic datasource

当我从区域服务器(XA数据源)进行全局调用时,我面临异常。  我们没有更改任何数据源设置的任何XA参数。我们正在使用XAdatasource

在登记XAConnection java.sql.SQLException时发生意外异常:XA错误:XAResource.XAER_RMERR start()在资源' DataSource':XAER_RMERR上失败:在事务分支中发生了资源管理器错误 oracle.jdbc.xa.OracleXAException

设置

    <keep-xa-conn-till-tx-complete>true</keep-xa-conn-till-tx-complete>
    <need-tx-ctx-on-close>false</need-tx-ctx-on-close>
    <xa-end-only-once>false</xa-end-only-once>
    <keep-logical-conn-open-on-release>false</keep-logical-conn-open-on-release>
    <resource-health-monitoring>true</resource-health-monitoring>
    <recover-only-once>false</recover-only-once>
    <xa-set-transaction-timeout>true</xa-set-transaction-timeout>
    <xa-transaction-timeout>300</xa-transaction-timeout>
    <rollback-local-tx-upon-conn-close>false</rollback-local-tx-upon-conn-close>
    <xa-retry-duration-seconds>0</xa-retry-duration-seconds>
    <xa-retry-interval-seconds>60</xa-retry-interval-seconds>

com.citi.aml.cadd.transactions.exception.CADDTransactionException: Hibernate operation: Cannot open connection; uncategorized SQLException for SQL [???]; SQL state [null]; error code [0]; Unexpected exception while enlisting XAConnection java.sql.SQLException: XA error: XAResource.XAER_RMERR start() failed on resource 'CoreCADDGlobalDataSource': XAER_RMERR : A resource manager error has occured in the transaction branch
oracle.jdbc.xa.OracleXAException
    at oracle.jdbc.xa.OracleXAResource.checkError(OracleXAResource.java:1101)
    at oracle.jdbc.xa.client.OracleXAResource.start(OracleXAResource.java:237)
    at weblogic.jdbc.wrapper.VendorXAResource.start(VendorXAResource.java:50)
    at weblogic.jdbc.jta.DataSource.start(DataSource.java:695)
    at weblogic.transaction.internal.XAServerResourceInfo.start(XAServerResourceInfo.java:1183)
    at weblogic.transaction.internal.XAServerResourceInfo.xaStart(XAServerResourceInfo.java:1116)
    at weblogic.transaction.internal.XAServerResourceInfo.enlist(XAServerResourceInfo.java:275)
    at weblogic.transaction.internal.ServerTransactionImpl.enlistResource(ServerTransactionImpl.java:511)
    at weblogic.transaction.internal.ServerTransactionImpl.enlistResource(ServerTransactionImpl.java:438)
    at weblogic.jdbc.jta.DataSource.enlist(DataSource.java:1406)
    at weblogic.jdbc.jta.DataSource.refreshXAConnAndEnlist(DataSource.java:1330)
    at weblogic.jdbc.jta.DataSource.getConnection(DataSource.java:425)
    at weblogic.jdbc.jta.DataSource.connect(DataSource.java:382)
    at weblogic.jdbc.common.internal.RmiDataSource.getConnection(RmiDataSource.java:338)
    at org.springframework.orm.hibernate3.LocalDataSourceConnectionProvider.getConnection(LocalDataSourceConnectionProvider.java:81)
    at org.hibernate.jdbc.ConnectionManager.openConnection(ConnectionManager.java:417)
    at org.hibernate.jdbc.ConnectionManager.getConnection(ConnectionManager.java:144)
    at org.hibernate.jdbc.AbstractBatcher.prepareQueryStatement(AbstractBatcher.java:139)
    at org.hibernate.loader.Loader.prepareQueryStatement(Loader.java:1538)
    at org.hibernate.loader.Loader.doQuery(Loader.java:661)
    at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:224)
    at org.hibernate.loader.Loader.doList(Loader.java:2211)
    at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2095)
    at org.hibernate.loader.Loader.list(Loader.java:2090)
    at org.hibernate.hql.classic.QueryTranslatorImpl.list(QueryTranslatorImpl.java:888)
    at org.hibernate.engine.query.HQLQueryPlan.performList(HQLQueryPlan.java:172)
    at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1121)
    at org.hibernate.impl.QueryImpl.list(QueryImpl.java:79)
    at org.springframework.orm.hibernate3.HibernateTemplate$31.doInHibernate(HibernateTemplate.java:853)
    at org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:366)
    at org.springframework.orm.hibernate3.HibernateTemplate.find(HibernateTemplate.java:844)
    at com.citi.aml.cadd.dao.base.CADDBaseReadOnlyDAOImpl.readObjects(CADDBaseReadOnlyDAOImpl.java:40)
    at sun.reflect.GeneratedMethodAccessor151.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:299)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:172)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:139)
    at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:107)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:161)
    at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
    at $Proxy65.readObjects(Unknown Source)
    at com.citi.aml.cadd.transactions.CADDBaseReadOnlyTransactionService.execute(CADDBaseReadOnlyTransactionService.java:149)
    at com.citi.aml.cadd.webapp.inbox.InboxOptionsController.loadCaddMetaData(InboxOptionsController.java:1440)
    at com.citi.aml.cadd.webapp.inbox.InboxOptionsController.viewCaddInstance(InboxOptionsController.java:1005)
    at com.citi.aml.cadd.webapp.inbox.InboxOptionsController.viewInstance(InboxOptionsController.java:967)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

    at weblogic.servlet.internal.WebAppServletContext.execute(Unknown Source)
    at weblogic.servlet.internal.ServletRequestImpl.run(Unknown Source)
    at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
    at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)

    at weblogic.jdbc.jta.DataSource.enlist(DataSource.java:1411)
    at weblogic.jdbc.jta.DataSource.refreshXAConnAndEnlist(DataSource.java:1330)
    at weblogic.jdbc.jta.DataSource.getConnection(DataSource.java:425)
    at weblogic.jdbc.jta.DataSource.connect(DataSource.java:382)
    at weblogic.jdbc.common.internal.RmiDataSource.getConnection(RmiDataSource.java:338)
    at org.springframework.orm.hibernate3.LocalDataSourceConnectionProvider.getConnection(LocalDataSourceConnectionProvider.java:81)

0 个答案:

没有答案