User: d_jencks
Date: 02/04/14 19:48:53
Modified: src/main/org/jboss/web AbstractWebContainer.java
WebClassLoader.java
Log:
Changed to use UnifiedLoaderRepository and UnifiedClassLoader from jbossmx. Removed
ServiceLibraries, UnifiedClassLoader, and MBeanClassLoader from jboss-system
Revision Changes Path
1.44 +50 -20 jboss/src/main/org/jboss/web/AbstractWebContainer.java
Index: AbstractWebContainer.java
===================================================================
RCS file: /cvsroot/jboss/jboss/src/main/org/jboss/web/AbstractWebContainer.java,v
retrieving revision 1.43
retrieving revision 1.44
diff -u -r1.43 -r1.44
--- AbstractWebContainer.java 14 Apr 2002 01:19:53 -0000 1.43
+++ AbstractWebContainer.java 15 Apr 2002 02:48:53 -0000 1.44
@@ -7,51 +7,50 @@
package org.jboss.web;
+
+
+
+
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.File;
-import java.io.InputStream;
import java.io.FileInputStream;
import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
import java.io.InputStream;
import java.io.OutputStream;
-import java.io.IOException;
import java.lang.reflect.Method;
import java.net.JarURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLClassLoader;
import java.util.ArrayList;
+import java.util.Enumeration;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
-import java.util.jar.JarFile;
+import java.util.Set;
import java.util.jar.Attributes;
import java.util.jar.JarEntry;
-import java.util.Enumeration;
+import java.util.jar.JarFile;
+import javax.management.ObjectName;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.LinkRef;
-import javax.naming.NamingException;
import javax.naming.Name;
import javax.naming.NameNotFoundException;
-import javax.management.ObjectName;
-
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.NodeList;
-
-import org.jboss.deployment.DeploymentInfo;
+import javax.naming.NamingException;
import org.jboss.deployment.DeploymentException;
-import org.jboss.deployment.SubDeployer;
-import org.jboss.deployment.SubDeployerSupport;
+import org.jboss.deployment.DeploymentInfo;
import org.jboss.deployment.J2eeApplicationMetaData;
import org.jboss.deployment.J2eeModuleMetaData;
-
+import org.jboss.deployment.SubDeployer;
+import org.jboss.deployment.SubDeployerSupport;
import org.jboss.metadata.ApplicationMetaData;
import org.jboss.metadata.BeanMetaData;
-import org.jboss.metadata.EjbRefMetaData;
import org.jboss.metadata.EjbLocalRefMetaData;
+import org.jboss.metadata.EjbRefMetaData;
import org.jboss.metadata.EnvEntryMetaData;
import org.jboss.metadata.ResourceEnvRefMetaData;
import org.jboss.metadata.ResourceRefMetaData;
@@ -61,8 +60,10 @@
import org.jboss.naming.Util;
import org.jboss.security.plugins.NullSecurityManager;
import org.jboss.system.ServiceMBeanSupport;
-
import org.jboss.system.server.ServerConfigLocator;
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+import org.w3c.dom.NodeList;
/** A template pattern class for web container integration into JBoss. This class
should be subclasses by web container providers wishing to integrate their
@@ -158,7 +159,7 @@
@see org.jboss.security.SecurityAssociation;
@author [EMAIL PROTECTED]
-@version $Revision: 1.43 $
+@version $Revision: 1.44 $
*/
public abstract class AbstractWebContainer
extends SubDeployerSupport
@@ -260,6 +261,13 @@
log.debug("End init");
}
+ /**
+ * Describe <code>parseWEBINFClasses</code> method here.
+ *
+ * @param di a <code>DeploymentInfo</code> value
+ * @exception DeploymentException if an error occurs
+ * @todo THIS HAS NO BUSINESS DUPLICATING MAINDEPLOYER FUNCTIONALITY!!!
+ */
public void parseWEBINFClasses(DeploymentInfo di) throws DeploymentException
{
File systemTmpDir = ServerConfigLocator.locate().getServerTempDir();
@@ -298,7 +306,7 @@
sub.localUrl = sub.url;
// Create a URL for the sub
- sub.createClassLoaders();
+ sub.createClassLoaders(getServer());
uclCreated = true;
di.subDeployments.add(sub);
}
@@ -834,19 +842,41 @@
while( cl != null )
{
URL[] urls = getClassLoaderURLs(cl);
+ addURLs(tmp, urls);
+ /*
for(int u = 0; u < urls.length; u ++)
{
URL url = urls[u];
url = org.jboss.net.protocol.njar.Handler.njarToFile(url);
tmp.add(url.toExternalForm());
}
+ */
cl = cl.getParent();
}
-
+ try
+ {
+ URL[] globalUrls =
(URL[])getServer().getAttribute(DeploymentInfo.DEFAULT_LOADER_REPOSITORY,
+ "URLs");
+ addURLs(tmp, globalUrls);
+ }
+ catch (Exception e)
+ {
+ log.warn("Could not get global URL[] from default loader repository!");
+ } // end of try-catch
log.trace("JSP CompileClasspath: " + tmp);
String[] cp = new String[tmp.size()];
tmp.toArray(cp);
return cp;
+ }
+
+ private void addURLs(Set urlSet, URL[] urls)
+ {
+ for(int u = 0; u < urls.length; u ++)
+ {
+ URL url = urls[u];
+ url = org.jboss.net.protocol.njar.Handler.njarToFile(url);
+ urlSet.add(url.toExternalForm());
+ }
}
/** Use reflection to access a URL[] getURLs method so that non-URLClassLoader
1.6 +2 -2 jboss/src/main/org/jboss/web/WebClassLoader.java
Index: WebClassLoader.java
===================================================================
RCS file: /cvsroot/jboss/jboss/src/main/org/jboss/web/WebClassLoader.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- WebClassLoader.java 12 Apr 2002 20:04:26 -0000 1.5
+++ WebClassLoader.java 15 Apr 2002 02:48:53 -0000 1.6
@@ -4,7 +4,7 @@
import java.net.URLClassLoader;
import javax.management.ObjectName;
-import org.jboss.system.UnifiedClassLoader;
+import org.jboss.mx.loading.UnifiedClassLoader;
/** A simple subclass of URLClassLoader that is used in conjunction with the
the WebService mbean to allow dynamic loading of resources and classes from
@@ -28,7 +28,7 @@
@author Sacha Labourey <[EMAIL PROTECTED]>
@author Vladimir Blagojevic <[EMAIL PROTECTED]>
@author <a href="mailto:[EMAIL PROTECTED]">Francisco Reverbel</a>
-@version $Revision: 1.5 $
+@version $Revision: 1.6 $
*/
public class WebClassLoader extends URLClassLoader
{
_______________________________________________
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development