public final class ThreadLocalUtilities extends Object
| Modifier and Type | Method and Description |
|---|---|
static void |
clearThreadLocalMemoryForCurrentThread(Map<ThreadLocal,Object> threadlocalsBefore)
Removes all
ThreadLocal data which has been added to the current thread excluding a specified set of
previously existing data. |
static Map<ThreadLocal,Object> |
extractThreadLocalValuesForCurrentThread()
Extracts all data currently held by
ThreadLocal instances for the current thread. |
public static void clearThreadLocalMemoryForCurrentThread(Map<ThreadLocal,Object> threadlocalsBefore)
ThreadLocal data which has been added to the current thread excluding a specified set of
previously existing data.
This is a workaround for PLA-10329 (java bug http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6625723 ) which is
removing all ThreadLocals from current thread that belong to ReentrantReadWriteLocks.
Please be aware that this relies on some very dirty reflection work and might break in future.threadlocalsBefore - the data to preserve. see extractThreadLocalValuesForCurrentThread()public static Map<ThreadLocal,Object> extractThreadLocalValuesForCurrentThread()
ThreadLocal instances for the current thread.
Please be aware that this relies on some very dirty reflection work and might break in future.Copyright © 2017 SAP SE. All Rights Reserved.