Class ThreadLocalUtil

java.lang.Object
org.docx4j.org.apache.poi.util.ThreadLocalUtil

public class ThreadLocalUtil extends Object
Small utility to allow to remove references held in ThreadLocals. This is sometimes necessary, e.g. when returning threads into a global thread pool. For each usage of ThreadLocal, a cleaner is registered via registerCleaner().
  • Method Details

    • clearAllThreadLocals

      public static void clearAllThreadLocals()
      Clear ThreadLocals of the current thread. This can be used to clean out a thread before "returning" it to a thread-pool or a Web-Container like Tomcat. Usually org.apache.xmlbeans.ThreadLocalUtil#clearAllThreadLocals() should be called as well to clear out some more ThreadLocals which are created by the XMLBeans library internally.
    • registerCleaner

      @Internal public static void registerCleaner(Runnable cleaner)
      Intended for internal use only so other modules of Apache POi can add cleaners.
      Parameters:
      cleaner - a runnable which clears some thread-local that is located outside of the "poi" module.