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

Reply via email to