[jboss-cvs] JBossAS SVN: r64195 - tags/EJB3_RC9_Patch_1_EJBTHREE-1017/ejb3/src/main/org/jboss/ejb3/cache/tree.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Mon Jul 23 06:40:52 EDT 2007
Author: galder.zamarreno at jboss.com
Date: 2007-07-23 06:40:52 -0400 (Mon, 23 Jul 2007)
New Revision: 64195
Modified:
tags/EJB3_RC9_Patch_1_EJBTHREE-1017/ejb3/src/main/org/jboss/ejb3/cache/tree/StatefulTreeCache.java
Log:
[EJBTHREE-1017] ported fix for EJBTHREE-863
Modified: tags/EJB3_RC9_Patch_1_EJBTHREE-1017/ejb3/src/main/org/jboss/ejb3/cache/tree/StatefulTreeCache.java
===================================================================
--- tags/EJB3_RC9_Patch_1_EJBTHREE-1017/ejb3/src/main/org/jboss/ejb3/cache/tree/StatefulTreeCache.java 2007-07-23 09:39:59 UTC (rev 64194)
+++ tags/EJB3_RC9_Patch_1_EJBTHREE-1017/ejb3/src/main/org/jboss/ejb3/cache/tree/StatefulTreeCache.java 2007-07-23 10:40:52 UTC (rev 64195)
@@ -36,6 +36,7 @@
import org.jboss.cache.TreeCache;
import org.jboss.cache.TreeCacheMBean;
import org.jboss.ejb3.Container;
+import org.jboss.ejb3.EJBContainer;
import org.jboss.ejb3.Pool;
import org.jboss.ejb3.cache.ClusteredStatefulCache;
import org.jboss.ejb3.stateful.StatefulBeanContext;
@@ -280,17 +281,26 @@
if(fqn.size() != FQN_SIZE) return;
if(!fqn.isChildOrEquals(cacheNode)) return; // don't care about fqn that doesn't belong to me.
+ ClassLoader oldCl = Thread.currentThread().getContextClassLoader();
try {
// TODO Can this cause deadlock in the cache level? Should be ok but need review.
Node node = cache.get(fqn);
StatefulBeanContext bean = (StatefulBeanContext) node.getData().get("bean");
if (bean != null)
+ {
+ Thread.currentThread().setContextClassLoader(((EJBContainer) bean.getContainer()).getClassloader());
bean.prePassivate();
+ }
+
} catch (CacheException e) {
log.error("nodePassivate(): can't retrieve bean instance from: " +fqn + " with exception: " +e);
return;
}
+ finally
+ {
+ Thread.currentThread().setContextClassLoader(oldCl);
+ }
// log.debug("nodePassivate(): send prePassivate event on fqn: " +fqn);
if(log.isTraceEnabled())
More information about the jboss-cvs-commits
mailing list