org.axonframework.commandhandling
Interface CommandHandlerInterceptor
- All Known Implementing Classes:
- AuditingInterceptor, BeanValidationInterceptor, LoggingInterceptor, SerializationOptimizingInterceptor
public interface CommandHandlerInterceptor
Workflow interface that allows for customized command handler invocation chains. A CommandHandlerInterceptor can add
customized behavior to command handler invocations, both before and after the invocation.
- Since:
- 0.5
- Author:
- Allard Buijze
handle
Object handle(CommandMessage<?> commandMessage,
UnitOfWork unitOfWork,
InterceptorChain interceptorChain)
throws Throwable
- The handle method is invoked each time a command is dispatched through the command bus that the
CommandHandlerInterceptor is declared on. The incoming command and contextual information can be found in the
given
unitOfWork
.
The interceptor is responsible for the continuation of the dispatch process by invoking the InterceptorChain.proceed(CommandMessage)
method on the given
interceptorChain
.
Any information gathered by interceptors may be attached to the unitOfWork. This information is made
available to the CommandCallback provided by the dispatching component.
Interceptors are highly recommended not to change the type of the command handling result, as the dispatching
component might expect a result of a specific type.
- Parameters:
commandMessage
- The command being dispatchedunitOfWork
- The UnitOfWork in whichinterceptorChain
- The interceptor chain that allows this interceptor to proceed the dispatch process
- Returns:
- the result of the command handler. May have been modified by interceptors.
- Throws:
Throwable
- any exception that occurs while handling the command
Copyright © 2010-2016. All Rights Reserved.