Class RestartClassLoader
- java.lang.Object
- java.lang.ClassLoader
- java.security.SecureClassLoader
- java.net.URLClassLoader
- org.springframework.boot.devtools.restart.classloader.RestartClassLoader
- All Implemented Interfaces:
Closeable,AutoCloseable,org.springframework.core.SmartClassLoader
public class RestartClassLoader extends URLClassLoader implements org.springframework.core.SmartClassLoader
DisposableClassLoaderused to support application restarting. Provides parent last loading for the specified URLs.- Since:
- 1.3.0
Constructor Summary
Constructors Constructor Description RestartClassLoader(ClassLoader parent, URL[] urls)Create a newRestartClassLoaderinstance.RestartClassLoader(ClassLoader parent, URL[] urls, ClassLoaderFileRepository updatedFiles)Create a newRestartClassLoaderinstance.RestartClassLoader(ClassLoader parent, URL[] urls, ClassLoaderFileRepository updatedFiles, org.apache.commons.logging.Log logger)Create a newRestartClassLoaderinstance.
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidfinalize()protected Class<?>findClass(String name)URLfindResource(String name)URLgetResource(String name)Enumeration<URL>getResources(String name)booleanisClassReloadable(Class<?> classType)Class<?>loadClass(String name, boolean resolve)Methods inherited from class java.net.URLClassLoader
addURL, close, definePackage, findResources, getPermissions, getResourceAsStream, 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, findClass, findLibrary, findLoadedClass, findResource, findSystemClass, getClassLoadingLock, getDefinedPackage, getDefinedPackages, getName, getPackage, getPackages, getParent, getPlatformClassLoader, getSystemClassLoader, getSystemResource, getSystemResourceAsStream, getSystemResources, getUnnamedModule, isRegisteredAsParallelCapable, loadClass, registerAsParallelCapable, resolveClass, resources, setClassAssertionStatus, setDefaultAssertionStatus, setPackageAssertionStatus, setSigners
Constructor Detail
RestartClassLoader
public RestartClassLoader(ClassLoader parent, URL[] urls)
Create a newRestartClassLoaderinstance.- Parameters:
parent- the parent classloaderurls- the urls managed by the classloader
RestartClassLoader
public RestartClassLoader(ClassLoader parent, URL[] urls, ClassLoaderFileRepository updatedFiles)
Create a newRestartClassLoaderinstance.- Parameters:
parent- the parent classloaderupdatedFiles- any files that have been updated since the JARs referenced in URLs were created.urls- the urls managed by the classloader
RestartClassLoader
public RestartClassLoader(ClassLoader parent, URL[] urls, ClassLoaderFileRepository updatedFiles, org.apache.commons.logging.Log logger)
Create a newRestartClassLoaderinstance.- Parameters:
parent- the parent classloaderupdatedFiles- any files that have been updated since the JARs referenced in URLs were created.urls- the urls managed by the classloaderlogger- the logger used for messages
Method Detail
getResources
public Enumeration<URL> getResources(String name) throws IOException
- Overrides:
getResourcesin classClassLoader- Throws:
IOException
getResource
public URL getResource(String name)
- Overrides:
getResourcein classClassLoader
findResource
public URL findResource(String name)
- Overrides:
findResourcein classURLClassLoader
loadClass
public Class<?> loadClass(String name, boolean resolve) throws ClassNotFoundException
- Overrides:
loadClassin classClassLoader- Throws:
ClassNotFoundException
findClass
protected Class<?> findClass(String name) throws ClassNotFoundException
- Overrides:
findClassin classURLClassLoader- Throws:
ClassNotFoundException
isClassReloadable
public boolean isClassReloadable(Class<?> classType)
- Specified by:
isClassReloadablein interfaceorg.springframework.core.SmartClassLoader