As part of JBAOP-772 I've been cleaning up JBoss AOP code by removing any old classpool leftover that I can find.
During this process, I found this ExtraClassPoolFactoryParameter class. It has a warning in the javadoc telling that it should not be deleted:
/**
* This class is used by the AS5 integration. Do not delete!!!!
*
* @author <a href="kabir.khan@jboss.com">Kabir Khan</a>
* @version $Revision: 1.1 $
*/
public class ExtraClassPoolFactoryParameters
But, taking a look at the way this class is being used, it looks like there is something missing, as this is all I can find:
public class VFSClassLoaderScopingPolicy implements AOPClassLoaderScopingPolicyWithRegistry
{
...
public void registerClassLoader(Module module, ClassLoader loader)
{
//Need to pass some data through to the classpoolfactory here
Map<Object, Object> properties = new HashMap<Object, Object>();
//The module is needed by the JBoss5ClassPoolFactory, the legacy JBossClassPoolFactory will ignore this
properties.put(Module.class, module);
ExtraClassPoolFactoryParameters.pushThreadProperties(properties);
try
{
AspectManager.instance().registerClassLoader(loader); //Ends up in classpool factory create method
}
finally
{
ExtraClassPoolFactoryParameters.popThreadProperties();
}
}
}
I can't find any calls to ExtraClassPoolFactoryParameters.peekThreadProperties. Is this class really being used? Where?