[jboss-cvs] JBossAS SVN: r79750 - trunk/aspects/src/main/org/jboss/aop/asintegration/jboss5.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Mon Oct 20 10:58:57 EDT 2008
Author: kabir.khan at jboss.com
Date: 2008-10-20 10:58:56 -0400 (Mon, 20 Oct 2008)
New Revision: 79750
Modified:
trunk/aspects/src/main/org/jboss/aop/asintegration/jboss5/AOPClassLoaderDeployer.java
Log:
[JBAOP-6062] Reapply fix following rollback
Modified: trunk/aspects/src/main/org/jboss/aop/asintegration/jboss5/AOPClassLoaderDeployer.java
===================================================================
--- trunk/aspects/src/main/org/jboss/aop/asintegration/jboss5/AOPClassLoaderDeployer.java 2008-10-20 14:58:52 UTC (rev 79749)
+++ trunk/aspects/src/main/org/jboss/aop/asintegration/jboss5/AOPClassLoaderDeployer.java 2008-10-20 14:58:56 UTC (rev 79750)
@@ -23,9 +23,6 @@
import org.jboss.aop.AspectManager;
import org.jboss.aop.Domain;
-import org.jboss.classloader.spi.ClassLoaderDomain;
-import org.jboss.classloader.spi.ClassLoaderSystem;
-import org.jboss.classloading.spi.dependency.Module;
import org.jboss.deployers.spi.DeploymentException;
import org.jboss.deployers.spi.deployer.DeploymentStages;
import org.jboss.deployers.spi.deployer.helpers.AbstractRealDeployer;
@@ -63,11 +60,9 @@
{
//Scoped AOP deployments are only available when deployed as part of a scoped sar, ear etc.
//It can contain an aop.xml file, or it can be part of a .aop file
- //Linking a standalone -aop.xml file onto a scoped deployment is not possible at the moment
- VFSClassLoaderScopingPolicy policy = (VFSClassLoaderScopingPolicy)AspectManager.getClassLoaderScopingPolicy();
AspectManager manager = aspectManager;
- Domain domain = initializeDomain(policy, unit);
+ Domain domain = AOPClassLoaderInitializer.initializeForUnit(unit);
if (domain != null)
{
manager = domain;
@@ -79,82 +74,9 @@
@Override
public void internalUndeploy(DeploymentUnit unit)
{
- if (unit.getTopLevel() == unit)
- {
- aspectManager.unregisterClassLoader(unit.getClassLoader());
- }
+ AOPClassLoaderInitializer.unregisterLoaders(aspectManager, unit);
}
+
+
- private Domain initializeDomain(VFSClassLoaderScopingPolicy policy, DeploymentUnit unit)
- {
- Module module = unit.getTopLevel().getAttachment(Module.class);
- ClassLoader loader = unit.getClassLoader();
- ClassLoader topLoader = unit.getTopLevel().getClassLoader();
-
-// System.out.println("====> DEPLOYMENT: " + unit);
-// System.out.println("====> Loader: " + loader);
-// System.out.println("====> Top Loader: " + topLoader);
-// System.out.println("====> Loader Parent: " + loader.getParent());
-//
-//
- VFSClassLoaderDomainRegistry registry = policy.getRegistry();
-
- boolean isWar = unit.isAttachmentPresent("org.jboss.metadata.web.jboss.JBossWebMetaData");
-
- if (isWar && loader != topLoader)
- {
- ScopedVFSClassLoaderDomain scopedDomain = (ScopedVFSClassLoaderDomain)registry.getRegisteredDomain(loader);
- if (scopedDomain == null)
- {
- scopedDomain = (ScopedVFSClassLoaderDomain)registry.getRegisteredDomain(topLoader);
- }
-
- if (scopedDomain != null)
- {
- registry.initMapsForLoader(loader, module, scopedDomain);
- }
-
- policy.registerClassLoader(module, isWar, loader);
-
- return scopedDomain;
- }
- else
- {
- ScopedVFSClassLoaderDomain scopedDomain = (ScopedVFSClassLoaderDomain)registry.getRegisteredDomain(loader);
- if (scopedDomain == null)
- {
- if (!module.getDeterminedDomainName().equals(ClassLoaderSystem.DEFAULT_DOMAIN_NAME))
- {
- ClassLoaderSystem system = ClassLoaderSystem.getInstance();
- String domainName = module.getDeterminedDomainName();
- ClassLoaderDomain domain = system.getDomain(domainName);
-
- boolean parentDelegation = module.isJ2seClassLoadingCompliance();
- String name = String.valueOf(System.identityHashCode(loader));
-
- scopedDomain = new ScopedVFSClassLoaderDomain(loader, name, parentDelegation, AspectManager.getTopLevelAspectManager(), false, domain, registry);
- }
-
- registry.initMapsForLoader(loader, module, scopedDomain);
-
- policy.registerClassLoader(module, isWar, loader);
- }
- return scopedDomain;
- }
- }
-
-// private void registerParentLoaders(DeploymentUnit unit)
-// {
-// ClassLoader childLoader = unit.getClassLoader();
-// DeploymentUnit parent = unit.getParent();
-// while (parent != null)
-// {
-// ClassLoader parentLoader = parent.getClassLoader();
-// if (parentLoader != childLoader)
-// {
-//
-// }
-// parent = unit.getParent();
-// }
-// }
}
More information about the jboss-cvs-commits
mailing list