@FunctionalInterface public interface TaskDecorator
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.
TaskExecutor.execute(Runnable)
,
SimpleAsyncTaskExecutor.setTaskDecorator(org.springframework.core.task.TaskDecorator)
,
TaskExecutorAdapter.setTaskDecorator(org.springframework.core.task.TaskDecorator)
Modifier and Type | Method and Description |
---|---|
Runnable |
decorate(Runnable runnable)
Decorate the given
Runnable , returning a potentially wrapped
Runnable for actual execution, internally delegating to the
original Runnable.run() implementation. |
Runnable decorate(Runnable runnable)
Runnable
, returning a potentially wrapped
Runnable
for actual execution, internally delegating to the
original Runnable.run()
implementation.runnable
- the original Runnable
Runnable