При реализации MessageHandlerInterceptor
вам необходимо реализовать следующий метод:
Object handle(
UnitOfWork<? extends T> unitOfWork,
InterceptorChain interceptorChain
) throws Exception;
Ключ, когда дело доходит до вызова операций до и после обработки сообщения, равен , когда вы взаимодействовать с InterceptorChain
. InterceptorChain
представляет цепочку экземпляров MessageHandlerInterceptor
в этом случае. Таким образом, вызов interceptorChain.proceed()
скажет цепочке перейти к следующему перехватчику. Если достигнут конец цепочки, Аксон перейдет к функции обработки сообщений, которую вы написали самостоятельно.
Таким образом, выполнение работы после interceptorChain.proceed()
означает, что вы выполняете работу после аннотированный вызов метода.
Вы можете увидеть, как Аксон делает это сам в LoggingInterceptor
, который вы можете найти здесь .