spring-framework / org.springframework.scheduling.support / TaskUtils

TaskUtils

abstract class TaskUtils

Utility methods for decorating tasks with error handling.

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.

Author
Mark Fisher

Author
Juergen Hoeller

Since
3.0

Constructors

<init>

TaskUtils()

Utility methods for decorating tasks with error handling.

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.

Properties

LOG_AND_PROPAGATE_ERROR_HANDLER

static val LOG_AND_PROPAGATE_ERROR_HANDLER: ErrorHandler

An ErrorHandler strategy that will log at error level and then re-throw the Exception. Note: this will typically prevent subsequent execution of a scheduled task.

LOG_AND_SUPPRESS_ERROR_HANDLER

static val LOG_AND_SUPPRESS_ERROR_HANDLER: ErrorHandler

An ErrorHandler strategy that will log the Exception but perform no further handling. This will suppress the error so that subsequent executions of the task will not be prevented.

Functions

decorateTaskWithErrorHandler

open static fun decorateTaskWithErrorHandler(task: Runnable, errorHandler: ErrorHandler, isRepeatingTask: Boolean): DelegatingErrorHandlingRunnable

Decorate the task for error handling. If the provided 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.

getDefaultErrorHandler

open static fun getDefaultErrorHandler(isRepeatingTask: Boolean): ErrorHandler

Return the default 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.