org.springframework.boot.context.embedded.tomcat
Class TomcatEmbeddedWebappClassLoader

java.lang.Object
  extended by java.lang.ClassLoader
      extended by java.security.SecureClassLoader
          extended by java.net.URLClassLoader
              extended by org.apache.catalina.loader.WebappClassLoader
                  extended by org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedWebappClassLoader
All Implemented Interfaces:
org.apache.catalina.Lifecycle

public class TomcatEmbeddedWebappClassLoader
extends org.apache.catalina.loader.WebappClassLoader

Extension of Tomcat's WebappClassLoader that does not consider the system classloader. This is required to to ensure that any custom context classloader is always used (as is the case with some executable archives).

Author:
Phillip Webb

Nested Class Summary
 
Nested classes/interfaces inherited from class org.apache.catalina.loader.WebappClassLoader
org.apache.catalina.loader.WebappClassLoader.PrivilegedFindResourceByName, org.apache.catalina.loader.WebappClassLoader.PrivilegedGetClassLoader
 
Field Summary
 
Fields inherited from class org.apache.catalina.loader.WebappClassLoader
allPermission, canonicalLoaderDir, delegate, files, hasExternalRepositories, jarFiles, jarNames, jarPath, jarRealFiles, lastJarAccessed, lastModifiedDates, loaderDir, loaderPC, needConvert, notFoundResources, packageTriggers, parent, paths, permissionList, repositories, repositoryURLs, resourceEntries, resources, searchExternalFirst, securityManager, sm, started, system, triggers
 
Fields inherited from interface org.apache.catalina.Lifecycle
AFTER_DESTROY_EVENT, AFTER_INIT_EVENT, AFTER_START_EVENT, AFTER_STOP_EVENT, BEFORE_DESTROY_EVENT, BEFORE_INIT_EVENT, BEFORE_START_EVENT, BEFORE_STOP_EVENT, CONFIGURE_START_EVENT, CONFIGURE_STOP_EVENT, PERIODIC_EVENT, START_EVENT, STOP_EVENT
 
Constructor Summary
TomcatEmbeddedWebappClassLoader()
           
TomcatEmbeddedWebappClassLoader(ClassLoader parent)
           
 
Method Summary
 Class<?> loadClass(String name, boolean resolve)
           
 
Methods inherited from class org.apache.catalina.loader.WebappClassLoader
addLifecycleListener, addPermission, addPermission, addPermission, addRepository, addURL, clearReferences, closeJARs, deleteDir, destroy, doDefineClass, filter, findClass, findClassInternal, findLifecycleListeners, findLoadedClass0, findLoadedResource, findRepositories, findResource, findResourceInternal, findResourceInternal, findResources, getAntiJARLocking, getClearReferencesHttpClientKeepAliveThread, getClearReferencesLogFactoryRelease, getClearReferencesStatic, getClearReferencesStopThreads, getClearReferencesStopTimerThreads, getContextName, getDelegate, getJarPath, getPermissions, getResource, getResourceAsStream, getResources, getSearchExternalFirst, getState, getStateName, getURI, getURL, getURLs, init, isPackageSealed, isStarted, loadClass, modified, openJARs, refreshPolicy, removeLifecycleListener, setAntiJARLocking, setClearReferencesHttpClientKeepAliveThread, setClearReferencesLogFactoryRelease, setClearReferencesStatic, setClearReferencesStopThreads, setClearReferencesStopTimerThreads, setDelegate, setJarPath, setParentClassLoader, setResources, setSearchExternalFirst, setWorkDir, start, stop, toString, validate, validateJarFile
 
Methods inherited from class java.net.URLClassLoader
definePackage, 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, getResources, getSystemClassLoader, getSystemResource, getSystemResourceAsStream, getSystemResources, resolveClass, setClassAssertionStatus, setDefaultAssertionStatus, setPackageAssertionStatus, setSigners
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

TomcatEmbeddedWebappClassLoader

public TomcatEmbeddedWebappClassLoader()

TomcatEmbeddedWebappClassLoader

public TomcatEmbeddedWebappClassLoader(ClassLoader parent)
Method Detail

loadClass

public Class<?> loadClass(String name,
                          boolean resolve)
                   throws ClassNotFoundException
Overrides:
loadClass in class org.apache.catalina.loader.WebappClassLoader
Throws:
ClassNotFoundException


Copyright © 2013. All Rights Reserved.