|
|
@@ -1,13 +1,13 @@
|
|
|
package com.java110.core.trace;
|
|
|
|
|
|
-import com.java110.core.factory.Java110TraceFactory;
|
|
|
import com.java110.core.log.LoggerFactory;
|
|
|
import com.java110.dto.trace.TraceAnnotationsDto;
|
|
|
+import com.java110.dto.trace.TraceDto;
|
|
|
+import com.java110.utils.constant.CommonConstant;
|
|
|
import okhttp3.Interceptor;
|
|
|
import okhttp3.Request;
|
|
|
import okhttp3.Response;
|
|
|
import org.slf4j.Logger;
|
|
|
-import org.springframework.stereotype.Component;
|
|
|
|
|
|
import java.io.IOException;
|
|
|
|
|
|
@@ -17,13 +17,19 @@ public class Java110FeignClientInterceptor implements Interceptor {
|
|
|
|
|
|
@Override
|
|
|
public Response intercept(Chain chain) throws IOException {
|
|
|
- Request request = chain.request();
|
|
|
+ // Request request = chain.request();
|
|
|
|
|
|
- //before , request.body()
|
|
|
+ Request.Builder builder = chain.request().newBuilder();
|
|
|
+ //调用链头信息
|
|
|
+ TraceDto traceDto = Java110TraceFactory.getTraceDto();
|
|
|
+ if (traceDto != null) {
|
|
|
+ builder.header(CommonConstant.TRACE_ID, traceDto.getTraceId());
|
|
|
+ builder.header(CommonConstant.PARENT_SPAN_ID, traceDto.getId());
|
|
|
+ }
|
|
|
logger.debug("feign 进入 Java110FeignClientAop>> intercept");
|
|
|
Java110TraceFactory.putAnnotations(TraceAnnotationsDto.VALUE_SERVER_SEND);
|
|
|
try {
|
|
|
- Response response = chain.proceed(request);
|
|
|
+ Response response = chain.proceed(builder.build());
|
|
|
//after
|
|
|
return response;
|
|
|
} catch (Exception e) {
|