Package aQute.bnd.osgi
Class ActivelyClosingClassLoader
java.lang.Object
java.lang.ClassLoader
java.security.SecureClassLoader
java.net.URLClassLoader
aQute.bnd.osgi.ActivelyClosingClassLoader
- All Implemented Interfaces:
Closeable,AutoCloseable
- Direct Known Subclasses:
Processor.CL
This class loader can load classes from JAR files.
-
Nested Class Summary
Nested Classes -
Field Summary
FieldsModifier and TypeFieldDescription(package private) final AtomicBoolean(package private) final Processor(package private) ScheduledFuture<?>(package private) final AtomicReference<Map<File,ActivelyClosingClassLoader.Wrapper>> -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescription(package private) void(package private) voidautopurge(long freshPeriod) voidclose()private URLprivate Stream<byte[]>dataStream(String name) protected Class<?>findResource(String name) findResources(String name) getFiles()Class<?>(package private) voidpurge(long purgeTime) This method will close any open files that have not been accessed since purgeTimeMethods inherited from class java.net.URLClassLoader
addURL, definePackage, getPermissions, getResourceAsStream, getURLs, newInstance, newInstanceMethods inherited from class java.security.SecureClassLoader
defineClass, defineClassMethods 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, getResource, getResources, getSystemClassLoader, getSystemResource, getSystemResourceAsStream, getSystemResources, getUnnamedModule, isRegisteredAsParallelCapable, loadClass, registerAsParallelCapable, resolveClass, resources, setClassAssertionStatus, setDefaultAssertionStatus, setPackageAssertionStatus, setSigners
-
Field Details
-
wrappers
-
open
-
processor
-
schedule
ScheduledFuture<?> schedule
-
-
Constructor Details
-
ActivelyClosingClassLoader
ActivelyClosingClassLoader(Processor processor, ClassLoader parent)
-
-
Method Details
-
add
-
findClass
- Overrides:
findClassin classURLClassLoader- Throws:
ClassNotFoundException
-
findResource
- Overrides:
findResourcein classURLClassLoader
-
dataStream
-
createURL
-
findResources
- Overrides:
findResourcesin classURLClassLoader
-
purge
void purge(long purgeTime) This method will close any open files that have not been accessed since purgeTime- Parameters:
purgeTime- the absolute cutoff time
-
close
public void close()- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable- Overrides:
closein classURLClassLoader
-
getFiles
-
loadClass
- Overrides:
loadClassin classClassLoader- Throws:
ClassNotFoundException
-
autopurge
void autopurge(long freshPeriod)
-