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
DisposableClassLoader
used 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 newRestartClassLoader
instance.RestartClassLoader(ClassLoader parent, URL[] urls, ClassLoaderFileRepository updatedFiles)
Create a newRestartClassLoader
instance.RestartClassLoader(ClassLoader parent, URL[] urls, ClassLoaderFileRepository updatedFiles, org.apache.commons.logging.Log logger)
Create a newRestartClassLoader
instance.
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
finalize()
protected Class<?>
findClass(String name)
URL
findResource(String name)
URL
getResource(String name)
Enumeration<URL>
getResources(String name)
boolean
isClassReloadable(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 newRestartClassLoader
instance.- Parameters:
parent
- the parent classloaderurls
- the urls managed by the classloader
RestartClassLoader
public RestartClassLoader(ClassLoader parent, URL[] urls, ClassLoaderFileRepository updatedFiles)
Create a newRestartClassLoader
instance.- 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 newRestartClassLoader
instance.- 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:
getResources
in classClassLoader
- Throws:
IOException
getResource
public URL getResource(String name)
- Overrides:
getResource
in classClassLoader
findResource
public URL findResource(String name)
- Overrides:
findResource
in classURLClassLoader
loadClass
public Class<?> loadClass(String name, boolean resolve) throws ClassNotFoundException
- Overrides:
loadClass
in classClassLoader
- Throws:
ClassNotFoundException
findClass
protected Class<?> findClass(String name) throws ClassNotFoundException
- Overrides:
findClass
in classURLClassLoader
- Throws:
ClassNotFoundException
isClassReloadable
public boolean isClassReloadable(Class<?> classType)
- Specified by:
isClassReloadable
in interfaceorg.springframework.core.SmartClassLoader