Package jnr.ffi.util.ref
Class FinalizableReferenceQueue.DecoupledLoader
- java.lang.Object
-
- jnr.ffi.util.ref.FinalizableReferenceQueue.DecoupledLoader
-
- All Implemented Interfaces:
FinalizableReferenceQueue.FinalizerLoader
- Enclosing class:
- FinalizableReferenceQueue
static class FinalizableReferenceQueue.DecoupledLoader extends java.lang.Object implements FinalizableReferenceQueue.FinalizerLoader
Try to load Finalizer in its own class loader. If Finalizer's thread had a direct reference to our class loader (which could be that of a dynamically loaded web application or OSGi bundle), it would prevent our class loader from getting garbage collected.
-
-
Field Summary
Fields Modifier and Type Field Description private static java.lang.String
LOADING_ERROR
-
Constructor Summary
Constructors Constructor Description DecoupledLoader()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) java.net.URL
getBaseUrl()
Gets URL for base of path containing Finalizer.class.java.lang.Class<?>
loadFinalizer()
Returns Finalizer.class or null if this loader shouldn't or can't load it.(package private) java.net.URLClassLoader
newLoader(java.net.URL base)
Creates a class loader with the given base URL as its classpath.
-
-
-
Field Detail
-
LOADING_ERROR
private static final java.lang.String LOADING_ERROR
- See Also:
- Constant Field Values
-
-
Method Detail
-
loadFinalizer
public java.lang.Class<?> loadFinalizer()
Description copied from interface:FinalizableReferenceQueue.FinalizerLoader
Returns Finalizer.class or null if this loader shouldn't or can't load it.- Specified by:
loadFinalizer
in interfaceFinalizableReferenceQueue.FinalizerLoader
-
getBaseUrl
java.net.URL getBaseUrl() throws java.io.IOException
Gets URL for base of path containing Finalizer.class.- Throws:
java.io.IOException
-
newLoader
java.net.URLClassLoader newLoader(java.net.URL base)
Creates a class loader with the given base URL as its classpath.
-
-