spring jms - 在收到消息之前执行操作

spring jms - perform action before message received

是否可以在 spring 引导中收到 jms 消息之前执行操作?我知道我可以将它放在我的 @JmsListener 的最顶部,但我有几个听众,我宁愿避免向所有听众添加调用。

我正在尝试使用日志记录 MDC(一个本地线程,如果您不熟悉 MDC,)来跟踪各种事情,我想在开始处理之前设置一些属性消息。我可以在我的控制器上使用 Filter 执行此操作,但是 spring jms 是否具有相同的概念?

我会尝试从 Before 或 Around 方面开始(以防在处理消息之后也应该实现一些逻辑)方面:

@Before("@annotation(JmsListener)")
public void handle(ProceedingJoinPoint joinPoint) { ... }

@Around("@annotation(JmsListener)")
public void handle(ProceedingJoinPoint joinPoint) { ... }

几个链接:enabling aspectj support, before advice, around advice