org.mule.module.launcher
Class GoodCitizenClassLoader

java.lang.Object
  extended by java.lang.ClassLoader
      extended by java.security.SecureClassLoader
          extended by java.net.URLClassLoader
              extended by org.mule.module.launcher.GoodCitizenClassLoader
All Implemented Interfaces:
DisposableClassLoader
Direct Known Subclasses:
FineGrainedControlClassLoader

public class GoodCitizenClassLoader
extends URLClassLoader
implements DisposableClassLoader

Fixes major classloader woes by:

  1. Providing a dispose() method to release any connections to resources.
  2. Disabling caching of jar resources fix e.g. java.util.ResourceBundle 'tagging' the app and preventing it from being undeployed correctly (no leaving locked jars behind).


Nested Class Summary
protected static class GoodCitizenClassLoader.NonCachingURLStreamHandlerFactory
           
 
Constructor Summary
GoodCitizenClassLoader(URL[] urls, ClassLoader parent)
           
 
Method Summary
 void dispose()
          A workaround for http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=5041014
 
Methods inherited from class java.net.URLClassLoader
addURL, definePackage, findClass, findResource, findResources, getPermissions, getURLs, 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, getPackage, getPackages, getParent, getResource, getResourceAsStream, getResources, getSystemClassLoader, getSystemResource, getSystemResourceAsStream, getSystemResources, loadClass, loadClass, resolveClass, setClassAssertionStatus, setDefaultAssertionStatus, setPackageAssertionStatus, setSigners
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

GoodCitizenClassLoader

public GoodCitizenClassLoader(URL[] urls,
                              ClassLoader parent)
Method Detail

dispose

public void dispose()
A workaround for http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=5041014

Specified by:
dispose in interface DisposableClassLoader


Copyright © 2003–2014 MuleSoft, Inc.. All rights reserved.