Browse Source

主线程里创建子线程调用feign接口,通过header消息头带token信息方式

dev
jianjun 4 years ago
parent
commit
3134a60805
  1. 16
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/feign/FeignConfig.java

16
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/feign/FeignConfig.java

@ -10,9 +10,14 @@ package com.epmet.commons.tools.feign;
import feign.Logger; import feign.Logger;
import feign.RequestInterceptor; import feign.RequestInterceptor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Configuration;
import org.springframework.web.filter.RequestContextFilter;
import org.springframework.web.servlet.DispatcherServlet;
import javax.annotation.PostConstruct;
/** /**
@ -24,6 +29,10 @@ import org.springframework.context.annotation.Configuration;
*/ */
@Configuration @Configuration
public class FeignConfig { public class FeignConfig {
@Autowired
RequestContextFilter requestContextFilter;
@Autowired
DispatcherServlet dispatcherServlet;
@Bean @Bean
@ConditionalOnMissingBean @ConditionalOnMissingBean
@ -37,5 +46,10 @@ public class FeignConfig {
return Logger.Level.BASIC;//控制台会输出debug日志 return Logger.Level.BASIC;//控制台会输出debug日志
} }
@PostConstruct
public void init() {
// 设置线程继承属性为true,便于子线程获取到父线程的request,两个都设置为了保险。
requestContextFilter.setThreadContextInheritable(true);
dispatcherServlet.setThreadContextInheritable(true);
}
} }

Loading…
Cancel
Save