Atomikos Forum |
|
I am getting an error after sometime on my application when I going to transmit some data using atomikos and hibernate.
2015-11-06 07:11:56,353 WARN [http-/0.0.0.0:8083-10] datasource.xa.XAResourceTransaction - XA resource 'COTXADBMS': resume for XID '31302E3235332E312E35322E746D30303030313030303939:31302E3235332E312E35322E746D31' raised -7: the XA resource has become unavailable - (Slf4jLogger.java:24) oracle.jdbc.xa.OracleXAException at oracle.jdbc.xa.OracleXAResource.checkError(OracleXAResource.java:1110) at oracle.jdbc.xa.client.OracleXAResource.start(OracleXAResource.java:240) at com.atomikos.datasource.xa.XAResourceTransaction.resume(XAResourceTransaction.java:427) at com.atomikos.datasource.xa.session.BranchEnlistedStateHandler.<init>(BranchEnlistedStateHandler.java:59) at com.atomikos.datasource.xa.session.NotInBranchStateHandler.checkEnlistBeforeUse(NotInBranchStateHandler.java:64) at com.atomikos.datasource.xa.session.TransactionContext.checkEnlistBeforeUse(TransactionContext.java:88) at com.atomikos.datasource.xa.session.SessionHandleState.notifyBeforeUse(SessionHandleState.java:179) at com.atomikos.jdbc.AtomikosConnectionProxy.enlist(AtomikosConnectionProxy.java:223) at com.atomikos.jdbc.AtomikosConnectionProxy.invoke(AtomikosConnectionProxy.java:142) at com.sun.proxy.$Proxy101.prepareStatement(Unknown Source) at org.hibernate.engine.jdbc.internal.StatementPreparerImpl$5.doPrepare(StatementPreparerImpl.java:161) at org.hibernate.engine.jdbc.internal.StatementPreparerImpl$StatementPreparationTemplate.prepareStatement(StatementPreparerImpl.java:182) at org.hibernate.engine.jdbc.internal.StatementPreparerImpl.prepareQueryStatement(StatementPreparerImpl.java:159) at org.hibernate.loader.Loader.prepareQueryStatement(Loader.java:1858) at org.hibernate.loader.Loader.executeQueryStatement(Loader.java:1835) at org.hibernate.loader.Loader.executeQueryStatement(Loader.java:1815) at org.hibernate.loader.Loader.doQuery(Loader.java:899) at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:341) at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:311) at org.hibernate.loader.Loader.loadEntity(Loader.java:2117) at org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoader.java:82) at org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoader.java:72) at org.hibernate.persister.entity.AbstractEntityPersister.load(AbstractEntityPersister.java:3927) at org.hibernate.event.internal.DefaultLoadEventListener.loadFromDatasource(DefaultLoadEventListener.java:460) at org.hibernate.event.internal.DefaultLoadEventListener.doLoad(DefaultLoadEventListener.java:429) at org.hibernate.event.internal.DefaultLoadEventListener.load(DefaultLoadEventListener.java:206) at org.hibernate.event.internal.DefaultLoadEventListener.proxyOrLoad(DefaultLoadEventListener.java:262) at org.hibernate.event.internal.DefaultLoadEventListener.onLoad(DefaultLoadEventListener.java:150) at org.hibernate.internal.SessionImpl.fireLoad(SessionImpl.java:1092) at org.hibernate.internal.SessionImpl.access$2000(SessionImpl.java:175) at org.hibernate.internal.SessionImpl$IdentifierLoadAccessImpl.load(SessionImpl.java:2476) at org.hibernate.internal.SessionImpl.get(SessionImpl.java:992) at org.hibernate.event.internal.DefaultMergeEventListener.entityIsDetached(DefaultMergeEventListener.java:271) at org.hibernate.event.internal.DefaultMergeEventListener.onMerge(DefaultMergeEventListener.java:151) at org.hibernate.event.internal.DefaultMergeEventListener.onMerge(DefaultMergeEventListener.java:76) at org.hibernate.internal.SessionImpl.fireMerge(SessionImpl.java:914) at org.hibernate.internal.SessionImpl.merge(SessionImpl.java:898) at org.hibernate.internal.SessionImpl.merge(SessionImpl.java:902) at org.hibernate.ejb.AbstractEntityManagerImpl.merge(AbstractEntityManagerImpl.java:889) at sun.reflect.GeneratedMethodAccessor227.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.springframework.orm.jpa.ExtendedEntityManagerCreator$ExtendedEntityManagerInvocationHandler.invoke(ExtendedEntityManagerCreator.java:342) at com.sun.proxy.$Proxy112.merge(Unknown Source) at sun.reflect.GeneratedMethodAccessor227.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.springframework.orm.jpa.SharedEntityManagerCreator$SharedEntityManagerInvocationHandler.invoke(SharedEntityManagerCreator.java:289) at com.sun.proxy.$Proxy112.merge(Unknown Source) at br.com.empresa.cotador.projeto.component.EfetivacaoComponent.transmitir(EfetivacaoComponent.java:390) at br.com.empresa.cotador.projeto.component.EfetivacaoComponent$$FastClassBySpringCGLIB$$55efafb6.invoke(<generated>) at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:708) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157) at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:98) at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:262) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:95) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:644) at br.com.empresa.cotador.projeto.component.EfetivacaoComponent$$EnhancerBySpringCGLIB$$9f2cee0f.transmitir(<generated>) at br.com.empresa.cotador.projeto.controller.emissao.EfetivacaoController.transmitirProposta(EfetivacaoController.java:218) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.springframework.web.method.support.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:215) at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:132) at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:104) at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandleMethod(RequestMappingHandlerAdapter.java:749) at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:689) at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:83) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:938) at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:870) at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:961) at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:863) at javax.servlet.http.HttpServlet.service(HttpServlet.java:754) at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:837) at javax.servlet.http.HttpServlet.service(HttpServlet.java:847) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:295) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214) at net.bull.javamelody.MonitoringFilter.doFilter(MonitoringFilter.java:164) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:246) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214) at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:246) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214) at net.bull.javamelody.MonitoringFilter.doFilter(MonitoringFilter.java:202) at net.bull.javamelody.MonitoringFilter.doFilter(MonitoringFilter.java:180) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:246) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:231) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:149) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:420) at org.jboss.as.jpa.interceptor.WebNonTxEmCloserValve.invoke(WebNonTxEmCloserValve.java:50) at org.jboss.as.jpa.interceptor.WebNonTxEmCloserValve.invoke(WebNonTxEmCloserValve.java:50) at org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:169) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:145) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:97) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:102) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:653) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:926) at java.lang.Thread.run(Thread.java:745) It happens after some time when the connection is active, and even not using this happens. Setup - spring applicationXML <context:component-scan base-package="br.com"> <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller"/> </context:component-scan> <bean id="dsDataSourceCotador" class="org.springframework.jndi.JndiObjectFactoryBean"> <property name="jndiName" value="java:/comp/env/jdbc/cotacaoDS" /> </bean> <bean id="entityManagerFactoryCotador" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean"> <property name="persistenceUnitName" value="puprojetoCotador" /> <property name="dataSource" ref="dsDataSourceCotador"/> <property name="jpaVendorAdapter"> <bean class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter" /> </property> <property name="packagesToScan" value="br.com.empresa.cotador.projeto.model" /> <property name="jpaProperties"> <props> <prop key="hibernate.dialect">org.hibernate.dialect.Oracle9Dialect</prop> <prop key="hibernate.show_sql">true</prop> <prop key="log4j.logger.org.hibernate.type">TRACE</prop> <prop key="connection.provider_class">org.hibernate.connection.C3P0ConnectionProvider</prop> <prop key="hibernate.c3p0.acquire_increment">1</prop> <prop key="hibernate.c3p0.idle_test_period">300</prop> <prop key="hibernate.c3p0.timeout">5000</prop> <prop key="hibernate.c3p0.max_size">10</prop> <prop key="hibernate.c3p0.max_statements">0</prop> <prop key="hibernate.c3p0.min_size">1</prop> <prop key="hibernate.c3p0.acquireRetryAttempts">3</prop> <prop key="hibernate.c3p0.acquireRetryDelay">1000</prop> <prop key="hibernate.jdbc.batch_size">30</prop> </props> </property> </bean> <bean id="transactionManagerCotador" class="org.springframework.orm.jpa.JpaTransactionManager"> <property name="entityManagerFactory" ref="entityManagerFactoryCotador"/> <qualifier value="cot"/> </bean> <tx:annotation-driven transaction-manager="transactionManagerCotador" proxy-target-class="false"/> <bean id="activeMQConnectionFactory" class="org.apache.activemq.ActiveMQConnectionFactory"> <property name="brokerURL"> <value>#{systemProperties['empresa.mr.servidor.ACTIVEMQ']}</value> </property> <property name="userName"> <value>#{ systemProperties['empresa.mr.servidor.ACTIVEMQ.USER'] }</value> </property> <property name="password"> <value>#{ systemProperties['empresa.mr.servidor.ACTIVEMQ.PASS'] }</value> </property> </bean> <bean id="connectionFactory" class="org.springframework.jms.connection.CachingConnectionFactory"> <constructor-arg ref="activeMQConnectionFactory" /> </bean> <bean id="filaRecepcaoMRPut" class="org.apache.activemq.command.ActiveMQQueue"> <constructor-arg index="0" value="#{systemProperties['empresa.mr.fila.RECEPCAO.PUT']}" /> </bean> <bean id="filaUploadMRPut" class="org.apache.activemq.command.ActiveMQQueue"> <constructor-arg index="0" value="#{systemProperties['empresa.mr.fila.UPLOAD.PUT']}" /> </bean> <bean id="jmsTemplate" class="org.springframework.jms.core.JmsTemplate"> <property name="connectionFactory" ref="connectionFactory" /> </bean> <bean id="activeMQXAConnectionFactory" class="org.apache.activemq.ActiveMQXAConnectionFactory"> <constructor-arg index="0"> <value>#{systemProperties['empresa.mr.servidor.ACTIVEMQ.USER'] }</value> </constructor-arg> <constructor-arg index="1"> <value>#{systemProperties['empresa.mr.servidor.ACTIVEMQ.PASS'] }</value> </constructor-arg> <constructor-arg index="2"> <value>#{systemProperties['empresa.mr.servidor.ACTIVEMQ']}</value> </constructor-arg> </bean> <bean id="queueConnectionFactoryBean" class="com.atomikos.jms.AtomikosConnectionFactoryBean" init-method="init" destroy-method="close"> <property name="uniqueResourceName" value="QUEUE_BROKER" /> <property name="xaConnectionFactory" ref="activeMQXAConnectionFactory" /> </bean> <bean id="jmsTemplateXA" class="org.springframework.jms.core.JmsTemplate"> <property name="connectionFactory" ref="queueConnectionFactoryBean" /> <property name="sessionTransacted" value="true"/> </bean> <bean id="datasourceCOTXA" class="br.com.empresa.cotador.projeto.util.CustomAtomikosDataSourceBean" init-method="init" destroy-method="close" lazy-init="true"> <property name="uniqueResourceName" value="COTXADBMS" /> <property name="wrapperDataSource"> <bean id="dsDataSourceCOTXA" class="org.springframework.jndi.JndiObjectFactoryBean"> <property name="jndiName" value="java:/comp/env/jdbc/cotacaoDSXA" /> </bean> </property> <qualifier value="cot" /> </bean> <bean id="entityManagerFactoryCotadorXA" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean"> <property name="persistenceUnitName" value="puprojetoCotadorXA" /> <property name="jtaDataSource" ref="datasourceCOTXA"/> <property name="jpaVendorAdapter"> <bean class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter" /> </property> <property name="packagesToScan" value="br.com.empresa.cotador.projeto.model" /> <property name="jpaProperties"> <props> <prop key="hibernate.transaction.manager_lookup_class">com.atomikos.icatch.jta.hibernate3.TransactionManagerLookup</prop> <prop key="hibernate.dialect">org.hibernate.dialect.Oracle10gDialect</prop> <prop key="hibernate.show_sql">true</prop> <prop key="javax.persistence.transactionType">jta</prop> </props> </property> </bean> <bean id="atomikosUserTransactionService" class="com.atomikos.icatch.config.UserTransactionServiceImp" init-method="init" destroy-method="shutdownForce"> <constructor-arg> <props> <prop key="com.atomikos.icatch.service">br.com.empresa.cotador.projeto.util.atomikos.UserTransactionServiceFactory</prop> <prop key="com.atomikos.icatch.log_base_name">CotadorprojetoServiceXA</prop> <prop key="com.atomikos.icatch.output_dir">/app/tmp/</prop> <prop key="com.atomikos.icatch.log_base_dir">/app/tmp/</prop> <prop key="com.atomikos.icatch.default_jta_timeout">600000</prop> <prop key="com.atomikos.icatch.max_timeout">600000</prop> </props> </constructor-arg> </bean> <bean id="transactionManagerXA" class="org.springframework.transaction.jta.JtaTransactionManager"> <property name="transactionManager"> <bean id="atomikosTransactionManager" class="com.atomikos.icatch.jta.UserTransactionManager" init-method="init" destroy-method="close"> <property name="forceShutdown" value="true" /> </bean> </property> <property name="userTransaction"> <bean id="atomikosUserTransaction" class="com.atomikos.icatch.jta.UserTransactionImp" depends-on="atomikosUserTransactionService"> <property name="transactionTimeout" value="600000" /> </bean> </property> <qualifier value="XA"/> </bean> <tx:annotation-driven transaction-manager="transactionManagerXA" /> </beans> does anonyone whow to avoid this problem, fix or do a workaround? |