The following patch fixes the problem:
| $svn diff
| Index:
classloader/src/main/java/org/jboss/classloader/spi/base/BaseClassLoaderDomain.java
| ===================================================================
| ---
classloader/src/main/java/org/jboss/classloader/spi/base/BaseClassLoaderDomain.java (revision
83104)
| +++
classloader/src/main/java/org/jboss/classloader/spi/base/BaseClassLoaderDomain.java (working
copy)
| @@ -358,7 +358,28 @@
| if (trace)
| log.trace(this + " trying to load " + name + " from
requesting " + classLoader);
| if (classLoader.getResourceLocally(name) != null)
| + {
| + //The class might be generated in a new package, we need to update the
information
| + clearBlackList(name);
| + if (allExports)
| + {
| + String packageName = ClassLoaderUtils.getResourcePackageName(name);
| + synchronized (classLoaders)
| + {
| + List<ClassLoaderInformation> list =
classLoadersByPackageName.get(packageName);
| + if (list == null)
| + {
| + list = new
CopyOnWriteArrayList<ClassLoaderInformation>();
| + classLoadersByPackageName.put(packageName, list);
| + }
| + if (list.contains(info) == false)
| + {
| + list.add(info);
| + }
| + }
| + }
| return classLoader.getLoader();
| + }
| }
|
It is a first effort, and I daren't commit it until somebody has taken a look :-)
I am unsure of whether this should be done, or how it would work, but I need to look into
the possibility of doing something similar for when DelegateLoaders are used so that the
information is reflected in Module.
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4204419#...
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&a...