you're right, thanks


-- Juha


On Mon, 3 Dec 2001, David Jencks wrote:

> Date: Mon, 3 Dec 2001 19:15:34 -0500
> From: David Jencks <[EMAIL PROTECTED]>
> To: Juha Lindfors <[EMAIL PROTECTED]>
> Cc: [EMAIL PROTECTED]
> Subject: Re: [JBoss-dev] CVS update: jmx/src/main/org/jboss/mx/loading
>     BasicLoaderRepository.java LoaderRepository.java
>
> Are you sure you don't mean
>
>
>         Iterator it = loaders.iterator();
>         while (it.hasNext()) {
>            ClassLoader cl = (ClassLoader)it.next();
>
>            if (cl != skipLoader) {
>               try {
>                  clazz = cl.loadClass(className);
>                  return clazz;
>              }
>               catch (ClassNotFoundException ignored) {
>                  // go on and try the next loader
>               }
>            }
>         }
>
>         throw new ClassNotFoundException(className);
>
>       }
>
> at the end of loadClassWithout?
>
> The original version looks through all classloaders and you get the last
> version that loads, rather than stopping when you find one working version.
>
> ???
>
> thanks
> david jencks
>
> On 2001.12.02 21:13:31 -0500 Juha Lindfors wrote:
> >   User: juhalindfors
> >   Date: 01/12/02 18:13:31
> >
> >   Added:       src/main/org/jboss/mx/loading BasicLoaderRepository.java
> >                         LoaderRepository.java
> >   Log:
> >   build fancy loaders here
> >
> >   Revision  Changes    Path
> >   1.1                  jmx/src/main/org/jboss/mx/loading/BasicLoaderRepository.java
> >
> >   Index: BasicLoaderRepository.java
> >   ===================================================================
> >   /*
> >    * LGPL
> >    */
> >   package org.jboss.mx.loading;
> >
> >   import java.util.Set;
> >   import java.util.Iterator;
> >   import java.util.HashSet;
> >
> >   public class BasicLoaderRepository implements LoaderRepository {
> >
> >      private static LoaderRepository instance = null;
> >
> >      public synchronized static LoaderRepository getInstance() {
> >         if (instance != null)
> >            return instance;
> >         else {
> >            instance = new BasicLoaderRepository();
> >            return instance;
> >         }
> >      }
> >
> >
> >      protected Set loaders = new HashSet();
> >
> >      private BasicLoaderRepository() {
> >
> >
> >      }
> >
> >      public Class loadClass(String className) throws
> > ClassNotFoundException {
> >         return loadClassWithout(null, className);
> >      }
> >
> >      public Class loadClassWithout(ClassLoader skipLoader, String
> > className) throws ClassNotFoundException {
> >
> >         Class clazz = null;
> >
> >         // try ctx cl first
> >         ClassLoader ctxLoader = Thread.currentThread().getContextClassLoader();
> >
> >         if (ctxLoader != skipLoader) {
> >            try {
> >               clazz = ctxLoader.loadClass(className);
> >            }
> >            catch (ClassNotFoundException e) {
> >               // ignore and move on to the loader list
> >            }
> >         }
> >
> >         if (clazz != null)
> >            return clazz;
> >
> >         Iterator it = loaders.iterator();
> >         while (it.hasNext()) {
> >            ClassLoader cl = (ClassLoader)it.next();
> >
> >            if (cl != skipLoader) {
> >               try {
> >                  clazz = cl.loadClass(className);
> >               }
> >               catch (ClassNotFoundException ignored) {
> >                  // go on and try the next loader
> >               }
> >            }
> >         }
> >
> >         if (clazz == null)
> >            throw new ClassNotFoundException(className);
> >
> >         return clazz;
> >      }
> >
> >      public void addClassLoader(ClassLoader cl) {
> >         loaders.add(cl);
> >      }
> >
> >      public void removeClassLoader(ClassLoader cl) {
> >         loaders.remove(cl);
> >      }
> >
> >
> >   }
> >
> >
> >
> >   1.1                  jmx/src/main/org/jboss/mx/loading/LoaderRepository.java
> >
> >   Index: LoaderRepository.java
> >   ===================================================================
> >   /*
> >    * LGPL
> >    */
> >   package org.jboss.mx.loading;
> >
> >   public interface LoaderRepository {
> >
> >      public Class loadClass(String className) throws
> > ClassNotFoundException;
> >      public Class loadClassWithout(ClassLoader loader, String className)
> > throws ClassNotFoundException;
> >      public void addClassLoader(ClassLoader cl);
> >      public void removeClassLoader(ClassLoader cl);
> >
> >   }
> >
> >
> >
> >
> > _______________________________________________
> > Jboss-development mailing list
> > [EMAIL PROTECTED]
> > https://lists.sourceforge.net/lists/listinfo/jboss-development
> >
> >
>


_______________________________________________
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development

Reply via email to