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

时间:2020-02-15 23:47:26

标签: spring spring-boot spring-jms mdc

在Spring Boot中收到jms消息之前是否可以执行操作?我知道我可以将其放在@JmsListener的最上方,但是我有几个侦听器,所以我希望避免向所有听众添加呼叫。

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

1 个答案:

答案 0 :(得分:1)

我会尝试从“之前”或“前后”开始(以防万一,在处理消息后也应该实现一些逻辑)

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

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

链接对:enabling aspectj supportbefore advicearound advice