修改feign连接池策略,修改 security fallbackFactory

This commit is contained in:
ajaxfan
2021-05-18 17:45:58 +08:00
parent 33435e4ab8
commit 2c97400300
4 changed files with 29 additions and 7 deletions

View File

@ -1,4 +1,9 @@
# 默认开启熔断 # 默认开启熔断
feign.hystrix.enabled=true feign.hystrix.enabled=true
feign.client.config.default.connectTimeout=50000 feign.client.config.default.connectTimeout=200000
feign.client.config.default.readTimeout=50000 feign.client.config.default.readTimeout=200000
# 熔断器线程池配置
hystrix.threadpool.default.coreSize=1000
hystrix.threadpool.default.maxQueueSize=3000
hystrix.threadpool.default.queueSizeRejectionThreshold=3000

View File

@ -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.config.FeignClientConfiguration;
import com.chinaunicom.mall.ebtp.cloud.security.starter.entity.SecurityUser; 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 * @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 { public interface UserCenterClient {
/** /**

View File

@ -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<UserCenterClient> {
@Override
public UserCenterClient create(Throwable cause) {
log.error(cause.getMessage());
return new UserCenterClientFallback();
}
}

View File

@ -1,14 +1,11 @@
package com.chinaunicom.mall.ebtp.cloud.security.starter.fallback; 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.client.UserCenterClient;
import com.chinaunicom.mall.ebtp.cloud.security.starter.entity.SecurityUser; import com.chinaunicom.mall.ebtp.cloud.security.starter.entity.SecurityUser;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
@Slf4j @Slf4j
@Component
public class UserCenterClientFallback implements UserCenterClient { public class UserCenterClientFallback implements UserCenterClient {
@Override @Override