使用容器的@H_404_1@adviceChain。假设您正在使用Boot 2.0和简单的容器工厂,请覆盖boot的工厂以添加建议…
@H_404_1@@SpringBootApplication public class So49770881Application { public static void main(String[] args) { SpringApplication.run(So49770881Application.class, args); } @Bean(name = "rabbitListenerContainerFactory") public SimpleRabbitListenerContainerFactory simpleRabbitListenerContainerFactory( SimpleRabbitListenerContainerFactoryConfigurer configurer, ConnectionFactory connectionFactory) { SimpleRabbitListenerContainerFactory factory = new SimpleRabbitListenerContainerFactory(); configurer.configure(factory, connectionFactory); factory.setAdviceChain(new MDCAdvice()); return factory; } public static class MDCAdvice implements MethodInterceptor { @Override public Object invoke(MethodInvocation invocation) throws Throwable { // pre process try { return invocation.proceed(); } finally { // post process } } } }