Interface TaskDecorator

All Known Implementing Classes:
CompositeTaskDecorator, ContextPropagatingTaskDecorator
Functional Interface:
This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.

@FunctionalInterface public interface TaskDecorator
A callback interface for a decorator to be applied to any Runnable about to be executed.

Note that such a decorator is not necessarily being applied to the user-supplied Runnable/Callable but rather to the actual execution callback (which may be a wrapper around the user-supplied task).

The primary use case is to set some execution context around the task's invocation, or to provide some monitoring/statistics for task execution.

NOTE: Exception handling in TaskDecorator implementations may be limited. Specifically in case of a Future-based operation, the exposed Runnable will be a wrapper which does not propagate any exceptions from its run method.

Since:
4.3
Author:
Juergen Hoeller
See Also:
  • Method Summary

    Modifier and Type
    Method
    Description
    decorate(Runnable runnable)
    Decorate the given Runnable, returning a potentially wrapped Runnable for actual execution, internally delegating to the original Runnable.run() implementation.
  • Method Details

    • decorate

      Runnable decorate(Runnable runnable)
      Decorate the given Runnable, returning a potentially wrapped Runnable for actual execution, internally delegating to the original Runnable.run() implementation.
      Parameters:
      runnable - the original Runnable
      Returns:
      the decorated Runnable