users@glassfish.java.net

why does stateful ejb throw exception for calling super.finalize();

From: emiddio-frontier <emiddio_at_frontier.com>
Date: Thu, 24 Feb 2011 16:58:19 -0800

why does stateful ejb throw exception for calling super.finalize();

Thanks

excerpt from log -- gfv301 and code snippet.

gary


INFO: UserBean finalize:fCount:1
SEVERE: NRU-com.corejsf.UserBean: Cannot load from BACKUPSTORE FOR Key:
<190c02f00a81f-5a2427dc-0>
WARNING: A system exception occurred during an invocation on EJB
UserBean method public void com.corejsf.UserBean.finalize() throws
java.lang.Throwable
javax.ejb.NoSuchObjectLocalException: The EJB does not exist.
session-key: 190c02f00a81f-5a2427dc-0
     at
com.sun.ejb.containers.StatefulSessionContainer._getContext(StatefulSessionContainer.java:1428)
     at
com.sun.ejb.containers.BaseContainer.getContext(BaseContainer.java:2467)
     at
com.sun.ejb.containers.BaseContainer.preInvoke(BaseContainer.java:1860)
     at
com.sun.ejb.containers.EJBLocalObjectInvocationHandler.invoke(EJBLocalObjectInvocationHandler.java:188)
     at
com.sun.ejb.containers.EJBLocalObjectInvocationHandler.invoke(EJBLocalObjectInvocationHandler.java:126)
     at $Proxy157.finalize(Unknown Source)
     at java.lang.ref.Finalizer.invokeFinalizeMethod(Native Method)
     at java.lang.ref.Finalizer.runFinalizer(Finalizer.java:83)
     at java.lang.ref.Finalizer.access$100(Finalizer.java:14)
     at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:160)



@javax.inject.Named("user")
@javax.enterprise.context.RequestScoped
@javax.ejb.Stateful
public class UserBean {...

  @Override
     public void finalize() throws Throwable {
         fCount++;
         System.out.println("UserBean finalize:fCount:" + fCount);
          super.finalize();
     }
...