| java110-core/pom.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| java110-core/src/main/java/com/java110/core/aop/Java110FeignClientAop.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| java110-core/src/main/java/com/java110/core/aop/Java110TraceConfigurer.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| pom.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
java110-core/pom.xml
@@ -85,5 +85,10 @@ <artifactId>java110-utils</artifactId> </dependency> <dependency> <groupId>com.squareup.okhttp3</groupId> <artifactId>okhttp</artifactId> </dependency> </dependencies> </project> java110-core/src/main/java/com/java110/core/aop/Java110FeignClientAop.java
@@ -3,26 +3,46 @@ import com.java110.core.factory.Java110TraceFactory; import com.java110.core.log.LoggerFactory; import com.java110.dto.trace.TraceAnnotationsDto; import org.aspectj.lang.ProceedingJoinPoint; import org.aspectj.lang.annotation.Around; import org.aspectj.lang.annotation.Aspect; import okhttp3.Interceptor; import okhttp3.Request; import okhttp3.Response; import org.slf4j.Logger; import org.springframework.stereotype.Component; @Aspect @Component public class Java110FeignClientAop { import java.io.IOException; public class Java110FeignClientAop implements Interceptor { private static Logger logger = LoggerFactory.getLogger(Java110FeignClientAop.class); @Around("execution (* feign.Client.*(..)) && !within(is(FinalType))") public Object feignClientWasCalled(final ProceedingJoinPoint pjp) throws Throwable { // @Around("execution (* feign.Client.*(..)) && !within(is(FinalType))") // public Object feignClientWasCalled(final ProceedingJoinPoint pjp) throws Throwable { // // logger.debug("feign 进入 Java110FeignClientAop>> feignClientWasCalled"); // // Java110TraceFactory.putAnnotations(TraceAnnotationsDto.VALUE_SERVER_SEND); // Object clientHttpResponse = pjp.proceed(); // Java110TraceFactory.putAnnotations(TraceAnnotationsDto.VALUE_SERVER_RECEIVE); // return clientHttpResponse; // } @Override public Response intercept(Chain chain) throws IOException { Request request = chain.request(); logger.debug("feign 进入 Java110FeignClientAop>> feignClientWasCalled"); //before , request.body() logger.debug("feign 进入 Java110FeignClientAop>> intercept"); Java110TraceFactory.putAnnotations(TraceAnnotationsDto.VALUE_SERVER_SEND); Object clientHttpResponse = pjp.proceed(); Java110TraceFactory.putAnnotations(TraceAnnotationsDto.VALUE_SERVER_RECEIVE); return clientHttpResponse; try { Response response = chain.proceed(request); //after return response; } catch (Exception e) { //log error throw e; } finally { //clean up Java110TraceFactory.putAnnotations(TraceAnnotationsDto.VALUE_SERVER_RECEIVE); } } } java110-core/src/main/java/com/java110/core/aop/Java110TraceConfigurer.java
@@ -1,11 +1,16 @@ package com.java110.core.aop; import okhttp3.ConnectionPool; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.config.annotation.InterceptorRegistry; import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter; import java.util.concurrent.TimeUnit; @Configuration public class Java110TraceConfigurer extends WebMvcConfigurerAdapter { @@ -21,4 +26,17 @@ registry.addInterceptor(java110TraceHandlerInterceptor).addPathPatterns("/**"); super.addInterceptors(registry); } @Bean @ConditionalOnBean(Java110FeignClientAop.class) public okhttp3.OkHttpClient okHttpClient(@Autowired Java110FeignClientAop okHttpLoggingInterceptor){ okhttp3.OkHttpClient.Builder ClientBuilder = new okhttp3.OkHttpClient.Builder() .readTimeout(30, TimeUnit.SECONDS) //读取超时 .connectTimeout(10, TimeUnit.SECONDS) //连接超时 .writeTimeout(60, TimeUnit.SECONDS) //写入超时 .connectionPool(new ConnectionPool(10 /*maxIdleConnections*/, 3, TimeUnit.MINUTES)) .addInterceptor(okHttpLoggingInterceptor); return ClientBuilder.build(); } } pom.xml
@@ -213,6 +213,12 @@ <version>${log4j.version}</version> </dependency> <!-- https://mvnrepository.com/artifact/org.slf4j/log4j-over-slf4j --> <dependency> <groupId>com.squareup.okhttp3</groupId> <artifactId>okhttp</artifactId> <version>3.6.0</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>log4j-over-slf4j</artifactId>