Class XAThreadPool.MultiRunner

  • All Implemented Interfaces:
    java.lang.Runnable
    Enclosing class:
    XAThreadPool

    public static final class XAThreadPool.MultiRunner
    extends java.lang.Object
    implements java.lang.Runnable
    Pooled thread wrapper which allows reuse of the same thread
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.lang.Object execute​(java.util.concurrent.Callable callable)
      Execute a Callable on the wrapped thread and return its result
      void release()
      Release the wrapped thread back the the containing thread pool
      void run()
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Method Detail

      • execute

        public java.lang.Object execute​(java.util.concurrent.Callable callable)
                                 throws java.util.concurrent.ExecutionException,
                                        java.lang.InterruptedException
        Execute a Callable on the wrapped thread and return its result
        Parameters:
        callable - The Callable to execute
        Returns:
        the Object returned by the Callable
        Throws:
        java.util.concurrent.ExecutionException - thrown when something went wrong during execution
        java.lang.InterruptedException - thrown when the executing thread got interrupted
      • release

        public void release()
        Release the wrapped thread back the the containing thread pool
      • run

        public void run()
        Specified by:
        run in interface java.lang.Runnable