Results 1 to 3 of 3

Thread: oracle.jdbc.xa.OracleXAException when using XA with spring jdbc

  1. #1
    Join Date
    Jul 2006
    Posts
    126

    Default oracle.jdbc.xa.OracleXAException when using XA with spring jdbc

    Hi,

    We are using XA for xtions spanned across multiple DBs. Some part of our code uses spring jdbc template. I am using atomikos transaction manager to manage XA xtions. However I am getting an exception (stack below) in some of the use cases in our application.

    Code:
    2010-04-19 18:29:22,029 WARN [atomikos] - XA resource 'pfDataSource': resume for XID '3139322E3136382E3130332E3235302E746D30303132343030303334:3139322E3136382E3130332E3235302E746D313131' raised -7: the XA resource has become unavailable
    oracle.jdbc.xa.OracleXAException
    	at oracle.jdbc.xa.OracleXAResource.checkError(OracleXAResource.java:938)
    	at oracle.jdbc.xa.client.OracleXAResource.start(OracleXAResource.java:244)
    	at com.atomikos.datasource.xa.XAResourceTransaction.resume(XAResourceTransaction.java:647)
    	at com.atomikos.datasource.xa.session.BranchEnlistedStateHandler.<init>(BranchEnlistedStateHandler.java:32)
    	at com.atomikos.datasource.xa.session.NotInBranchStateHandler.checkEnlistBeforeUse(NotInBranchStateHandler.java:41)
    	at com.atomikos.datasource.xa.session.TransactionContext.checkEnlistBeforeUse(TransactionContext.java:60)
    	at com.atomikos.datasource.xa.session.SessionHandleState.notifyBeforeUse(SessionHandleState.java:151)
    	at com.atomikos.jdbc.AtomikosConnectionProxy.enlist(AtomikosConnectionProxy.java:172)
    	at com.atomikos.jdbc.AtomikosConnectionProxy.invoke(AtomikosConnectionProxy.java:106)
    	at $Proxy8.createStatement(Unknown Source)
    	at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:389)
    	at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:455)
    	at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:463)
    	at org.springframework.jdbc.core.JdbcTemplate.queryForObject(JdbcTemplate.java:471)
    	at org.springframework.jdbc.core.JdbcTemplate.queryForObject(JdbcTemplate.java:476)
    	at org.springframework.jdbc.core.JdbcTemplate.queryForInt(JdbcTemplate.java:485)
    	at com.arisglobal.aglite.metadata.repository.MetadataRepositoryImpl.branchExists(MetadataRepositoryImpl.java:719)
    .....
    .....
    org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
    	at java.lang.Thread.run(Thread.java:595)
    
    2010-04-19 18:29:22,029 WARN [atomikos] - Error enlisting in transaction - connection might be broken? Please check the logs for more information...
    com.atomikos.datasource.ResourceException: XA resource 'pfDataSource': resume for XID '3139322E3136382E3130332E3235302E746D30303132343030303334:3139322E3136382E3130332E3235302E746D313131' raised -7: the XA resource has become unavailable
    	at com.atomikos.datasource.xa.XAResourceTransaction.resume(XAResourceTransaction.java:654)
    	at com.atomikos.datasource.xa.session.BranchEnlistedStateHandler.<init>(BranchEnlistedStateHandler.java:32)
    	at com.atomikos.datasource.xa.session.NotInBranchStateHandler.checkEnlistBeforeUse(NotInBranchStateHandler.java:41)
    	at com.atomikos.datasource.xa.session.TransactionContext.checkEnlistBeforeUse(TransactionContext.java:60)
    	at com.atomikos.datasource.xa.session.SessionHandleState.notifyBeforeUse(SessionHandleState.java:151)
    	at com.atomikos.jdbc.AtomikosConnectionProxy.enlist(AtomikosConnectionProxy.java:172)
    	at com.atomikos.jdbc.AtomikosConnectionProxy.invoke(AtomikosConnectionProxy.java:106)
    	at $Proxy8.createStatement(Unknown Source)
    	at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:389)
    	at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:455)
    	at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:463)
    	at org.springframework.jdbc.core.JdbcTemplate.queryForObject(JdbcTemplate.java:471)
    	at org.springframework.jdbc.core.JdbcTemplate.queryForObject(JdbcTemplate.java:476)
    	at org.springframework.jdbc.core.JdbcTemplate.queryForInt(JdbcTemplate.java:485)
    	at com.arisglobal.aglite.metadata.repository.MetadataRepositoryImpl.branchExists(MetadataRepositoryImpl.java:719)
    	at com.arisglobal.aglite.metadata.repository.MetadataRepositoryImpl.getObjectFromBranch(MetadataRepositoryImpl.java:988)
    	at com.arisglobal.aglite.metadata.repository.MetadataRepositoryImpl.getObjectFromBranch(MetadataRepositoryImpl.java:1033)
    	at com.arisglobal.aglite.metadata.repository.MetadataRepositoryImpl.getObjectFromTagOrBranch(MetadataRepositoryImpl.java:1206)
    	at com.arisglobal.aglite.metadata.service.impl.MetadataServiceImpl.getByName(MetadataServiceImpl.java:326)
    	at com.arisglobal.aglite.ui.service.impl.PageLoaderImpl.getPage(PageLoaderImpl.java:68)
    	at com.arisglobal.aglite.ui.service.impl.PageLoaderImpl.loadPage(PageLoaderImpl.java:145)
    	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:585)
    	at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307)
    	at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
    	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
    	at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:108)
    	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
    	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
    	at $Proxy53.loadPage(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:585)
    	at org.directwebremoting.impl.DefaultRemoter$1.doFilter(DefaultRemoter.java:740)
    	at com.arisglobal.aglite.ui.filter.DwrAjaxFilter.doFilter(DwrAjaxFilter.java:168)
    	at org.directwebremoting.impl.DefaultRemoter$1.doFilter(DefaultRemoter.java:736)
    	at org.directwebremoting.impl.DefaultRemoter.execute(DefaultRemoter.java:744)
    	at org.directwebremoting.impl.DefaultRemoter.execute(DefaultRemoter.java:593)
    	at org.directwebremoting.dwrp.BaseCallHandler.handle(BaseCallHandler.java:90)
    	at org.directwebremoting.servlet.UrlProcessor.handle(UrlProcessor.java:120)
    	at org.directwebremoting.servlet.DwrServlet.doPost(DwrServlet.java:141)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    	at com.arisglobal.aglite.ui.filter.AgliteFilter.doFilter(AgliteFilter.java:166)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    	at com.arisglobal.aglite.ui.filter.GZipFilter.doFilter(GZipFilter.java:112)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    	at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:378)
    	at org.springframework.security.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:109)
    	at org.springframework.security.intercept.web.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83)
    	at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
    	at org.springframework.security.ui.SessionFixationProtectionFilter.doFilterHttp(SessionFixationProtectionFilter.java:67)
    	at org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
    	at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
    	at org.springframework.security.ui.ExceptionTranslationFilter.doFilterHttp(ExceptionTranslationFilter.java:101)
    	at org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
    	at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
    	at org.springframework.security.wrapper.SecurityContextHolderAwareRequestFilter.doFilterHttp(SecurityContextHolderAwareRequestFilter.java:91)
    	at org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
    	at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
    	at org.springframework.security.ui.AbstractProcessingFilter.doFilterHttp(AbstractProcessingFilter.java:278)
    	at org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
    	at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
    	at org.springframework.security.context.HttpSessionContextIntegrationFilter.doFilterHttp(HttpSessionContextIntegrationFilter.java:235)
    	at org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
    .....
    .....
    org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
    	at java.lang.Thread.run(Thread.java:595)
    Immediately I can't think of any reason for this.

    Request to pass me me any pointers if you have.

    Thanks,
    Shashi

  2. #2

    Default Timeout?

    Did you try with a testQuery?

  3. #3
    Join Date
    Jul 2006
    Posts
    126

    Default

    Hi Guy,

    I haven't tried the test query, however this didn't appear again. Seems like it was a database(oracle) issue.

    Thanks for your help,
    Shashi

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •