线程上下文
public class ThreadContextHolder {
private static final InheritableThreadLocal<Object> context = new InheritableThreadLocal<>();
public static void setContext(Object o) {
context.set(o);
}
public static Object get() {
return context.get();
}
public static void remove() {
context.remove();
}
}
拦截器
import com.jwt.ThreadContextHolder;
import org.springframework.lang.Nullable;
import org.springframework.stereotype.Component;
import org.springframework.web.servlet.HandlerInterceptor;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@Component
public class InterCeptor implements HandlerInterceptor {
@Override
public boolean preHandle(HttpServletRequest request,
HttpServletResponse response,
Object handler) throws Exception {
return true;
}
@Override
public void afterCompletion(HttpServletRequest request,
HttpServletResponse response,
Object handler,
@Nullable Exception ex) throws Exception {
ThreadContextHolder.remove();
}
}