Я пытаюсь разработать перехватчик логов для некоторых методов в нашем AMQP-проекте.
Я использую Springs @ Aspect-Annotation и пользовательскую аннотацию для создания перехватчика. Наш AMQP-контроллер реализует интерфейс javax.jms.MessageHandler
и переопределяет метод onMessage(Message)
, который я хочу перехватить.
Класс имеет следующую подпись:
public abstract class AMQPController implements MessageListener {
...
@Override
public void onMessage(Message message){
// application logic
}
...
}
Мой перехватчик выглядит так:
@Slf4j
@Aspect
@Component
public class LoggedInterceptor {
@Around("execution(public void javax.jms.MessageListener+.onMessage(..))")
public Object intercept(ProceedingJoinPoint joinPoint) {
// application logic
}
}
Каждый раз, когда запускается новое AMQP-сообщение, onMessage()
-метод срабатывает, но мой перехватчик, похоже, не срабатывает.
У кого-нибудь есть идея, почему?
Привет из Германии: -)