1 Reply Latest reply: Apr 10, 2012 3:49 PM by Cdelahun-Oracle RSS

    Toplink 11.1.1.0.0 with JBoss 5.1.0 - Transaction not active

    arpit
      Hi

      I am using Toplink 11.1.1.0.0 with JBoss 5.1.0. I have SessionEventListener which performs message logging for some business pupose after transaction is completed by stateless session bean. When doing data lookup using toplink expression in postMerge method of SessionEventListener (registered with active toplink session), I am getting following exception. Does anyone have any idea what could be reason? The same logic works fine in WebLogic 10.3.5.


      2012-04-10 02:08:30,172 ERROR [STDERR] Local Exception Stack:
      Exception [TOPLINK-4002] (Oracle TopLink - 11g (11.1.1.0.0) (Build 080909)): oracle.toplink.exceptions.DatabaseException
      Internal Exception: org.jboss.util.NestedSQLException: Transaction is not active: tx=TransactionImple < ac, BasicAction: afd4f40:11d7:4f83e63c:2a0 status: ActionStatus.COMMITTED >; - nested throwable: (javax.resource.ResourceException: Transaction is not active: tx=TransactionImple < ac, BasicAction: afd4f40:11d7:4f83e63c:2a0 status: ActionStatus.COMMITTED >)
      Error Code: 0
      Call: SQLCall(SELECT ENTEREDDEALQUANTITY_ID, LASTUPDATEDATE, LASTUPDATEUSER, ADDUSER, PRESSUREBASE, BEGDATE, QTYCLASSIFICATION, ENERGYQUANTITY, HEATINGVALUE, SATURATIONTYPE, ASPCUSTOMER_ID, SEQUENCENUMBER, ENTEREDQUANTITYFORMULA, TIMEZONE_ID, ENDDATE, VOLUMEQUANTITY, ADDDATE FROM ENTEREDDEALQUANTITY WHERE (QTYCLASSIFICATION = ?) ORDER BY BEGDATE ASC)
      Query: ReadAllQuery(com.altra.common.data.EnteredDealQuantityData)
      at oracle.toplink.exceptions.DatabaseException.sqlException(DatabaseException.java:282)
      at oracle.toplink.jndi.JNDIConnector.connect(JNDIConnector.java:128)
      at oracle.toplink.jndi.JNDIConnector.connect(JNDIConnector.java:84)
      at oracle.toplink.sessions.DatasourceLogin.connectToDatasource(DatasourceLogin.java:153)
      at oracle.toplink.internal.databaseaccess.DatasourceAccessor.connectInternal(DatasourceAccessor.java:273)
      at oracle.toplink.internal.databaseaccess.DatabaseAccessor.connectInternal(DatabaseAccessor.java:230)
      at oracle.toplink.internal.databaseaccess.DatasourceAccessor.reconnect(DatasourceAccessor.java:478)
      at oracle.toplink.internal.databaseaccess.DatabaseAccessor.reconnect(DatabaseAccessor.java:1342)
      at oracle.toplink.internal.databaseaccess.DatasourceAccessor.incrementCallCount(DatasourceAccessor.java:251)
      at oracle.toplink.internal.databaseaccess.DatabaseAccessor.basicExecuteCall(DatabaseAccessor.java:511)
      at oracle.toplink.internal.databaseaccess.DatabaseAccessor.executeCall(DatabaseAccessor.java:467)
      at oracle.toplink.threetier.ServerSession.executeCall(ServerSession.java:447)
      at oracle.toplink.internal.queryframework.DatasourceCallQueryMechanism.executeCall(DatasourceCallQueryMechanism.java:193)
      at oracle.toplink.internal.queryframework.DatasourceCallQueryMechanism.executeCall(DatasourceCallQueryMechanism.java:179)
      at oracle.toplink.internal.queryframework.DatasourceCallQueryMechanism.executeSelectCall(DatasourceCallQueryMechanism.java:250)
      at oracle.toplink.internal.queryframework.DatasourceCallQueryMechanism.selectAllRows(DatasourceCallQueryMechanism.java:583)
      at oracle.toplink.internal.queryframework.ExpressionQueryMechanism.selectAllRowsFromTable(ExpressionQueryMechanism.java:2483)
      at oracle.toplink.internal.queryframework.ExpressionQueryMechanism.selectAllRows(ExpressionQueryMechanism.java:2441)
      at oracle.toplink.queryframework.ReadAllQuery.executeObjectLevelReadQuery(ReadAllQuery.java:467)
      at oracle.toplink.queryframework.ObjectLevelReadQuery.executeDatabaseQuery(ObjectLevelReadQuery.java:874)
      at oracle.toplink.queryframework.DatabaseQuery.execute(DatabaseQuery.java:674)
      at oracle.toplink.queryframework.ObjectLevelReadQuery.execute(ObjectLevelReadQuery.java:835)
      at oracle.toplink.queryframework.ReadAllQuery.execute(ReadAllQuery.java:445)
      at oracle.toplink.internal.sessions.AbstractSession.internalExecuteQuery(AbstractSession.java:2260)
      at oracle.toplink.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1074)
      at oracle.toplink.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1058)
      at oracle.toplink.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1017)
      at com.altra.common.data.QtyClassificationOptimizedData.getEnteredQuantityDataList(QtyClassificationOptimizedData.java:214)
      at com.altra.common.data.QtyClassificationOptimizedData.getEnteredQuantityData(QtyClassificationOptimizedData.java:460)
      at com.altra.common.data.DealQtyClassificationDataDescriptor$10.getValue(DealQtyClassificationDataDescriptor.java:394)
      at org.exolab.castor.xml.Marshaller.marshal(Marshaller.java:839)
      at org.exolab.castor.xml.Marshaller.marshal(Marshaller.java:860)
      at org.exolab.castor.xml.Marshaller.marshal(Marshaller.java:468)
      at org.exolab.castor.xml.Marshaller.marshal(Marshaller.java:450)
      at com.altra.common.data.BoundObject.getXmlDocument(BoundObject.java:162)
      at com.altra.middleware.MessageDecorator.decorate(MessageDecorator.java:1298)
      at com.altra.middleware.JediMessageBroadcaster.send(JediMessageBroadcaster.java:108)
      at com.altra.base.event.ChangeEventNotification.send(ChangeEventNotification.java:502)
      at com.altra.base.event.ChangeEventNotification.postMergeUnitOfWorkChangeSet(ChangeEventNotification.java:658)
      at oracle.toplink.sessions.SessionEventManager.postMergeUnitOfWorkChangeSet(SessionEventManager.java:416)
      at oracle.toplink.internal.sessions.UnitOfWorkImpl.mergeChangesIntoParent(UnitOfWorkImpl.java:3156)
      at oracle.toplink.internal.sessions.UnitOfWorkImpl.mergeClonesAfterCompletion(UnitOfWorkImpl.java:3218)
      at oracle.toplink.transaction.AbstractSynchronizationListener.afterCompletion(AbstractSynchronizationListener.java:202)
      at oracle.toplink.transaction.JTASynchronizationListener.afterCompletion(JTASynchronizationListener.java:68)
      at com.arjuna.ats.internal.jta.resources.arjunacore.SynchronizationImple.afterCompletion(SynchronizationImple.java:123)
      at com.arjuna.ats.arjuna.coordinator.TwoPhaseCoordinator.afterCompletion(TwoPhaseCoordinator.java:381)
      at com.arjuna.ats.arjuna.coordinator.TwoPhaseCoordinator.end(TwoPhaseCoordinator.java:99)
      at com.arjuna.ats.arjuna.AtomicAction.end(AtomicAction.java:216)
      at com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionImple.commit(TransactionImple.java:242)
      at org.jboss.ejb.plugins.TxInterceptorCMT.endTransaction(TxInterceptorCMT.java:501)
      at org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:411)
      at org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:181)
      at org.jboss.ejb.plugins.SecurityInterceptor.process(SecurityInterceptor.java:267)
      at org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInterceptor.java:211)
      at org.jboss.ejb.plugins.security.PreSecurityInterceptor.process(PreSecurityInterceptor.java:134)
      at org.jboss.ejb.plugins.security.PreSecurityInterceptor.invoke(PreSecurityInterceptor.java:81)
      at org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:205)
      at org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invoke(ProxyFactoryFinderInterceptor.java:138)
      at org.jboss.ejb.SessionContainer.internalInvoke(SessionContainer.java:650)
      at org.jboss.ejb.Container.invoke(Container.java:1029)
      at sun.reflect.GeneratedMethodAccessor336.invoke(Unknown Source)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:597)
      at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:157)
      at org.jboss.mx.server.Invocation.dispatch(Invocation.java:96)
      at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
      at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
      at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:668)
      at org.jboss.invocation.local.LocalInvoker$MBeanServerAction.invoke(LocalInvoker.java:169)
      at org.jboss.invocation.local.LocalInvoker.invoke(LocalInvoker.java:118)
      at org.jboss.invocation.InvokerInterceptor.invokeLocalMarshalled(InvokerInterceptor.java:295)
      at org.jboss.invocation.MarshallingInvokerInterceptor.invoke(MarshallingInvokerInterceptor.java:61)
      at org.jboss.proxy.TransactionInterceptor.invoke(TransactionInterceptor.java:61)
      at org.jboss.proxy.ejb.SecurityContextInterceptor.invoke(SecurityContextInterceptor.java:64)
      at org.jboss.proxy.SecurityInterceptor.invoke(SecurityInterceptor.java:68)
      at org.jboss.proxy.ejb.StatelessSessionInterceptor.invoke(StatelessSessionInterceptor.java:112)
      at org.jboss.proxy.ClientContainer.invoke(ClientContainer.java:101)
      at $Proxy1981.processQuantityAndPriceCollectionsAsNewTransaction(Unknown Source)

      2012-04-10 02:08:30,172 ERROR [STDERR] at com.altra.trading.deal.DealAPIEJB.processQuantityAndPriceCollections(DealAPIEJB.java:4389)


      Some of the configurations in sessions.xml -
      *<server-class>oracle.toplink.platform.server.jboss.JBossPlatform</server-class>
      <external-transaction-controller-class>oracle.toplink.transaction.jboss.JBossTransactionController</external-transaction-controller-class>*

      Thanks in advance.