public final class FutureUtil extends Object
waitWithDeadline(java.util.Collection, long, java.util.concurrent.TimeUnit, long, java.util.concurrent.TimeUnit)
Modifier and Type | Class and Description |
---|---|
static interface |
FutureUtil.ExceptionHandler
Internally used interface to define behavior of the FutureUtil methods when exceptions arise
|
Modifier and Type | Field and Description |
---|---|
static FutureUtil.ExceptionHandler |
IGNORE_ALL_EXCEPT_LOG_MEMBER_LEFT
Ignores all exceptions but still logs
MemberLeftException per future and just tries
to finish all of the given ones. |
static FutureUtil.ExceptionHandler |
IGNORE_ALL_EXCEPTIONS
Ignores all exceptions
|
static FutureUtil.ExceptionHandler |
RETHROW_ALL_EXCEPT_MEMBER_LEFT
This ExceptionHandler rethrows
ExecutionException s and logs
MemberLeftException s to the log. |
static FutureUtil.ExceptionHandler |
RETHROW_EVERYTHING
Just rethrows all exceptions
|
static FutureUtil.ExceptionHandler |
RETHROW_EXECUTION_EXCEPTION
This ExceptionHandler rethrows
ExecutionException s and logs
MemberLeftException s to the log. |
static FutureUtil.ExceptionHandler |
RETHROW_TRANSACTION_EXCEPTION
Handler for transaction specific rethrown of exceptions.
|
Modifier and Type | Method and Description |
---|---|
static boolean |
allDone(Collection<Future> futures)
Check if all futures are done
|
static void |
checkAllDone(Collection<Future> futures)
Rethrow exeception of the fist future that completed with an exception
|
static List<Future> |
getAllDone(Collection<Future> futures)
Get all futures that are done
|
static FutureUtil.ExceptionHandler |
logAllExceptions(ILogger logger,
Level level)
This ExceptionHandler rethrows
ExecutionException s and logs
MemberLeftException s to the log. |
static FutureUtil.ExceptionHandler |
logAllExceptions(ILogger logger,
String message,
Level level)
This ExceptionHandler rethrows
ExecutionException s and logs
MemberLeftException s to the log. |
static FutureUtil.ExceptionHandler |
logAllExceptions(Level level)
This ExceptionHandler rethrows
ExecutionException s and logs
MemberLeftException s to the log. |
static FutureUtil.ExceptionHandler |
logAllExceptions(String message,
Level level)
This ExceptionHandler rethrows
ExecutionException s and logs
MemberLeftException s to the log. |
static <V> Collection<V> |
returnWithDeadline(Collection<Future<V>> futures,
long timeout,
TimeUnit timeUnit) |
static <V> Collection<V> |
returnWithDeadline(Collection<Future<V>> futures,
long timeout,
TimeUnit timeUnit,
FutureUtil.ExceptionHandler exceptionHandler) |
static <V> Collection<V> |
returnWithDeadline(Collection<Future<V>> futures,
long overallTimeout,
TimeUnit overallTimeUnit,
long perFutureTimeout,
TimeUnit perFutureTimeUnit) |
static <V> Collection<V> |
returnWithDeadline(Collection<Future<V>> futures,
long overallTimeout,
TimeUnit overallTimeUnit,
long perFutureTimeout,
TimeUnit perFutureTimeUnit,
FutureUtil.ExceptionHandler exceptionHandler) |
static void |
waitForever(Collection<? extends Future> futures) |
static void |
waitForever(Collection<? extends Future> futuresToWaitFor,
FutureUtil.ExceptionHandler exceptionHandler) |
static void |
waitUntilAllRespondedWithDeadline(Collection<? extends Future> futures,
long timeout,
TimeUnit timeUnit,
FutureUtil.ExceptionHandler exceptionHandler) |
static void |
waitWithDeadline(Collection<? extends Future> futures,
long timeout,
TimeUnit timeUnit) |
static void |
waitWithDeadline(Collection<? extends Future> futures,
long timeout,
TimeUnit timeUnit,
FutureUtil.ExceptionHandler exceptionHandler) |
static void |
waitWithDeadline(Collection<? extends Future> futures,
long overallTimeout,
TimeUnit overallTimeUnit,
long perFutureTimeout,
TimeUnit perFutureTimeUnit) |
static void |
waitWithDeadline(Collection<? extends Future> futures,
long overallTimeout,
TimeUnit overallTimeUnit,
long perFutureTimeout,
TimeUnit perFutureTimeUnit,
FutureUtil.ExceptionHandler exceptionHandler) |
public static final FutureUtil.ExceptionHandler RETHROW_EVERYTHING
public static final FutureUtil.ExceptionHandler IGNORE_ALL_EXCEPTIONS
public static final FutureUtil.ExceptionHandler IGNORE_ALL_EXCEPT_LOG_MEMBER_LEFT
MemberLeftException
per future and just tries
to finish all of the given ones. This is the default behavior if nothing else is given.public static final FutureUtil.ExceptionHandler RETHROW_EXECUTION_EXCEPTION
ExecutionException
s and logs
MemberLeftException
s to the log.public static final FutureUtil.ExceptionHandler RETHROW_ALL_EXCEPT_MEMBER_LEFT
ExecutionException
s and logs
MemberLeftException
s to the log.public static final FutureUtil.ExceptionHandler RETHROW_TRANSACTION_EXCEPTION
@PrivateApi public static FutureUtil.ExceptionHandler logAllExceptions(ILogger logger, String message, Level level)
ExecutionException
s and logs
MemberLeftException
s to the log.logger
- the ILogger instance to be used for loggingmessage
- the log message to appear in the logs before the stacktracelevel
- the log level to be used for logging@PrivateApi public static FutureUtil.ExceptionHandler logAllExceptions(String message, Level level)
ExecutionException
s and logs
MemberLeftException
s to the log.message
- the log message to appear in the logs before the stacktracelevel
- the log level to be used for logging@PrivateApi public static FutureUtil.ExceptionHandler logAllExceptions(ILogger logger, Level level)
ExecutionException
s and logs
MemberLeftException
s to the log.logger
- the ILogger instance to be used for logginglevel
- the log level to be used for logging@PrivateApi public static FutureUtil.ExceptionHandler logAllExceptions(Level level)
ExecutionException
s and logs
MemberLeftException
s to the log.level
- the log level to be used for logging@PrivateApi public static <V> Collection<V> returnWithDeadline(Collection<Future<V>> futures, long timeout, TimeUnit timeUnit)
@PrivateApi public static <V> Collection<V> returnWithDeadline(Collection<Future<V>> futures, long timeout, TimeUnit timeUnit, FutureUtil.ExceptionHandler exceptionHandler)
@PrivateApi public static <V> Collection<V> returnWithDeadline(Collection<Future<V>> futures, long overallTimeout, TimeUnit overallTimeUnit, long perFutureTimeout, TimeUnit perFutureTimeUnit)
@PrivateApi public static <V> Collection<V> returnWithDeadline(Collection<Future<V>> futures, long overallTimeout, TimeUnit overallTimeUnit, long perFutureTimeout, TimeUnit perFutureTimeUnit, FutureUtil.ExceptionHandler exceptionHandler)
@PrivateApi public static void waitForever(Collection<? extends Future> futuresToWaitFor, FutureUtil.ExceptionHandler exceptionHandler)
@PrivateApi public static void waitForever(Collection<? extends Future> futures)
@PrivateApi public static void waitWithDeadline(Collection<? extends Future> futures, long timeout, TimeUnit timeUnit)
@PrivateApi public static void waitUntilAllRespondedWithDeadline(Collection<? extends Future> futures, long timeout, TimeUnit timeUnit, FutureUtil.ExceptionHandler exceptionHandler)
@PrivateApi public static void waitWithDeadline(Collection<? extends Future> futures, long timeout, TimeUnit timeUnit, FutureUtil.ExceptionHandler exceptionHandler)
@PrivateApi public static void waitWithDeadline(Collection<? extends Future> futures, long overallTimeout, TimeUnit overallTimeUnit, long perFutureTimeout, TimeUnit perFutureTimeUnit)
@PrivateApi public static void waitWithDeadline(Collection<? extends Future> futures, long overallTimeout, TimeUnit overallTimeUnit, long perFutureTimeout, TimeUnit perFutureTimeUnit, FutureUtil.ExceptionHandler exceptionHandler)
public static boolean allDone(Collection<Future> futures)
futures
- the list of futurestrue
if all futures are donepublic static void checkAllDone(Collection<Future> futures) throws Exception
futures
- Exception
public static List<Future> getAllDone(Collection<Future> futures)
futures
- Copyright © 2018 Hazelcast, Inc.. All Rights Reserved.