public class CleanupTools
extends java.lang.Object
Constructor and Description |
---|
CleanupTools(boolean runningInSingleWar) |
Modifier and Type | Method and Description |
---|---|
java.security.AccessControlContext |
createAccessControlContext() |
void |
debug(java.lang.String msg) |
void |
error(java.lang.String msg) |
void |
error(java.lang.Throwable t) |
java.lang.Class<?> |
findClass(java.lang.String className) |
java.lang.Class<?> |
findClass(java.lang.String className,
boolean trySystemCL) |
java.lang.reflect.Field |
findField(java.lang.Class<?> clazz,
java.lang.String fieldName) |
java.lang.reflect.Field |
findFieldOfClass(java.lang.String className,
java.lang.String fieldName,
boolean trySystemCL) |
java.lang.reflect.Method |
findMethod(java.lang.Class<?> clazz,
java.lang.String methodName,
java.lang.Class... parameterTypes) |
static void |
gc()
Unlike
this method guarantees that garbage collection has been performed before
returning. |
java.util.Collection<java.lang.Thread> |
getAllThreads() |
java.lang.ClassLoader |
getClassLoader() |
<T> T |
getFieldValue(java.lang.reflect.Field field,
java.lang.Object obj) |
java.lang.ClassLoader |
getLeakSafeClassLoader() |
java.lang.String |
getStackTrace(java.lang.Thread thread)
Get current stack trace or provided thread as string.
|
<T> T |
getStaticFieldValue(java.lang.reflect.Field field) |
<E> E |
getStaticFieldValue(java.lang.String className,
java.lang.String fieldName) |
<E> E |
getStaticFieldValue(java.lang.String className,
java.lang.String fieldName,
boolean trySystemCL) |
void |
info(java.lang.String msg) |
boolean |
isClassLoaderOrChild(java.lang.ClassLoader cl) |
boolean |
isLoadedByClassLoader(java.lang.Class<?> clazz) |
boolean |
isLoadedInClassLoader(java.lang.Object o) |
void |
removeDomainCombiner(java.lang.String owner,
java.security.AccessControlContext accessControlContext)
Recursively unset our custom
DomainCombiner (loaded in the web app) from the AccessControlContext
and any parents or privilegedContext thereof. |
void |
waitForThread(java.lang.Thread thread,
long waitMs,
boolean interrupt)
Make the provided Thread stop sleep(), wait() or join() and then give it the provided no of milliseconds to finish
executing.
|
void |
warn(java.lang.String msg) |
void |
warn(java.lang.Throwable t) |
public boolean isLoadedInClassLoader(java.lang.Object o)
public boolean isLoadedByClassLoader(java.lang.Class<?> clazz)
public boolean isClassLoaderOrChild(java.lang.ClassLoader cl)
public java.util.Collection<java.lang.Thread> getAllThreads()
public java.lang.Class<?> findClass(java.lang.String className)
public java.lang.Class<?> findClass(java.lang.String className, boolean trySystemCL)
public java.lang.reflect.Field findField(java.lang.Class<?> clazz, java.lang.String fieldName)
public java.security.AccessControlContext createAccessControlContext()
public void removeDomainCombiner(java.lang.String owner, java.security.AccessControlContext accessControlContext)
DomainCombiner
(loaded in the web app) from the AccessControlContext
and any parents or privilegedContext thereof.public <T> T getFieldValue(java.lang.reflect.Field field, java.lang.Object obj)
public java.lang.reflect.Method findMethod(java.lang.Class<?> clazz, java.lang.String methodName, java.lang.Class... parameterTypes)
public <E> E getStaticFieldValue(java.lang.String className, java.lang.String fieldName)
public <E> E getStaticFieldValue(java.lang.String className, java.lang.String fieldName, boolean trySystemCL)
public <T> T getStaticFieldValue(java.lang.reflect.Field field)
public java.lang.reflect.Field findFieldOfClass(java.lang.String className, java.lang.String fieldName, boolean trySystemCL)
public void waitForThread(java.lang.Thread thread, long waitMs, boolean interrupt)
thread
- The thread to wake up and wait forwaitMs
- The no of milliseconds to wait. If <= 0 this method does nothing.interrupt
- Should Thread.interrupt()
be called first, to make thread stop sleep(), wait() or join()?public java.lang.String getStackTrace(java.lang.Thread thread)
"unavailable"
if stack trace could not be acquired.public java.lang.ClassLoader getClassLoader()
public java.lang.ClassLoader getLeakSafeClassLoader()
public static void gc()
System.gc()
this method guarantees that garbage collection has been performed before
returning.public void debug(java.lang.String msg)
public void warn(java.lang.Throwable t)
public void error(java.lang.Throwable t)
public void warn(java.lang.String msg)
public void error(java.lang.String msg)
public void info(java.lang.String msg)