Details
-
Bug
-
Status: Closed
-
Critical
-
Resolution: Fixed
-
2.0, 2.0.x, 2.1
-
Security Level: public (Regular issues)
-
None
-
Geronimo 2.0 (tomcat) build from 07/24 (http://people.apache.org/~prasad/binaries/20070724/)
DayTrader 1.2 or 2.0 (any runtime mode) with asyn order processing enabled
Description
The async order processing in DayTrader uses the TradeBrokerMDB to handle complete order operations whenever a buy or sell is performed. When these transactions are executed, the transaction appears to complete; however, the following exception is written to the console and log file.
According to Jencks, this seems to indicate that the tx info is not being written to the transaction log.
22:59:18,421 ERROR [Transaction] Please correct the integration and supply a NamedXAResource
java.lang.IllegalStateException : Cannot log transactions as org.apache.activemq.ra.LocalAndXATransaction@1de21de2 is not a NamedXAResource.
at org.apache.geronimo.transaction.manager.TransactionImpl$TransactionBranch.getResourceName(TransactionImpl.java :697)
at org.apache.geronimo.transaction.log.HOWLLog.prepare(HOWLLog.java:254)
at org.apache.geronimo.transaction.log.HOWLLog$$FastClassByCGLIB$$7315be2e.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:124)
at org.apache.geronimo.gbean.runtime.GBeanInstance.invoke (GBeanInstance.java:830)
at org.apache.geronimo.gbean.runtime.RawInvoker.invoke(RawInvoker.java:57)
at org.apache.geronimo.kernel.basic.RawOperationInvoker.invoke(RawOperationInvoker.java:35)
at org.apache.geronimo.kernel.basic.ProxyMethodInterceptor.intercept (ProxyMethodInterceptor.java:96)
at org.apache.geronimo.gbean.GBeanLifecycle$$EnhancerByCGLIB$$ba0af455.prepare(<generated>)
at org.apache.geronimo.transaction.manager.TransactionImpl.internalPrepare(TransactionImpl.java :444)
at org.apache.geronimo.transaction.manager.TransactionImpl.commit(TransactionImpl.java:316)
at org.apache.geronimo.transaction.manager.TransactionManagerImpl.commit(TransactionManagerImpl.java:238)
at org.apache.openejb.core.transaction.TransactionPolicy.commitTransaction(TransactionPolicy.java:139)
at org.apache.openejb.core.transaction.TxRequired.afterInvoke(TxRequired.java:75)
at org.apache.openejb.core.mdb.MdbContainer.afterDelivery (MdbContainer.java:375)
at org.apache.openejb.core.mdb.EndpointHandler.afterDelivery(EndpointHandler.java:274)
at org.apache.openejb.core.mdb.EndpointHandler.invoke(EndpointHandler.java:164)
at $Proxy36.afterDelivery(Unknown Source)
at org.apache.activemq.ra.MessageEndpointProxy$MessageEndpointAlive.afterDelivery(MessageEndpointProxy.java:126)
at org.apache.activemq.ra.MessageEndpointProxy.afterDelivery(MessageEndpointProxy.java:65)
at org.apache.activemq.ra.ServerSessionImpl.afterDelivery(ServerSessionImpl.java:216)
at org.apache.activemq.ActiveMQSession.run(ActiveMQSession.java:751)
at org.apache.activemq.ra.ServerSessionImpl.run( ServerSessionImpl.java:165)
at org.apache.geronimo.connector.work.WorkerContext.run(WorkerContext.java:290)
at org.apache.geronimo.connector.work.pool.NamedRunnable.run(NamedRunnable.java:32)
at org.apache.geronimo.pool.ThreadPool$1.run (ThreadPool.java:201)
at org.apache.geronimo.pool.ThreadPool$ContextClassLoaderRunnable.run(ThreadPool.java:331)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:665)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:690)
at java.lang.Thread.run(Thread.java:801)