And the plot thickens... this warning is issued before the exceptions
are dumped:
<snip>
21:21:23,050 WARN [Transaction] Unable to enlist XAResource
[EMAIL PROTECTED], e
rrorCode: -3
oracle.jdbc.xa.OracleXAException
at oracle.jdbc.xa.OracleXAResource.checkError
(OracleXAResource.java:1190)
at oracle.jdbc.xa.client.OracleXAResource.start
(OracleXAResource.java:311)
at
org.apache.geronimo.transaction.manager.WrapperNamedXAResource.start
(WrapperNamedXAResource.java:86)
at
org.apache.geronimo.transaction.manager.TransactionImpl.enlistResource
(TransactionImpl.java:166)
at
org.apache.geronimo.transaction.context.InheritableTransactionContext.en
listResource(InheritableTransactionContext.java:92)
at
org.apache.geronimo.connector.outbound.TransactionEnlistingInterceptor.g
etConnection(TransactionEnlistingInterceptor.java:53)
at
org.apache.geronimo.connector.outbound.TransactionCachingInterceptor.get
Connection(TransactionCachingInterceptor.java:81)
at
org.apache.geronimo.connector.outbound.ConnectionHandleInterceptor.getCo
nnection(ConnectionHandleInterceptor.java:43)
at
org.apache.geronimo.connector.outbound.TCCLInterceptor.getConnection
(TCCLInterceptor.java:39)
at
org.apache.geronimo.connector.outbound.ConnectionTrackingInterceptor.get
Connection(ConnectionTrackingInterceptor.java:66)
at
org.apache.geronimo.connector.outbound.AbstractConnectionManager.allocat
eConnection(AbstractConnectionManager.java:57)
at org.tranql.connector.jdbc.DataSource.getConnection
(DataSource.java:56)
at $javax.sql.DataSource$$FastClassByCGLIB$$6525cafd.invoke
(<generated>)
at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149)
at
org.apache.geronimo.connector.ConnectorMethodInterceptor.intercept
(ConnectorMethodInterceptor.java:53)
at $javax.sql.DataSource$$EnhancerByCGLIB$
$4e89d0c0.getConnection(<generated>)
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:324)
at
org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(
AopUtils.java:282)
at
org.springframework.aop.framework.JdkDynamicAopProxy.invoke
(JdkDynamicAopProxy.java:163)
at $Proxy1.getConnection(Unknown Source)
at
org.springframework.orm.hibernate.LocalDataSourceConnectionProvider.getC
onnection(LocalDataSourceConnectionProvider.java:75)
at net.sf.hibernate.cfg.SettingsFactory.buildSettings
(SettingsFactory.java:73)
at net.sf.hibernate.cfg.Configuration.buildSettings
(Configuration.java:1155)
at net.sf.hibernate.cfg.Configuration.buildSessionFactory
(Configuration.java:789)
at
org.springframework.orm.hibernate.LocalSessionFactoryBean.newSessionFact
ory(LocalSessionFactoryBean.java:535)
at
org.springframework.orm.hibernate.LocalSessionFactoryBean.afterPropertie
sSet(LocalSessionFactoryBean.java:470)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFac
tory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1065)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFac
tory.createBean(AbstractAutowireCapableBeanFactory.java:343)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFac
tory.createBean(AbstractAutowireCapableBeanFactory.java:260)
at
org.springframework.beans.factory.support.AbstractBeanFactory.getBean
(AbstractBeanFactory.java:221)
at
org.springframework.beans.factory.support.AbstractBeanFactory.getBean
(AbstractBeanFactory.java:145)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFac
tory.resolveReference(AbstractAutowireCapableBeanFactory.java:973)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFac
tory.resolveValueIfNecessary(AbstractAutowireCapableBeanFactory.java:
911)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFac
tory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:852)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFac
tory.populateBean(AbstractAutowireCapableBeanFactory.java:680)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFac
tory.createBean(AbstractAutowireCapableBeanFactory.java:325)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFac
tory.createBean(AbstractAutowireCapableBeanFactory.java:260)
at
org.springframework.beans.factory.support.AbstractBeanFactory.getBean
(AbstractBeanFactory.java:221)
at
org.springframework.beans.factory.support.AbstractBeanFactory.getBean
(AbstractBeanFactory.java:145)
at
org.springframework.beans.factory.support.DefaultListableBeanFactory.pre
InstantiateSingletons(DefaultListableBeanFactory.java:282)
at
org.springframework.context.support.AbstractApplicationContext.refresh
(AbstractApplicationContext.java:317)
at
org.springframework.context.support.ClassPathXmlApplicationContext.<init
>(ClassPathXmlApplicationContext.java:80)
at
org.springframework.context.support.ClassPathXmlApplicationContext.<init
>(ClassPathXmlApplicationContext.java:65)
at
org.springframework.context.access.ContextJndiBeanFactoryLocator.createB
eanFactory(ContextJndiBeanFactoryLocator.java:40)
at
org.springframework.beans.factory.access.JndiBeanFactoryLocator.useBeanF
actory(JndiBeanFactoryLocator.java:68)
at
org.springframework.ejb.support.AbstractEnterpriseBean.loadBeanFactory
(AbstractEnterpriseBean.java:115)
at
org.springframework.ejb.support.AbstractStatelessSessionBean.ejbCreate
(AbstractStatelessSessionBean.java:63)
at
com.solidusnetworks.paycore.ach.model.merchant.service.MerchantViewServi
ceBean$$FastClassByCGLIB$$e322b03a.invoke(<generated>)
at org.openejb.slsb.EJBCreateMethod.execute
(EJBCreateMethod.java:94)
at org.openejb.dispatch.DispatchInterceptor.invoke
(DispatchInterceptor.java:72)
at
org.apache.geronimo.naming.java.ComponentContextInterceptor.invoke
(ComponentContextInterceptor.java:56)
at org.openejb.ConnectionTrackingInterceptor.invoke
(ConnectionTrackingInterceptor.java:81)
at org.openejb.slsb.StatelessInstanceContext.ejbCreate
(StatelessInstanceContext.java:168)
at org.openejb.slsb.StatelessInstanceFactory.createInstance
(StatelessInstanceFactory.java:74)
at org.openejb.util.SoftLimitedInstancePool.acquire
(SoftLimitedInstancePool.java:81)
at org.openejb.slsb.StatelessInstanceInterceptor.invoke
(StatelessInstanceInterceptor.java:84)
at org.openejb.transaction.ContainerPolicy$TxRequired.invoke
(ContainerPolicy.java:119)
at
org.openejb.transaction.TransactionContextInterceptor.invoke
(TransactionContextInterceptor.java:80)
at org.openejb.SystemExceptionInterceptor.invoke
(SystemExceptionInterceptor.java:82)
at org.openejb.GenericEJBContainer.invoke
(GenericEJBContainer.java:238)
at org.openejb.proxy.EJBMethodInterceptor.intercept
(EJBMethodInterceptor.java:129)
at org.openejb.proxy.SessionEJBLocalHome$$EnhancerByCGLIB$
$8d17d4ce.create(<generated>)
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:324)
at
com.solidusnetworks.paycore.ach.system.J2EEUtils.getLocalInstance
(J2EEUtils.java:133)
at
com.solidusnetworks.paycore.ach.system.J2EEUtils.getMerchantViewServiceL
ocal(J2EEUtils.java:248)
at
com.solidusnetworks.paycore.ach.business.pos.POSCheckServiceBean.ejbCrea
te(POSCheckServiceBean.java:90)
at
com.solidusnetworks.paycore.ach.business.pos.POSCheckServiceBean$
$FastClassByCGLIB$$ac29a8c5.invoke(<generated>)
at org.openejb.slsb.EJBCreateMethod.execute
(EJBCreateMethod.java:94)
at org.openejb.dispatch.DispatchInterceptor.invoke
(DispatchInterceptor.java:72)
at
org.apache.geronimo.naming.java.ComponentContextInterceptor.invoke
(ComponentContextInterceptor.java:56)
at org.openejb.ConnectionTrackingInterceptor.invoke
(ConnectionTrackingInterceptor.java:81)
at org.openejb.slsb.StatelessInstanceContext.ejbCreate
(StatelessInstanceContext.java:168)
at org.openejb.slsb.StatelessInstanceFactory.createInstance
(StatelessInstanceFactory.java:74)
at org.openejb.util.SoftLimitedInstancePool.acquire
(SoftLimitedInstancePool.java:81)
at org.openejb.slsb.StatelessInstanceInterceptor.invoke
(StatelessInstanceInterceptor.java:84)
at org.openejb.transaction.ContainerPolicy$TxRequired.invoke
(ContainerPolicy.java:140)
at
org.openejb.transaction.TransactionContextInterceptor.invoke
(TransactionContextInterceptor.java:80)
at org.openejb.SystemExceptionInterceptor.invoke
(SystemExceptionInterceptor.java:82)
at org.openejb.GenericEJBContainer.invoke
(GenericEJBContainer.java:238)
at org.openejb.server.ejbd.EjbRequestHandler.invoke
(EjbRequestHandler.java:297)
at org.openejb.server.ejbd.EjbRequestHandler.doEjbHome_CREATE
(EjbRequestHandler.java:342)
at org.openejb.server.ejbd.EjbRequestHandler.processRequest
(EjbRequestHandler.java:205)
at org.openejb.server.ejbd.EjbDaemon.service(EjbDaemon.java:
150)
at org.openejb.server.ejbd.EjbServer.service(EjbServer.java:87)
at org.openejb.server.ejbd.EjbServer$$FastClassByCGLIB$
$d379d2ff.invoke(<generated>)
at net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)
at org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke
(FastMethodInvoker.java:38)
at org.apache.geronimo.gbean.runtime.GBeanOperation.invoke
(GBeanOperation.java:118)
at org.apache.geronimo.gbean.runtime.GBeanInstance.invoke
(GBeanInstance.java:800)
at org.apache.geronimo.gbean.runtime.RawInvoker.invoke
(RawInvoker.java:57)
at
org.apache.geronimo.kernel.basic.RawOperationInvoker.invoke
(RawOperationInvoker.java:36)
at
org.apache.geronimo.kernel.basic.ProxyMethodInterceptor.intercept
(ProxyMethodInterceptor.java:96)
at org.activeio.xnet.ServerService$$EnhancerByCGLIB$
$944b9c52.service(<generated>)
at org.activeio.xnet.ServicePool$2.run(ServicePool.java:67)
at org.activeio.xnet.ServicePool$3.run(ServicePool.java:90)
at org.apache.geronimo.pool.ThreadPool
$ContextClassLoaderRunnable.run(ThreadPool.java:138)
at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run
(Unknown Source)
at java.lang.Thread.run(Thread.java:552)
</snip>
I found this related to -3:
http://bugs.caucho.com/view.php?id=180
Unfortunately its hard to search for "-3", and that is all the
context I have to go from :-(
--jason
On Feb 6, 2006, at 5:17 PM, Jason Dillon wrote:
No love :-(
When I configure both of my datasources to use the oracle xa adapter,
and use the xa adapter for activemq, I get exceptions like:
<snip>
[2/6/06 16:35:17:456 PST] [ERROR] -
org.apache.geronimo.kernel.log.GeronimoLog.error(line:104) -
ORA-02089: COMMIT is not allowed in a subordinate session
[2/6/06 16:35:17:458 PST] [ERROR] -
org.apache.geronimo.kernel.log.GeronimoLog.error(line:108) - Could not
execute query
java.sql.SQLException: ORA-02089: COMMIT is not allowed in a
subordinate session
at oracle.jdbc.dbaccess.DBError.throwSqlException
(DBError.java:134)
at oracle.jdbc.ttc7.TTIoer.processError(TTIoer.java:289)
at oracle.jdbc.ttc7.Oall7.receive(Oall7.java:582)
at oracle.jdbc.ttc7.TTC7Protocol.doOall7(TTC7Protocol.java:
1986)
at oracle.jdbc.ttc7.TTC7Protocol.parseExecuteDescribe
(TTC7Protocol.java:880)
at oracle.jdbc.driver.OracleStatement.doExecuteQuery
(OracleStatement.java:2516)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout
(OracleStatement.java:2850)
at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate
(OraclePreparedStatement.java:609)
at oracle.jdbc.driver.OraclePreparedStatement.executeQuery
(OraclePreparedStatement.java:537)
at
org.tranql.connector.jdbc.PreparedStatementHandle.executeQuery
(PreparedStatementHandle.java:49)
at net.sf.hibernate.impl.BatcherImpl.getResultSet
(BatcherImpl.java:87)
at net.sf.hibernate.loader.Loader.getResultSet(Loader.java:
875)
at net.sf.hibernate.loader.Loader.doQuery(Loader.java:269)
at
net.sf.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(
Loader.java:133)
at net.sf.hibernate.loader.Loader.doList(Loader.java:1033)
at net.sf.hibernate.loader.Loader.list(Loader.java:1024)
at net.sf.hibernate.hql.QueryTranslator.list
(QueryTranslator.java:854)
at net.sf.hibernate.impl.SessionImpl.find(SessionImpl.java:
1544)
at net.sf.hibernate.impl.QueryImpl.list(QueryImpl.java:39)
at org.springframework.orm.hibernate.HibernateTemplate
$26.doInHibernate(HibernateTemplate.java:667)
at
org.springframework.orm.hibernate.HibernateTemplate.execute
(HibernateTemplate.java:312)
at org.springframework.orm.hibernate.HibernateTemplate.find
(HibernateTemplate.java:655)
at
com.solidusnetworks.paycore.util.hibernate.BaseDAOHibernate.find
(BaseDAOHibernate.java:423)
at
com.solidusnetworks.ach.oltp.dao.impl.NegativeFileDAOHibernate.findAct
iveNegativeFiles(NegativeFileDAOHibernate.java:394)
at
com.solidusnetworks.paycore.ach.model.negativefile.service.NegativeFil
eViewServiceBean.retrieveActiveGlobalAndMerchantNegativeFiles
(NegativeFileViewServiceBean.java:87)
at
com.solidusnetworks.paycore.ach.model.negativefile.service.NegativeFil
eViewServiceBean$$FastClassByCGLIB$$55b05efa.invoke(<generated>)
at org.openejb.dispatch.AbstractMethodOperation.invoke
(AbstractMethodOperation.java:90)
at org.openejb.slsb.BusinessMethod.execute
(BusinessMethod.java:67)
at org.openejb.dispatch.DispatchInterceptor.invoke
(DispatchInterceptor.java:72)
at
org.apache.geronimo.naming.java.ComponentContextInterceptor.invoke
(ComponentContextInterceptor.java:56)
at org.openejb.ConnectionTrackingInterceptor.invoke
(ConnectionTrackingInterceptor.java:81)
at org.openejb.transaction.ContainerPolicy$TxRequired.invoke
(ContainerPolicy.java:119)
at
org.openejb.transaction.TransactionContextInterceptor.invoke
(TransactionContextInterceptor.java:80)
at org.openejb.slsb.StatelessInstanceInterceptor.invoke
(StatelessInstanceInterceptor.java:98)
at org.openejb.transaction.ContainerPolicy$TxRequired.invoke
(ContainerPolicy.java:119)
at
org.openejb.transaction.TransactionContextInterceptor.invoke
(TransactionContextInterceptor.java:80)
at org.openejb.SystemExceptionInterceptor.invoke
(SystemExceptionInterceptor.java:82)
at org.openejb.GenericEJBContainer.invoke
(GenericEJBContainer.java:238)
at org.openejb.proxy.EJBMethodInterceptor.intercept
(EJBMethodInterceptor.java:129)
at org.openejb.proxy.SessionEJBLocalObject$$EnhancerByCGLIB$
$c4231b05.retrieveActiveGlobalAndMerchantNegativeFiles(<generated>)
at
com.solidusnetworks.paycore.ach.business.pos.POSCheckServiceBean.retri
eveNegativeFileData(POSCheckServiceBean.java:414)
at
com.solidusnetworks.paycore.ach.business.pos.POSCheckServiceBean.check
ForNegativeFileAndDollarLimit(POSCheckServiceBean.java:300)
at
com.solidusnetworks.paycore.ach.business.pos.POSCheckServiceBean.autho
rize(POSCheckServiceBean.java:206)
at
com.solidusnetworks.paycore.ach.business.pos.POSCheckServiceBean$
$FastClassByCGLIB$$ac29a8c5.invoke(<generated>)
at org.openejb.dispatch.AbstractMethodOperation.invoke
(AbstractMethodOperation.java:90)
at org.openejb.slsb.BusinessMethod.execute
(BusinessMethod.java:67)
at org.openejb.dispatch.DispatchInterceptor.invoke
(DispatchInterceptor.java:72)
at
org.apache.geronimo.naming.java.ComponentContextInterceptor.invoke
(ComponentContextInterceptor.java:56)
at org.openejb.ConnectionTrackingInterceptor.invoke
(ConnectionTrackingInterceptor.java:81)
at org.openejb.transaction.ContainerPolicy$TxRequired.invoke
(ContainerPolicy.java:119)
at
org.openejb.transaction.TransactionContextInterceptor.invoke
(TransactionContextInterceptor.java:80)
at org.openejb.slsb.StatelessInstanceInterceptor.invoke
(StatelessInstanceInterceptor.java:98)
at org.openejb.transaction.ContainerPolicy$TxRequired.invoke
(ContainerPolicy.java:140)
at
org.openejb.transaction.TransactionContextInterceptor.invoke
(TransactionContextInterceptor.java:80)
at org.openejb.SystemExceptionInterceptor.invoke
(SystemExceptionInterceptor.java:82)
at org.openejb.GenericEJBContainer.invoke
(GenericEJBContainer.java:238)
at org.openejb.server.ejbd.EjbRequestHandler.invoke
(EjbRequestHandler.java:297)
at
org.openejb.server.ejbd.EjbRequestHandler.doEjbObject_BUSINESS_METHOD(
EjbRequestHandler.java:325)
at org.openejb.server.ejbd.EjbRequestHandler.processRequest
(EjbRequestHandler.java:196)
at org.openejb.server.ejbd.EjbDaemon.service(EjbDaemon.java:
150)
at org.openejb.server.ejbd.EjbServer.service(EjbServer.java:
87)
at org.openejb.server.ejbd.EjbServer$$FastClassByCGLIB$
$d379d2ff.invoke(<generated>)
at net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)
at
org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke
(FastMethodInvoker.java:38)
at org.apache.geronimo.gbean.runtime.GBeanOperation.invoke
(GBeanOperation.java:118)
at org.apache.geronimo.gbean.runtime.GBeanInstance.invoke
(GBeanInstance.java:800)
at org.apache.geronimo.gbean.runtime.RawInvoker.invoke
(RawInvoker.java:57)
at
org.apache.geronimo.kernel.basic.RawOperationInvoker.invoke
(RawOperationInvoker.java:36)
at
org.apache.geronimo.kernel.basic.ProxyMethodInterceptor.intercept
(ProxyMethodInterceptor.java:96)
at org.activeio.xnet.ServerService$$EnhancerByCGLIB$
$944b9c52.service(<generated>)
at org.activeio.xnet.ServicePool$2.run(ServicePool.java:67)
at org.activeio.xnet.ServicePool$3.run(ServicePool.java:90)
at org.apache.geronimo.pool.ThreadPool
$ContextClassLoaderRunnable.run(ThreadPool.java:138)
at EDU.oswego.cs.dl.util.concurrent.PooledExecutor
$Worker.run(Unknown
Source)
at java.lang.Thread.run(Thread.java:552)
</snip>
The only way I could get anything to work, was to use the oracle local
rars, configure everything (both jdbc ds and jms ds) to use
<local-transaction/>, but it appears that the remote call from my
client never returns, even though logging suggests that the beans
method completed. I'm guessing the tx is stuck. I started from
stretch (new geronimo dist) and redeployed the plan that was
previously sticking and it seems okay.
Any idea what is up with this subordinate session muck?
--jason