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:
Closeable
Direct Known Subclasses:
FineGrainedControlClassLoader, MuleSharedDomainClassLoader

public class GoodCitizenClassLoader
extends URLClassLoader
implements Closeable

Fixes major classloader woes by:

  1. Providing a close() 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 close()
          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

close

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

Specified by:
close in interface Closeable


Copyright © 2003-2014 MuleSoft, Inc.. All Rights Reserved.