[jboss-cvs] JBossAS SVN: r61470 - in trunk: system-jmx/src/main/org/jboss/system/deployers and 1 other directory.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Mon Mar 19 18:19:11 EDT 2007
Author: thomas.diesler at jboss.com
Date: 2007-03-19 18:19:11 -0400 (Mon, 19 Mar 2007)
New Revision: 61470
Modified:
trunk/server/src/main/org/jboss/deployment/AppParsingDeployer.java
trunk/server/src/main/org/jboss/deployment/JBossAppParsingDeployer.java
trunk/server/src/main/org/jboss/deployment/JBossApplicationObjectFactory.java
trunk/system-jmx/src/main/org/jboss/system/deployers/ServiceClassLoaderDeployer.java
Log:
Fix EAR scoping with <loader-repository>
Modified: trunk/server/src/main/org/jboss/deployment/AppParsingDeployer.java
===================================================================
--- trunk/server/src/main/org/jboss/deployment/AppParsingDeployer.java 2007-03-19 21:55:49 UTC (rev 61469)
+++ trunk/server/src/main/org/jboss/deployment/AppParsingDeployer.java 2007-03-19 22:19:11 UTC (rev 61470)
@@ -24,6 +24,7 @@
import org.jboss.deployers.plugins.deployers.helpers.ObjectModelFactoryDeployer;
import org.jboss.deployers.spi.DeploymentException;
import org.jboss.deployers.spi.deployer.DeploymentUnit;
+import org.jboss.mx.loading.LoaderRepositoryFactory.LoaderRepositoryConfig;
import org.jboss.xb.binding.ObjectModelFactory;
/**
@@ -66,8 +67,8 @@
}
/**
- * Return WebMetaDataObjectFactory as our ObjectModelFactory.
- * @return a new WebMetaDataObjectFactory instance
+ * Return J2eeApplicationObjectFactory as our ObjectModelFactory.
+ * @return a new J2eeApplicationObjectFactory instance
*/
@Override
protected ObjectModelFactory getObjectModelFactory(J2eeApplicationMetaData root)
@@ -76,13 +77,12 @@
}
/**
- * Overriden to invoke createMetaData(unit, webXmlPath, null) to parse any
- * webXmlPath descriptor into a WebMetaData instance.
+ * Overriden to invoke createMetaData(unit, appXmlPath, null) to parse any
+ * appXmlPath descriptor into a J2eeApplicationMetaData instance.
*/
@Override
public void deploy(DeploymentUnit unit) throws DeploymentException
{
createMetaData(unit, appXmlPath, null);
}
-
}
Modified: trunk/server/src/main/org/jboss/deployment/JBossAppParsingDeployer.java
===================================================================
--- trunk/server/src/main/org/jboss/deployment/JBossAppParsingDeployer.java 2007-03-19 21:55:49 UTC (rev 61469)
+++ trunk/server/src/main/org/jboss/deployment/JBossAppParsingDeployer.java 2007-03-19 22:19:11 UTC (rev 61470)
@@ -24,6 +24,7 @@
import org.jboss.deployers.plugins.deployers.helpers.ObjectModelFactoryDeployer;
import org.jboss.deployers.spi.DeploymentException;
import org.jboss.deployers.spi.deployer.DeploymentUnit;
+import org.jboss.mx.loading.LoaderRepositoryFactory.LoaderRepositoryConfig;
import org.jboss.xb.binding.ObjectModelFactory;
/**
@@ -82,8 +83,8 @@
}
/**
- * Return J2eeApplicationObjectFactory as our ObjectModelFactory.
- * @return a new J2eeApplicationObjectFactory instance
+ * Return JBossApplicationObjectFactory as our ObjectModelFactory.
+ * @return a new JBossApplicationObjectFactory instance
*/
@Override
protected ObjectModelFactory getObjectModelFactory(J2eeApplicationMetaData root)
@@ -92,13 +93,20 @@
}
/**
- * Overriden to invoke createMetaData(unit, webXmlPath, null) to parse any
- * webXmlPath descriptor into a WebMetaData instance.
+ * Overriden to invoke createMetaData(unit, appXmlPath, null) to parse any
+ * appXmlPath descriptor into a J2eeApplicationMetaData instance.
*/
@Override
public void deploy(DeploymentUnit unit) throws DeploymentException
{
createMetaData(unit, appXmlPath, null);
+
+ // Add the loader repository config
+ J2eeApplicationMetaData earMetaData = unit.getAttachment(J2eeApplicationMetaData.class);
+ if (earMetaData != null && earMetaData.getLoaderCfg() != null)
+ {
+ LoaderRepositoryConfig loaderCfg = earMetaData.getLoaderCfg();
+ unit.addAttachment(LoaderRepositoryConfig.class, loaderCfg);
+ }
}
-
}
Modified: trunk/server/src/main/org/jboss/deployment/JBossApplicationObjectFactory.java
===================================================================
--- trunk/server/src/main/org/jboss/deployment/JBossApplicationObjectFactory.java 2007-03-19 21:55:49 UTC (rev 61469)
+++ trunk/server/src/main/org/jboss/deployment/JBossApplicationObjectFactory.java 2007-03-19 22:19:11 UTC (rev 61470)
@@ -24,6 +24,7 @@
import org.jboss.logging.Logger;
import org.jboss.metadata.SecurityRoleMetaData;
import org.jboss.mx.loading.LoaderRepositoryFactory;
+import org.jboss.mx.util.ObjectNameFactory;
import org.jboss.xb.binding.ObjectModelFactory;
import org.jboss.xb.binding.UnmarshallingContext;
import org.xml.sax.Attributes;
@@ -191,8 +192,12 @@
UnmarshallingContext navigator, String namespaceURI, String localName,
String value)
{
- if( localName.equals("loader-repository-config") )
+ if( localName.equals("loader-repository") )
{
+ cfg.repositoryName = ObjectNameFactory.create(value);
+ }
+ else if( localName.equals("loader-repository-config") )
+ {
cfg.repositoryConfig = value;
}
}
Modified: trunk/system-jmx/src/main/org/jboss/system/deployers/ServiceClassLoaderDeployer.java
===================================================================
--- trunk/system-jmx/src/main/org/jboss/system/deployers/ServiceClassLoaderDeployer.java 2007-03-19 21:55:49 UTC (rev 61469)
+++ trunk/system-jmx/src/main/org/jboss/system/deployers/ServiceClassLoaderDeployer.java 2007-03-19 22:19:11 UTC (rev 61470)
@@ -53,7 +53,7 @@
{
/** The service controller */
private final ServiceController controller;
-
+
/**
* Create a new ServiceDeployer.
*
@@ -86,15 +86,32 @@
}
// Check the loader repository config
- LoaderRepositoryConfig config = unit.getAttachment(LoaderRepositoryConfig.class);
- if (config == null)
- config = new LoaderRepositoryConfig();
- LoaderRepositoryFactory.createLoaderRepository(server, config);
+ LoaderRepositoryConfig parentConfig = unit.getParent() != null ? unit.getParent().getAttachment(LoaderRepositoryConfig.class) : null;
+ LoaderRepositoryConfig loaderConfig = unit.getAttachment(LoaderRepositoryConfig.class);
+ if (parentConfig != null && parentConfig != loaderConfig)
+ {
+ log.info("Using parent loader repository config: " + parentConfig.repositoryName);
+ loaderConfig = parentConfig;
+ }
+ else if (loaderConfig != null)
+ {
+ log.debug("Using loader repository config: " + loaderConfig.repositoryName);
+ }
+
+ // Create default loader repository config
+ if (loaderConfig == null)
+ {
+ loaderConfig = new LoaderRepositoryConfig();
+ unit.addAttachment(LoaderRepositoryConfig.class, loaderConfig);
+ log.trace("Using default loader repository config: " + loaderConfig.repositoryName);
+ }
+ LoaderRepositoryFactory.createLoaderRepository(server, loaderConfig);
+
// Create the classloader
Object[] args = { url, url, Boolean.TRUE };
String[] sig = { "java.net.URL", "java.net.URL", "boolean" };
- RepositoryClassLoader ucl = (RepositoryClassLoader) server.invoke(config.repositoryName, "newClassLoader", args, sig);
+ RepositoryClassLoader ucl = (RepositoryClassLoader) server.invoke(loaderConfig.repositoryName, "newClassLoader", args, sig);
// Add in the classpath
try
More information about the jboss-cvs-commits
mailing list