[jboss-cvs] JBossAS SVN: r60249 - branches/Branch_4_2/ejb3/src/main/org/jboss/ejb3/cache/tree.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Sun Feb 4 00:07:36 EST 2007


Author: bstansberry at jboss.com
Date: 2007-02-04 00:07:36 -0500 (Sun, 04 Feb 2007)
New Revision: 60249

Modified:
   branches/Branch_4_2/ejb3/src/main/org/jboss/ejb3/cache/tree/StatefulTreeCache.java
Log:
[EJBTHREE-863] Set the correct TCCL before calling prePassivate()

Modified: branches/Branch_4_2/ejb3/src/main/org/jboss/ejb3/cache/tree/StatefulTreeCache.java
===================================================================
--- branches/Branch_4_2/ejb3/src/main/org/jboss/ejb3/cache/tree/StatefulTreeCache.java	2007-02-04 05:05:42 UTC (rev 60248)
+++ branches/Branch_4_2/ejb3/src/main/org/jboss/ejb3/cache/tree/StatefulTreeCache.java	2007-02-04 05:07:36 UTC (rev 60249)
@@ -361,6 +361,7 @@
          if(!fqn.isChildOrEquals(cacheNode)) return;
 
          StatefulBeanContext bean = null;
+         ClassLoader oldCl = Thread.currentThread().getContextClassLoader();         
          try 
          {
             // EJBTHREE-746 Use peek to bypass interceptors and thus avoid generating another 
@@ -382,6 +383,7 @@
                   {
                      log.trace("nodePassivate(): send prePassivate event to bean at fqn: " +fqn);
                   }
+                  Thread.currentThread().setContextClassLoader(((EJBContainer) bean.getContainer()).getClassloader());
                   bean.prePassivate();
                   ++passivatedCount;
                }
@@ -417,6 +419,10 @@
                throw e;
             }
          }
+         finally
+         {
+            Thread.currentThread().setContextClassLoader(oldCl);
+         }
       }
    }
 }




More information about the jboss-cvs-commits mailing list