Przeglądaj źródła

优化 trace 代码

java110 4 lat temu
rodzic
commit
04f19d0f89

+ 1 - 8
java110-core/src/main/java/com/java110/core/aop/FeignRequestInterceptor.java

@@ -1,6 +1,6 @@
 package com.java110.core.aop;
 
-import com.java110.core.factory.Java110TraceFactory;
+import com.java110.core.trace.Java110TraceFactory;
 import com.java110.core.factory.Java110TransactionalFactory;
 import com.java110.dto.trace.TraceDto;
 import com.java110.utils.constant.CommonConstant;
@@ -20,7 +20,6 @@ import org.springframework.util.StringUtils;
 @Configuration
 public class FeignRequestInterceptor implements RequestInterceptor {
 
-
     /**
      * 传入事务ID
      *
@@ -32,11 +31,5 @@ public class FeignRequestInterceptor implements RequestInterceptor {
         if (!StringUtils.isEmpty(oId)) {
             requestTemplate.header(Java110TransactionalFactory.O_ID, oId);
         }
-        //调用链头信息
-        TraceDto traceDto = Java110TraceFactory.getTraceDto();
-        if (traceDto != null) {
-            requestTemplate.header(CommonConstant.TRACE_ID, traceDto.getTraceId());
-            requestTemplate.header(CommonConstant.PARENT_SPAN_ID, traceDto.getId());
-        }
     }
 }

+ 11 - 5
java110-core/src/main/java/com/java110/core/trace/Java110FeignClientInterceptor.java

@@ -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) {

+ 0 - 1
java110-core/src/main/java/com/java110/core/trace/Java110RestTemplateInterceptor.java

@@ -1,6 +1,5 @@
 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;

+ 2 - 1
java110-core/src/main/java/com/java110/core/factory/Java110TraceFactory.java

@@ -1,6 +1,7 @@
-package com.java110.core.factory;
+package com.java110.core.trace;
 
 import com.alibaba.fastjson.JSONObject;
+import com.java110.core.factory.GenerateCodeFactory;
 import com.java110.core.log.LoggerFactory;
 import com.java110.dto.trace.TraceAnnotationsDto;
 import com.java110.dto.trace.TraceDto;

+ 0 - 1
java110-core/src/main/java/com/java110/core/trace/Java110TraceHandlerInterceptor.java

@@ -1,6 +1,5 @@
 package com.java110.core.trace;
 
-import com.java110.core.factory.Java110TraceFactory;
 import com.java110.core.log.LoggerFactory;
 import com.java110.dto.trace.TraceAnnotationsDto;
 import org.slf4j.Logger;

+ 0 - 2
service-api/src/main/java/com/java110/api/aop/PageProcessAspect.java

@@ -3,9 +3,7 @@ package com.java110.api.aop;
 import com.alibaba.fastjson.JSONObject;
 import com.java110.core.context.IPageData;
 import com.java110.core.context.PageData;
-import com.java110.core.factory.Java110TraceFactory;
 import com.java110.core.log.LoggerFactory;
-import com.java110.dto.trace.TraceAnnotationsDto;
 import com.java110.utils.constant.CommonConstant;
 import com.java110.utils.exception.FilterException;
 import com.java110.utils.util.StringUtil;