15810770710@163.com 3 years ago
parent
commit
d41946fd2d

+ 6 - 9
src/main/java/com/jkcredit/zuul/config/RestTemplateConfigurate.java

@@ -1,19 +1,16 @@
 package com.jkcredit.zuul.config;
+
 import lombok.extern.slf4j.Slf4j;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.cloud.client.loadbalancer.LoadBalanced;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
-import org.springframework.http.client.ClientHttpRequestInterceptor;
 import org.springframework.web.client.RestTemplate;
-import java.util.List;
 
 @Configuration
 @Slf4j
 public class RestTemplateConfigurate {
-	@Bean(name = "getRestTemplate")
-	public RestTemplate getRestTemplate() {
-		 RestTemplate restTemplate =  new RestTemplate();
-		return restTemplate;
-	}
+    @Bean(name = "getRestTemplate")
+    public RestTemplate getRestTemplate() {
+        RestTemplate restTemplate = new RestTemplate();
+        return restTemplate;
+    }
 }

+ 2 - 3
src/main/java/com/jkcredit/zuul/error/ErrorFilter.java

@@ -2,14 +2,13 @@ package com.jkcredit.zuul.error;
 
 import com.jkcredit.common.model.ResultObject;
 import com.netflix.zuul.ZuulFilter;
-import com.netflix.zuul.context.RequestContext;
 import com.netflix.zuul.exception.ZuulException;
 import org.springframework.cloud.netflix.zuul.filters.support.FilterConstants;
 import org.springframework.stereotype.Component;
 
 import java.text.SimpleDateFormat;
+import java.util.ArrayList;
 import java.util.Date;
-import java.util.HashMap;
 import java.util.UUID;
 
 /**
@@ -41,7 +40,7 @@ public class ErrorFilter extends ZuulFilter {
         resultObject.setCode(500);
         resultObject.setMessage("查询异常");
         resultObject.setRequestId(requestId);
-        resultObject.setResult(new HashMap<>());
+        resultObject.setResult(new ArrayList<>());
         return null;
     }
 }

+ 2 - 2
src/main/java/com/jkcredit/zuul/handler/GlobalExceptionHandler.java

@@ -9,8 +9,8 @@ import org.springframework.web.bind.annotation.RestControllerAdvice;
 
 import javax.servlet.http.HttpServletRequest;
 import java.text.SimpleDateFormat;
+import java.util.ArrayList;
 import java.util.Date;
-import java.util.HashMap;
 import java.util.UUID;
 
 /**
@@ -29,7 +29,7 @@ public class GlobalExceptionHandler {
         resultObject.setCode(500);
         resultObject.setMessage("查询异常");
         resultObject.setRequestId(requestId);
-        resultObject.setResult(new HashMap<>());
+        resultObject.setResult(new ArrayList<>());
         log.error("requestId:{}, exception:{}", requestId, ex.getMessage());
         return resultObject;
     }

+ 3 - 0
src/main/java/com/jkcredit/zuul/post/EnvelopedResponseFilter.java

@@ -5,6 +5,7 @@ import com.jkcredit.common.model.ResultObject;
 import com.netflix.zuul.ZuulFilter;
 import com.netflix.zuul.context.RequestContext;
 import com.netflix.zuul.exception.ZuulException;
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.cloud.netflix.zuul.filters.support.FilterConstants;
 import org.springframework.stereotype.Component;
 
@@ -13,6 +14,7 @@ import org.springframework.stereotype.Component;
  * @version V1.0
  **/
 @Component
+@Slf4j
 public class EnvelopedResponseFilter extends ZuulFilter {
     @Override
     public String filterType() {
@@ -37,6 +39,7 @@ public class EnvelopedResponseFilter extends ZuulFilter {
         ResultObject resultObject = JSON.toJavaObject(JSON.parseObject(response),
                 ResultObject.class);
         RequestContext.getCurrentContext().setResponseBody(JSON.toJSONString(resultObject));
+        log.info("requestId:{}, response:{}", resultObject.getRequestId(), JSON.toJSONString(resultObject));
         return null;
     }
 }

+ 1 - 0
src/main/java/com/jkcredit/zuul/post/SeverUsefulCheckFilter.java

@@ -63,6 +63,7 @@ public class SeverUsefulCheckFilter extends ZuulFilter {
 
         if (commonResponseObject.getCode().equals(CommonConstant.GET_RESULT_FAILED)
                 && commonResponseObject.getNetWorkCode().equals(CommonConstant.NETWORK_DISABLED)) {
+            log.info("getCookieFailed:{}", commonResponseObject.getHost());
             stringRedisTemplate.boundSetOps("DISABLED_HOST").add(commonResponseObject.getHost());
             String instanceId = "info-query" + ":" + commonResponseObject.getHost();
             instanceStatusUtil.updateInstanceStatus(instanceId, "OUT_OF_SERVICE");

+ 0 - 7
src/main/java/com/jkcredit/zuul/pre/CheckDiscoverClientFilter.java

@@ -1,7 +1,5 @@
 package com.jkcredit.zuul.pre;
 
-import com.netflix.loadbalancer.DynamicServerListLoadBalancer;
-import com.netflix.loadbalancer.Server;
 import com.netflix.zuul.ZuulFilter;
 import com.netflix.zuul.context.RequestContext;
 import com.netflix.zuul.exception.ZuulException;
@@ -9,13 +7,9 @@ import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.cloud.client.discovery.DiscoveryClient;
 import org.springframework.cloud.netflix.zuul.filters.support.FilterConstants;
-import org.springframework.cloud.openfeign.ribbon.CachingSpringLoadBalancerFactory;
-import org.springframework.cloud.openfeign.ribbon.FeignLoadBalancer;
 import org.springframework.context.ApplicationContext;
 import org.springframework.stereotype.Component;
 
-import javax.annotation.Resource;
-import java.util.List;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
@@ -43,7 +37,6 @@ public class CheckDiscoverClientFilter extends ZuulFilter {
 
     @Override
     public boolean shouldFilter() {
-        log.info("request is coming");
         RequestContext requestContext = RequestContext.getCurrentContext();
         String url = requestContext.getRequest().getRequestURI();
         Pattern pattern = Pattern.compile("info-query");

+ 3 - 10
src/main/java/com/jkcredit/zuul/task/CheckClientNetworkTask.java

@@ -5,12 +5,8 @@ import com.jkcredit.common.constant.CommonConstant;
 import com.jkcredit.common.model.CommonResponseObject;
 import com.jkcredit.zuul.util.InstanceStatusUtil;
 import com.netflix.discovery.DiscoveryClient;
-import com.netflix.loadbalancer.DynamicServerListLoadBalancer;
-import com.netflix.loadbalancer.Server;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.cloud.openfeign.ribbon.CachingSpringLoadBalancerFactory;
-import org.springframework.cloud.openfeign.ribbon.FeignLoadBalancer;
 import org.springframework.data.redis.core.StringRedisTemplate;
 import org.springframework.http.ResponseEntity;
 import org.springframework.scheduling.annotation.Scheduled;
@@ -19,9 +15,6 @@ import org.springframework.web.client.RestTemplate;
 
 import javax.annotation.Resource;
 import java.lang.reflect.Method;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
 import java.util.Set;
 
 /**
@@ -40,10 +33,8 @@ public class CheckClientNetworkTask {
     @Autowired
     InstanceStatusUtil instanceStatusUtil;
 
-    @Scheduled(cron = "0 0/2 * * * ?", zone = "Asia/Shanghai")
+    @Scheduled(cron = "0 0/5 * * * ?", zone = "Asia/Shanghai")
     public void checkClientNetwork() {
-        log.info("CheckClientNetworkTask");
-        System.out.println("CheckClientNetworkTask");
         Set<String> disableHosts = stringRedisTemplate.boundSetOps("DISABLED_HOST").members();
         for (String host : disableHosts) {
             String url = "http://" + host + "/loadCookie";
@@ -64,6 +55,8 @@ public class CheckClientNetworkTask {
                     log.error("checkClientNetwork:", e);
                     e.printStackTrace();
                 }
+            } else {
+                log.info("");
             }
         }
     }

+ 9 - 1
src/main/java/com/jkcredit/zuul/util/InstanceStatusUtil.java

@@ -14,10 +14,18 @@ import javax.annotation.Resource;
 @Component
 @Slf4j
 public class InstanceStatusUtil {
+    private static String eurekaServiceUrl;
+
+    @Value("${updateStatus.eureka}")
+    public void setEurekaServiceUrl(String eurekaServiceUrl) {
+        InstanceStatusUtil.eurekaServiceUrl = eurekaServiceUrl;
+    }
+
     @Resource(name = "getRestTemplate")
     RestTemplate restTemplate;
+
     public void updateInstanceStatus(String instanceId, String status) {
-        String url = "http://51.1.0.61:28081/eureka/apps/INFO-QUERY/" + instanceId + "/" + "status?value=" + status;
+        String url = eurekaServiceUrl + instanceId + "/" + "status?value=" + status;
         log.info("url:{}", url);
         restTemplate.put(url, null);
     }

+ 6 - 4
src/main/resources/application.yml

@@ -24,13 +24,15 @@ zuul:
 info-query:
   ribbon:
     ServerListUpdaterClassName: com.netflix.loadbalancer.EurekaNotificationServerListUpdater
-    ConnectTimeout: 60000
-    ReadTimeout: 60000
-    SocketTimeout: 60000
+    ConnectTimeout: 10000
+    ReadTimeout: 10000
+    SocketTimeout: 10000
 hystrix:
   command:
     default:
       execution:
         isolation:
           thread:
-            timeoutInMilliseconds: 240000
+            timeoutInMilliseconds: 30000
+updateStatus:
+ eureka: http://51.1.0.61:28081/eureka/apps/INFO-QUERY/