适用于使用feign调用其他SpringCloud微服务的调用链上下文传递场景 作用:在使用feign请求其他微服务时,自动生成context上下文,并将相应参数rootId、parentId、childId放入header 使用方法:在需要添加catcontext的feign service接口中,@FeignClient注解添加此类的configuration配置, 如:@FeignClient(name="account-manage", configuration = CatFeignConfiguration.class) @author soar @date 2019-
| 16 | * @date 2019-01-10 |
| 17 | */ |
| 18 | public class CatFeignConfiguration implements RequestInterceptor { |
| 19 | |
| 20 | @Override |
| 21 | public void apply(RequestTemplate requestTemplate) { |
| 22 | |
| 23 | com.dianping.cat.context.CatContextImpl catContext = new CatContextImpl(); |
| 24 | Cat.logRemoteCallClient(catContext,Cat.getManager().getDomain()); |
| 25 | requestTemplate.header(CatConstantsExt.CAT_HTTP_HEADER_ROOT_MESSAGE_ID,catContext.getProperty(Cat.Context.ROOT)); |
| 26 | requestTemplate.header(CatConstantsExt.CAT_HTTP_HEADER_PARENT_MESSAGE_ID,catContext.getProperty(Cat.Context.PARENT)); |
| 27 | requestTemplate.header(CatConstantsExt.CAT_HTTP_HEADER_CHILD_MESSAGE_ID,catContext.getProperty(Cat.Context.CHILD)); |
| 28 | |
| 29 | } |
| 30 | } |
nothing calls this directly
no outgoing calls
no test coverage detected