Attached is a small patch which fixes the problem that I found earlier. (See prior posts from me with the subject:"Handle.getEJBObject()".
This patch fixes the problem where a serialized handle to an stateful session bean was being used to get back to the remote bean instance. This call, in jboss 3.2.3 resulted in an extra reflock on the stateful bean, thus causing a problem when the container went to passivate the bean ("Unable to passivate blah blah").
Once again, this patch is for jboss 3.2.3.
Regards, Russ
-- -- Russell Chan, Navaho Networks Inc. 416 542 1590 x108
Index: server/src/main/org/jboss/ejb//StatefulSessionContainer.java =================================================================== RCS file: /cvsroot/jboss/jboss/src/main/org/jboss/ejb/StatefulSessionContainer.java,v retrieving revision 1.49.2.9 diff -c -r1.49.2.9 StatefulSessionContainer.java *** server/src/main/org/jboss/ejb//StatefulSessionContainer.java 25 Oct 2003 15:08:03 -0000 1.49.2.9 --- server/src/main/org/jboss/ejb//StatefulSessionContainer.java 11 Feb 2004 17:57:52 -0000 *************** *** 613,618 **** --- 613,619 ---- // Does the session still exist? InstanceCache cache = getInstanceCache(); + log.trace("getEJBObject() - getting lock"); BeanLock lock = getLockManager().getLock(id); lock.sync(); try *************** *** 622,627 **** --- 623,631 ---- } finally { + //RMC : new - release the lock!! + log.trace("getEJBObject() - releasing lock"); + getLockManager().removeLockRef(id); lock.releaseSync(); }