org.jboss.mx.loading
Class UnifiedClassLoader3

java.lang.Object
  extended by java.lang.ClassLoader
      extended by java.security.SecureClassLoader
          extended by java.net.URLClassLoader
              extended by org.jboss.mx.loading.RepositoryClassLoader
                  extended by org.jboss.mx.loading.UnifiedClassLoader
                      extended by org.jboss.mx.loading.UnifiedClassLoader3
All Implemented Interfaces:
UnifiedClassLoader3MBean, UnifiedClassLoaderMBean, org.jboss.util.loading.Translatable

public class UnifiedClassLoader3
extends UnifiedClassLoader
implements UnifiedClassLoader3MBean

An extension of UnifiedClassLoader that manages a thread based loading strategy to work around the locking problems associated with the VM initiated locking due to the synchronized loadClassInternal method of ClassLoader which cannot be overriden.

Version:
$Revision: 57200 $
Author:
Scott Stark

Field Summary
 
Fields inherited from class org.jboss.mx.loading.UnifiedClassLoader
origURL, url
 
Fields inherited from class org.jboss.mx.loading.RepositoryClassLoader
loadLock, parent, repository, unregisterTrace
 
Constructor Summary
UnifiedClassLoader3(URL url)
          Construct a UnifiedClassLoader without registering it to the classloader repository.
UnifiedClassLoader3(URL url, URL origURL)
          Construct a UnifiedClassLoader without registering it to the classloader repository.
UnifiedClassLoader3(URL url, URL origURL, ClassLoader parent, LoaderRepository repository)
          Construct a UnifiedClassLoader and associate it with the given repository.
UnifiedClassLoader3(URL url, URL origURL, LoaderRepository repository)
          Construct a UnifiedClassLoader and associate it with the given repository.
 
Method Summary
 String toString()
          Retruns a string representaion of this UCL.
 
Methods inherited from class org.jboss.mx.loading.UnifiedClassLoader
getObjectName, getOrigURL, getPermissions, getProtectionDomain, getURL, unregister
 
Methods inherited from class org.jboss.mx.loading.RepositoryClassLoader
acquire, addToClassBlackList, addToResourceBlackList, addURL, attempt, clearBlackLists, clearClassBlackList, clearResourceBlackList, definePackage, equals, findClass, findClassLocally, findResources, findResourcesLocally, getAddedOrder, getAllURLs, getClasspath, getLoaderRepository, getPackage, getPackages, getProtectionDomain, getResource, getResourceLocally, getURLs, hashCode, isClassBlackListed, isResourceBlackListed, loadByteCode, loadByteCode, loadClass, loadClassBefore, loadClassImpl, loadClassLocally, release, removeFromClassBlackList, removeFromResourceBlackList, setAddedOrder, setRepository
 
Methods inherited from class java.net.URLClassLoader
definePackage, findResource, newInstance, newInstance
 
Methods inherited from class java.security.SecureClassLoader
defineClass, defineClass
 
Methods inherited from class java.lang.ClassLoader
clearAssertionStatus, defineClass, defineClass, defineClass, defineClass, definePackage, findLibrary, findLoadedClass, findSystemClass, getParent, getResourceAsStream, getResources, getSystemClassLoader, getSystemResource, getSystemResourceAsStream, getSystemResources, loadClass, resolveClass, setClassAssertionStatus, setDefaultAssertionStatus, setPackageAssertionStatus, setSigners
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.jboss.util.loading.Translatable
getResourceLocally
 

Constructor Detail

UnifiedClassLoader3

public UnifiedClassLoader3(URL url)
Construct a UnifiedClassLoader without registering it to the classloader repository.

Parameters:
url - the single URL to load classes from.

UnifiedClassLoader3

public UnifiedClassLoader3(URL url,
                           URL origURL)
Construct a UnifiedClassLoader without registering it to the classloader repository.

Parameters:
url - the single URL to load classes from.
origURL - the possibly null original URL from which url may be a local copy or nested jar.

UnifiedClassLoader3

public UnifiedClassLoader3(URL url,
                           URL origURL,
                           LoaderRepository repository)
Construct a UnifiedClassLoader and associate it with the given repository.

Parameters:
url - The single URL to load classes from.
origURL - the possibly null original URL from which url may be a local copy or nested jar.
repository - the repository this classloader delegates to

UnifiedClassLoader3

public UnifiedClassLoader3(URL url,
                           URL origURL,
                           ClassLoader parent,
                           LoaderRepository repository)
Construct a UnifiedClassLoader and associate it with the given repository.

Parameters:
url - The single URL to load classes from.
origURL - the possibly null original URL from which url may be a local copy or nested jar.
parent - the parent class loader to use
repository - the repository this classloader delegates to
Method Detail

toString

public String toString()
Retruns a string representaion of this UCL.

Overrides:
toString in class RepositoryClassLoader


Copyright © 2002 JBoss Group, LLC. All Rights Reserved.