diff --git a/mall-ebtp-cloud-feign-starter/src/main/resources/feign-configuration.properties b/mall-ebtp-cloud-feign-starter/src/main/resources/feign-configuration.properties index f9ce372..59b576d 100644 --- a/mall-ebtp-cloud-feign-starter/src/main/resources/feign-configuration.properties +++ b/mall-ebtp-cloud-feign-starter/src/main/resources/feign-configuration.properties @@ -1,4 +1,9 @@ # 默认开启熔断 feign.hystrix.enabled=true -feign.client.config.default.connectTimeout=50000 -feign.client.config.default.readTimeout=50000 \ No newline at end of file +feign.client.config.default.connectTimeout=200000 +feign.client.config.default.readTimeout=200000 + +# 熔断器线程池配置 +hystrix.threadpool.default.coreSize=1000 +hystrix.threadpool.default.maxQueueSize=3000 +hystrix.threadpool.default.queueSizeRejectionThreshold=3000 \ No newline at end of file diff --git a/mall-ebtp-cloud-security-starter/src/main/java/com/chinaunicom/mall/ebtp/cloud/security/starter/client/UserCenterClient.java b/mall-ebtp-cloud-security-starter/src/main/java/com/chinaunicom/mall/ebtp/cloud/security/starter/client/UserCenterClient.java index 32a5a13..8fbb720 100644 --- a/mall-ebtp-cloud-security-starter/src/main/java/com/chinaunicom/mall/ebtp/cloud/security/starter/client/UserCenterClient.java +++ b/mall-ebtp-cloud-security-starter/src/main/java/com/chinaunicom/mall/ebtp/cloud/security/starter/client/UserCenterClient.java @@ -6,14 +6,14 @@ import org.springframework.web.bind.annotation.RequestMethod; import com.chinaunicom.mall.ebtp.cloud.security.starter.config.FeignClientConfiguration; import com.chinaunicom.mall.ebtp.cloud.security.starter.entity.SecurityUser; -import com.chinaunicom.mall.ebtp.cloud.security.starter.fallback.UserCenterClientFallback; +import com.chinaunicom.mall.ebtp.cloud.security.starter.fallback.HystrixClientFallbackFactory; /** * 连接山分的文档中心服务 * * @author Ajaxfan */ -@FeignClient(name = "${mall-ebtp.userinfo.id}", fallback = UserCenterClientFallback.class, configuration = FeignClientConfiguration.class) +@FeignClient(name = "${mall-ebtp.userinfo.id}", fallbackFactory = HystrixClientFallbackFactory.class, configuration = FeignClientConfiguration.class) public interface UserCenterClient { /** diff --git a/mall-ebtp-cloud-security-starter/src/main/java/com/chinaunicom/mall/ebtp/cloud/security/starter/fallback/HystrixClientFallbackFactory.java b/mall-ebtp-cloud-security-starter/src/main/java/com/chinaunicom/mall/ebtp/cloud/security/starter/fallback/HystrixClientFallbackFactory.java new file mode 100644 index 0000000..085a019 --- /dev/null +++ b/mall-ebtp-cloud-security-starter/src/main/java/com/chinaunicom/mall/ebtp/cloud/security/starter/fallback/HystrixClientFallbackFactory.java @@ -0,0 +1,20 @@ +package com.chinaunicom.mall.ebtp.cloud.security.starter.fallback; + +import org.springframework.stereotype.Component; + +import com.chinaunicom.mall.ebtp.cloud.security.starter.client.UserCenterClient; + +import feign.hystrix.FallbackFactory; +import lombok.extern.slf4j.Slf4j; + +@Slf4j +@Component +public class HystrixClientFallbackFactory implements FallbackFactory { + + @Override + public UserCenterClient create(Throwable cause) { + log.error(cause.getMessage()); + return new UserCenterClientFallback(); + } + +} diff --git a/mall-ebtp-cloud-security-starter/src/main/java/com/chinaunicom/mall/ebtp/cloud/security/starter/fallback/UserCenterClientFallback.java b/mall-ebtp-cloud-security-starter/src/main/java/com/chinaunicom/mall/ebtp/cloud/security/starter/fallback/UserCenterClientFallback.java index 088c78c..08d9816 100644 --- a/mall-ebtp-cloud-security-starter/src/main/java/com/chinaunicom/mall/ebtp/cloud/security/starter/fallback/UserCenterClientFallback.java +++ b/mall-ebtp-cloud-security-starter/src/main/java/com/chinaunicom/mall/ebtp/cloud/security/starter/fallback/UserCenterClientFallback.java @@ -1,14 +1,11 @@ package com.chinaunicom.mall.ebtp.cloud.security.starter.fallback; -import org.springframework.stereotype.Component; - import com.chinaunicom.mall.ebtp.cloud.security.starter.client.UserCenterClient; import com.chinaunicom.mall.ebtp.cloud.security.starter.entity.SecurityUser; import lombok.extern.slf4j.Slf4j; @Slf4j -@Component public class UserCenterClientFallback implements UserCenterClient { @Override