[jboss-cvs] JBossAS SVN: r85994 - projects/aop/trunk/asintegration-core/src/main/java/org/jboss/aop/classpool.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Tue Mar 17 11:18:04 EDT 2009


Author: kabir.khan at jboss.com
Date: 2009-03-17 11:18:03 -0400 (Tue, 17 Mar 2009)
New Revision: 85994

Modified:
   projects/aop/trunk/asintegration-core/src/main/java/org/jboss/aop/classpool/DelegatingClassPool.java
Log:
[JBAOP-666] Check for generated classes in initiating classloader

Modified: projects/aop/trunk/asintegration-core/src/main/java/org/jboss/aop/classpool/DelegatingClassPool.java
===================================================================
--- projects/aop/trunk/asintegration-core/src/main/java/org/jboss/aop/classpool/DelegatingClassPool.java	2009-03-17 15:13:11 UTC (rev 85993)
+++ projects/aop/trunk/asintegration-core/src/main/java/org/jboss/aop/classpool/DelegatingClassPool.java	2009-03-17 15:18:03 UTC (rev 85994)
@@ -21,6 +21,8 @@
 */ 
 package org.jboss.aop.classpool;
 
+import org.jboss.aop.util.ClassLoaderUtils;
+
 import javassist.ClassPool;
 import javassist.CtClass;
 import javassist.NotFoundException;
@@ -84,7 +86,17 @@
       {
          return null;
       }
-      return domain.getCachedOrCreate(this, classname, true);
+      CtClass clazz = domain.getCachedOrCreate(this, classname, true);
+      if (clazz == null)
+      {
+         //It is probably a generated proxy. The package name can be different (for example if it is
+         //a proxy for a java system class) than the package names exported by the loaders.
+         //TODO It should be possible to remove this once these have been done:
+         //https://jira.jboss.org/jira/browse/JBCL-25
+         //https://jira.jboss.org/jira/browse/JBCL-92
+         clazz = loadLocally(classname, ClassLoaderUtils.getResourceName(classname), true);
+      }
+      return clazz;
    }
    
    @Override




More information about the jboss-cvs-commits mailing list