org.jboss.mx.loading
Class UnifiedClassLoader3

java.lang.Object
  extended byjava.lang.ClassLoader
      extended byjava.security.SecureClassLoader
          extended byjava.net.URLClassLoader
              extended byorg.jboss.mx.loading.RepositoryClassLoader (src) 
                  extended byorg.jboss.mx.loading.UnifiedClassLoader (src) 
                      extended byorg.jboss.mx.loading.UnifiedClassLoader3
All Implemented Interfaces:
Translatable (src) , UnifiedClassLoader3MBean (src) , UnifiedClassLoaderMBean (src)
Direct Known Subclasses:
CircularityErrorTests.UnifiedLoader (src) , CircularityErrorTests3.UnifiedLoader (src) , CircularLoadTests.UnifiedLoader (src) , DeadlockTests3.UCL1 (src) , DeadlockTests32.TestClassLoader (src) , RecursiveCCETests.MyUCL (src)

public class UnifiedClassLoader3
extends UnifiedClassLoader (src)
implements UnifiedClassLoader3MBean (src)

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.


Field Summary
 
Fields inherited from class org.jboss.mx.loading.UnifiedClassLoader (src)
origURL, url
 
Fields inherited from class org.jboss.mx.loading.RepositoryClassLoader (src)
loadLock, parent, repository, unregisterTrace
 
Constructor Summary
UnifiedClassLoader3(java.net.URL url)
          Construct a UnifiedClassLoader without registering it to the classloader repository.
UnifiedClassLoader3(java.net.URL url, java.net.URL origURL)
          Construct a UnifiedClassLoader without registering it to the classloader repository.
UnifiedClassLoader3(java.net.URL url, java.net.URL origURL, java.lang.ClassLoader parent, LoaderRepository (src)  repository)
          Construct a UnifiedClassLoader and associate it with the given repository.
UnifiedClassLoader3(java.net.URL url, java.net.URL origURL, LoaderRepository (src)  repository)
          Construct a UnifiedClassLoader and associate it with the given repository.
 
Method Summary
 java.lang.String toString()
          Retruns a string representaion of this UCL.
 
Methods inherited from class org.jboss.mx.loading.UnifiedClassLoader (src)
getObjectName, getOrigURL, getPermissions, getProtectionDomain, getURL, unregister
 
Methods inherited from class org.jboss.mx.loading.RepositoryClassLoader (src)
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
 
Methods inherited from class java.lang.ClassLoader
clearAssertionStatus, 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 (src)
getResourceLocally
 

Constructor Detail

UnifiedClassLoader3

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

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

UnifiedClassLoader3

public UnifiedClassLoader3(java.net.URL url,
                           java.net.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(java.net.URL url,
                           java.net.URL origURL,
                           LoaderRepository (src)  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(java.net.URL url,
                           java.net.URL origURL,
                           java.lang.ClassLoader parent,
                           LoaderRepository (src)  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 java.lang.String toString()
Retruns a string representaion of this UCL.

Overrides:
toString in class RepositoryClassLoader (src)