Class XTimeLimiter

java.lang.Object
uk.ac.ebi.utils.runcontrol.XTimeLimiter
All Implemented Interfaces:
com.google.common.util.concurrent.TimeLimiter

public class XTimeLimiter extends Object implements com.google.common.util.concurrent.TimeLimiter
An extension of TimeLimiter to ease the use of SimpleTimeLimiter, by offering a suitable internal ExecutorService and by throwing unchecked exceptions.
Author:
Marco Brandizi
Date:
6 Jun 2025
  • Method Details

    • create

      public static XTimeLimiter create(ExecutorService executorService)
    • create

      public static XTimeLimiter create()
      Uses a default ExecutorService
    • newProxy

      public <T> T newProxy(T target, Class<T> interfaceType, long timeoutDuration, TimeUnit timeoutUnit)
      Specified by:
      newProxy in interface com.google.common.util.concurrent.TimeLimiter
    • newProxy

      public <T> T newProxy(T target, Class<T> interfaceType, Duration timeout)
      Specified by:
      newProxy in interface com.google.common.util.concurrent.TimeLimiter
    • callWithTimeout

      public <T> T callWithTimeout(Callable<T> callable, long timeoutDuration, TimeUnit timeoutUnit)
      Specified by:
      callWithTimeout in interface com.google.common.util.concurrent.TimeLimiter
    • callWithTimeout

      public <T> T callWithTimeout(Callable<T> callable, Duration timeout)
      Specified by:
      callWithTimeout in interface com.google.common.util.concurrent.TimeLimiter
    • callUninterruptiblyWithTimeout

      public <T> T callUninterruptiblyWithTimeout(Callable<T> callable, long timeoutDuration, TimeUnit timeoutUnit)
      Specified by:
      callUninterruptiblyWithTimeout in interface com.google.common.util.concurrent.TimeLimiter
    • callUninterruptiblyWithTimeout

      public <T> T callUninterruptiblyWithTimeout(Callable<T> callable, Duration timeout)
      Specified by:
      callUninterruptiblyWithTimeout in interface com.google.common.util.concurrent.TimeLimiter
    • runWithTimeout

      public void runWithTimeout(Runnable runnable, long timeoutDuration, TimeUnit timeoutUnit)
      Specified by:
      runWithTimeout in interface com.google.common.util.concurrent.TimeLimiter
    • runWithTimeout

      public void runWithTimeout(Runnable runnable, Duration timeout)
      Specified by:
      runWithTimeout in interface com.google.common.util.concurrent.TimeLimiter
    • runUninterruptiblyWithTimeout

      public void runUninterruptiblyWithTimeout(Runnable runnable, long timeoutDuration, TimeUnit timeoutUnit)
      Specified by:
      runUninterruptiblyWithTimeout in interface com.google.common.util.concurrent.TimeLimiter
    • runUninterruptiblyWithTimeout

      public void runUninterruptiblyWithTimeout(Runnable runnable, Duration timeout)
      Specified by:
      runUninterruptiblyWithTimeout in interface com.google.common.util.concurrent.TimeLimiter