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) void
autopurge
(long freshPeriod) void
close()
private URL
private Stream<byte[]>
dataStream
(String name) protected Class<?>
findResource
(String name) findResources
(String name) getFiles()
Class<?>
(package private) void
purge
(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, 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, 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:
findClass
in classURLClassLoader
- Throws:
ClassNotFoundException
-
findResource
- Overrides:
findResource
in classURLClassLoader
-
dataStream
-
createURL
-
findResources
- Overrides:
findResources
in 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:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceCloseable
- Overrides:
close
in classURLClassLoader
-
getFiles
-
loadClass
- Overrides:
loadClass
in classClassLoader
- Throws:
ClassNotFoundException
-
autopurge
void autopurge(long freshPeriod)
-