Can anybody clarify what could cause exception like the one below? I have an EAR with one ejb-jar and one war inside deployed into jboss 3.0.4 (and built-in jetty). A reference to remote interface of a CMP bean is stored as a field in the object (specifically com.tw.mms.xml.MMSComposer here) which is placed into session. I have a session listener (actually object that implements HttpSessionBindingListener) that calls com.tw.mms.xml.MMSComposer.destroy() when session is being destroyed. Inside this method a cmp bean's method getState() is called which causes the exception. Session timeout is 30 minutes. Bean container-configuration is the default one.
An interesting thing is that when I shutdown the application, jetty obviously begins to invalidate all the sessions and I see lots (guess equal to the number of live sessions) of subsequental successfull invocations of com.tw.mms.xml.MMSComposer.destroy() method.
Code:
--------------------------------------------------------------------------------
2003-01-10 18:15:44,241 ERROR [org.jboss.ejb.plugins.LogInterceptor] EJBException:
javax.ejb.EJBException: Invalid invocation, check your deployment packaging, method=public abstract java.lang.String com.tw.mms.ejb.SMILRemote.getState() throws java.rmi.RemoteException
at org.jboss.ejb.EntityContainer$ContainerInterceptor.invoke(EntityContainer.java:1164)
at org.jboss.ejb.plugins.cmp.jdbc.JDBCRelationInterceptor.invoke(JDBCRelationInterceptor.java:95)
at org.jboss.ejb.plugins.EntitySynchronizationInterceptor.invoke(EntitySynchronizationInterceptor.java:297)
at org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invoke(CachedConnectionInterceptor.java:186)
at org.jboss.ejb.plugins.EntityReentranceInterceptor.invoke(EntityReentranceInterceptor.java:90)
at org.jboss.ejb.plugins.EntityInstanceInterceptor.invoke(EntityInstanceInterceptor.java:163)
at org.jboss.ejb.plugins.EntityLockInterceptor.invoke(EntityLockInterceptor.java:107)
at org.jboss.ejb.plugins.EntityCreationInterceptor.invoke(EntityCreationInterceptor.java:69)
at org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor.java:107)
at org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:178)
at org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:60)
at org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInterceptor.java:130)
at org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:204)
at org.jboss.ejb.EntityContainer.invoke(EntityContainer.java:493)
at org.jboss.ejb.Container.invoke(Container.java:712)
at org.jboss.ejb.EntityContainer.invoke(EntityContainer.java:1058)
at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:517)
at org.jboss.invocation.local.LocalInvoker.invoke(LocalInvoker.java:98)
at org.jboss.invocation.InvokerInterceptor.invoke(InvokerInterceptor.java:102)
at org.jboss.proxy.TransactionInterceptor.invoke(TransactionInterceptor.java:77)
at org.jboss.proxy.SecurityInterceptor.invoke(SecurityInterceptor.java:80)
at org.jboss.proxy.ejb.EntityInterceptor.invoke(EntityInterceptor.java:116)
at org.jboss.proxy.ClientContainer.invoke(ClientContainer.java:76)
at $Proxy321.getState(Unknown Source)
at com.tw.mms.xml.MMSComposer.destroy(MMSComposer.java:48)
at com.tw.mms.servlet.SessionListener.destroyServices(SessionListener.java:47)
at com.tw.mms.servlet.XmlServiceMap.valueUnbound(XmlServiceMap.java:24)
at org.mortbay.jetty.servlet.AbstractSessionManager$Session.unbindValue(AbstractSessionManager.java:674)
at org.mortbay.jetty.servlet.AbstractSessionManager$Session.invalidate(AbstractSessionManager.java:493)
at org.mortbay.jetty.servlet.AbstractSessionManager.scavenge(AbstractSessionManager.java:334)
at org.mortbay.jetty.servlet.AbstractSessionManager.access0(AbstractSessionManager.java:48)
at org.mortbay.jetty.servlet.AbstractSessionManager$SessionScavenger.run(AbstractSessionManager.java:363)
--------------------------------------------------------------------------------
