2 Replies Latest reply on May 16, 2005 4:11 PM by adrian.brock

    java.lang.IllegalStateException: Trying to return an unknown

    mikeg123

      Hello,

      Here is the scenario which should work but throws an exception

      Inside of MDB start user transaction then using hibernate session update records in db after that call Stateless Session bean's method that has @ejb.transaction type = "RequiresNew", upon exiting this method get the following:

      2005-05-02 12:39:24,407 INFO [org.jboss.resource.connectionmanager.TxConnectionManager] throwable from unregister connection
      java.lang.IllegalStateException: Trying to return an unknown connection2! org.jboss.resource.adapter.jdbc.WrappedConnection@87080f
      at org.jboss.resource.connectionmanager.CachedConnectionManager.unregisterConnection(CachedConnectionManager.java:369)
      at org.jboss.resource.connectionmanager.TxConnectionManager$TxConnectionEventListener.connectionClosed(TxConnectionManager.java:507)
      at org.jboss.resource.adapter.jdbc.BaseWrapperManagedConnection.closeHandle(BaseWrapperManagedConnection.java:320)
      at org.jboss.resource.adapter.jdbc.WrappedConnection.close(WrappedConnection.java:123)
      at net.sf.hibernate.connection.DatasourceConnectionProvider.closeConnection(DatasourceConnectionProvider.java:64)
      at net.sf.hibernate.impl.BatcherImpl.closeConnection(BatcherImpl.java:297)
      at net.sf.hibernate.impl.SessionImpl.disconnect(SessionImpl.java:3348)
      at net.sf.hibernate.impl.SessionImpl.close(SessionImpl.java:576)
      at org.jboss.hibernate.session.TransactionSynch.afterCompletion(TransactionSynch.java:71)
      at org.jboss.tm.TransactionImpl.doAfterCompletion(TransactionImpl.java:1398)
      at org.jboss.tm.TransactionImpl.commit(TransactionImpl.java:421)
      at org.jboss.ejb.plugins.TxInterceptorCMT.endTransaction(TxInterceptorCMT.java:456)
      at org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:369)
      at org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:148)
      at org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInterceptor.java:111)
      at org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:191)
      at org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invoke(ProxyFactoryFinderInterceptor.java:122)
      at org.jboss.ejb.StatelessSessionContainer.internalInvoke(StatelessSessionContainer.java:331)
      at org.jboss.ejb.Container.invoke(Container.java:709)
      at org.jboss.ejb.plugins.local.BaseLocalProxyFactory.invoke(BaseLocalProxyFactory.java:419)
      at org.jboss.ejb.plugins.local.StatelessSessionProxy.invoke(StatelessSessionProxy.java:83)
      at $Proxy92.updateTaskStatus(Unknown Source)
      at com.crossbeamsys.nms.task.TaskExecutionBase_1_MByMInvocation.invokeNext(TaskExecutionBase_1_MByMInvocation.java)
      at com.crossbeamsys.nms.aop.AuditAspect.auditUpdateTaskStatus(AuditAspect.java:123)
      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.jboss.aop.advice.PerInstanceAdvice.invoke(PerInstanceAdvice.java:88)
      at com.crossbeamsys.nms.task.TaskExecutionBase_1_MByMInvocation.invokeNext(TaskExecutionBase_1_MByMInvocation.java)
      at com.crossbeamsys.nms.task.TaskExecutionBase.updateTaskStatus(TaskExecutionBase.java:289)
      at com.crossbeamsys.nms.backup.BackupRestoreMDB.performTask(BackupRestoreMDB.java:165)
      at com.crossbeamsys.nms.task.TaskExecutionBase.onMessage(TaskExecutionBase.java:142)
      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.jboss.ejb.MessageDrivenContainer$ContainerInterceptor.invoke(MessageDrivenContainer.java:458)
      at org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invoke(CachedConnectionInterceptor.java:186)
      at org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor.java:84)
      at org.jboss.ejb.plugins.AbstractTxInterceptorBMT.invokeNext(AbstractTxInterceptorBMT.java:144)
      at org.jboss.ejb.plugins.MessageDrivenTxInterceptorBMT.invoke(MessageDrivenTxInterceptorBMT.java:32)
      at org.jboss.ejb.plugins.MessageDrivenInstanceInterceptor.invoke(MessageDrivenInstanceInterceptor.java:62)
      at org.jboss.ejb.plugins.RunAsSecurityInterceptor.invoke(RunAsSecurityInterceptor.java:90)
      at org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:191)
      at org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invoke(ProxyFactoryFinderInterceptor.java:122)
      at org.jboss.ejb.MessageDrivenContainer.internalInvoke(MessageDrivenContainer.java:372)
      at org.jboss.ejb.Container.invoke(Container.java:709)
      at org.jboss.ejb.plugins.jms.JMSContainerInvoker.invoke(JMSContainerInvoker.java:914)
      at org.jboss.ejb.plugins.jms.JMSContainerInvoker$MessageListenerImpl.onMessage(JMSContainerInvoker.java:1208)
      at org.jboss.jms.asf.StdServerSession.onMessage(StdServerSession.java:276)
      at org.jboss.mq.SpyMessageConsumer.sessionConsumerProcessMessage(SpyMessageConsumer.java:877)
      at org.jboss.mq.SpyMessageConsumer.addMessage(SpyMessageConsumer.java:159)
      at org.jboss.mq.SpySession.run(SpySession.java:351)
      at org.jboss.jms.asf.StdServerSession.run0(StdServerSession.java:200)
      at org.jboss.jms.asf.StdServerSession.run(StdServerSession.java:180)
      at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:748)
      at java.lang.Thread.run(Thread.java:534)

      any idea why?

      ps: if ejb's method @ejb.transaction type = "Required" then no problem.