public abstract class TaskUtils
extends java.lang.Object
NOTE: This class is intended for internal use by Spring's scheduler implementations. It is only public so that it may be accessed from impl classes within other packages. It is not intended for general use.
Modifier and Type | Field and Description |
---|---|
static ErrorHandler |
LOG_AND_PROPAGATE_ERROR_HANDLER
An ErrorHandler strategy that will log at error level and then
re-throw the Exception.
|
static ErrorHandler |
LOG_AND_SUPPRESS_ERROR_HANDLER
An ErrorHandler strategy that will log the Exception but perform
no further handling.
|
Constructor and Description |
---|
TaskUtils() |
Modifier and Type | Method and Description |
---|---|
static DelegatingErrorHandlingRunnable |
decorateTaskWithErrorHandler(java.lang.Runnable task,
ErrorHandler errorHandler,
boolean isRepeatingTask)
Decorate the task for error handling.
|
static ErrorHandler |
getDefaultErrorHandler(boolean isRepeatingTask)
Return the default
ErrorHandler implementation based on the boolean
value indicating whether the task will be repeating or not. |
public static final ErrorHandler LOG_AND_SUPPRESS_ERROR_HANDLER
public static final ErrorHandler LOG_AND_PROPAGATE_ERROR_HANDLER
public static DelegatingErrorHandlingRunnable decorateTaskWithErrorHandler(java.lang.Runnable task, @Nullable ErrorHandler errorHandler, boolean isRepeatingTask)
ErrorHandler
is not null
, it will be used. Otherwise, repeating tasks will have
errors suppressed by default whereas one-shot tasks will have errors
propagated by default since those errors may be expected through the
returned Future
. In both cases, the errors will be logged.public static ErrorHandler getDefaultErrorHandler(boolean isRepeatingTask)
ErrorHandler
implementation based on the boolean
value indicating whether the task will be repeating or not. For repeating tasks
it will suppress errors, but for one-time tasks it will propagate. In both
cases, the error will be logged.