From 64fc286e33eec55733944cb9ae901d5982b902a0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BB=98=E5=BA=86=E5=90=89?= <51312040@qq.com> Date: Thu, 13 Jan 2022 19:09:57 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E8=BF=87=E6=BB=A4=E5=99=A8?= =?UTF-8?q?=EF=BC=9Aseata=E8=A7=A3=E7=BB=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../extend/config/SeataInterceptorConfig.java | 36 +++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 src/main/java/com/chinaunicom/mall/ebtp/extend/config/SeataInterceptorConfig.java diff --git a/src/main/java/com/chinaunicom/mall/ebtp/extend/config/SeataInterceptorConfig.java b/src/main/java/com/chinaunicom/mall/ebtp/extend/config/SeataInterceptorConfig.java new file mode 100644 index 0000000..1243f01 --- /dev/null +++ b/src/main/java/com/chinaunicom/mall/ebtp/extend/config/SeataInterceptorConfig.java @@ -0,0 +1,36 @@ +package com.chinaunicom.mall.ebtp.extend.config; + +import io.seata.core.context.RootContext; +import org.springframework.context.annotation.Configuration; +import org.springframework.web.servlet.HandlerInterceptor; +import org.springframework.web.servlet.config.annotation.InterceptorRegistration; +import org.springframework.web.servlet.config.annotation.InterceptorRegistry; +import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.util.Objects; + +/** + * seata拦截器配置类 解除seata绑定 + * + * @author fqj + * @date 2022-01-13 + */ +@Configuration +public class SeataInterceptorConfig implements WebMvcConfigurer { + + @Override + public void addInterceptors(InterceptorRegistry registry) { + InterceptorRegistration interceptor = registry.addInterceptor(new HandlerInterceptor() { + @Override + public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { + if (!Objects.isNull(RootContext.getXID())) { + RootContext.unbind(); + } + return true; + } + }); + interceptor.addPathPatterns("/**"); + } +}