| Interface | Description |
|---|---|
| ClassLoaderPreMortemCleanUp |
Interface for cleanup actions that should be performed as part of the preparations to make a
ClassLoader available
for garbage collection. |
| Logger |
Interface for logging, with similarities to common logging frameworks.
|
| MustBeAfter<I> |
Interface to be implemented by
PreClassLoaderInitiators and ClassLoaderPreMortemCleanUps when order
is important. |
| PreClassLoaderInitiator |
Interface for preventative actions that should be executed in the system (or other parent) classloader before they
may be triggered within the classloader that is about to be launched, and thereby may trigger leaks.
|
| Class | Description |
|---|---|
| ClassLoaderLeakPreventor |
This class helps prevent classloader leaks.
|
| ClassLoaderLeakPreventorFactory |
Orchestrator class responsible for invoking the preventative and cleanup measures.
|
| JULLogger |
Implementation of
Logger interface, that uses java.util.logging. |
| ReplaceDOMNormalizerSerializerAbortException |
As reported at https://github.com/mjiderhamn/classloader-leak-prevention/issues/36, invoking
DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument().normalizeDocument(); or
Document document = DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument();
DOMImplementationLS implementation = (DOMImplementationLS)document.getImplementation();
implementation.createLSSerializer().writeToString(document);
may trigger leaks caused by the static fields com.sun.org.apache.xerces.internal.dom.DOMNormalizer#abort and
com.sun.org.apache.xml.internal.serialize.DOMSerializerImpl#abort respectively keeping stacktraces/backtraces
that may include references to classes loaded by our web application. |
| StdLogger |
Copyright © 2019. All rights reserved.