From b3cc5c0be83e349be40f12534b1ad266e6878e61 Mon Sep 17 00:00:00 2001 From: wxz Date: Thu, 15 Jul 2021 10:20:05 +0800 Subject: [PATCH] =?UTF-8?q?gov-access=E5=BC=80=E5=A7=8B=E6=94=B9=E7=94=A8F?= =?UTF-8?q?allbackFactory?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/epmet/feign/GovAccessFeignClient.java | 5 ++-- .../GovAccessFeignClientFallBack.java | 2 +- .../GovAccessFeignClientFallBackFactory.java | 28 +++++++++++++++++++ 3 files changed, 32 insertions(+), 3 deletions(-) create mode 100644 epmet-module/gov-access/gov-access-client/src/main/java/com/epmet/feign/fallback/GovAccessFeignClientFallBackFactory.java diff --git a/epmet-module/gov-access/gov-access-client/src/main/java/com/epmet/feign/GovAccessFeignClient.java b/epmet-module/gov-access/gov-access-client/src/main/java/com/epmet/feign/GovAccessFeignClient.java index c142cdef67..f42a1c3270 100644 --- a/epmet-module/gov-access/gov-access-client/src/main/java/com/epmet/feign/GovAccessFeignClient.java +++ b/epmet-module/gov-access/gov-access-client/src/main/java/com/epmet/feign/GovAccessFeignClient.java @@ -4,7 +4,7 @@ import com.epmet.commons.tools.constant.ServiceConstant; import com.epmet.commons.tools.utils.Result; import com.epmet.dto.form.InitDefaultOperationsFormDTO; import com.epmet.dto.form.ListOpePermsFormDTO; -import com.epmet.feign.fallback.GovAccessFeignClientFallBack; +import com.epmet.feign.fallback.GovAccessFeignClientFallBackFactory; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; @@ -12,7 +12,8 @@ import org.springframework.web.bind.annotation.RequestBody; import java.util.Set; //@FeignClient(name = ServiceConstant.GOV_ACCESS_SERVER, fallback = GovAccessFeignClientFallBack.class, url = "http://localhost:8099") -@FeignClient(name = ServiceConstant.GOV_ACCESS_SERVER, fallback = GovAccessFeignClientFallBack.class) +//@FeignClient(name = ServiceConstant.GOV_ACCESS_SERVER, fallback = GovAccessFeignClientFallBack.class) +@FeignClient(name = ServiceConstant.GOV_ACCESS_SERVER, fallbackFactory = GovAccessFeignClientFallBackFactory.class) public interface GovAccessFeignClient { /** diff --git a/epmet-module/gov-access/gov-access-client/src/main/java/com/epmet/feign/fallback/GovAccessFeignClientFallBack.java b/epmet-module/gov-access/gov-access-client/src/main/java/com/epmet/feign/fallback/GovAccessFeignClientFallBack.java index 30e5d4141c..9f092331ad 100644 --- a/epmet-module/gov-access/gov-access-client/src/main/java/com/epmet/feign/fallback/GovAccessFeignClientFallBack.java +++ b/epmet-module/gov-access/gov-access-client/src/main/java/com/epmet/feign/fallback/GovAccessFeignClientFallBack.java @@ -14,7 +14,7 @@ import java.util.Set; * @Description * @Author sun */ -@Component +//@Component public class GovAccessFeignClientFallBack implements GovAccessFeignClient { diff --git a/epmet-module/gov-access/gov-access-client/src/main/java/com/epmet/feign/fallback/GovAccessFeignClientFallBackFactory.java b/epmet-module/gov-access/gov-access-client/src/main/java/com/epmet/feign/fallback/GovAccessFeignClientFallBackFactory.java new file mode 100644 index 0000000000..1d8be85778 --- /dev/null +++ b/epmet-module/gov-access/gov-access-client/src/main/java/com/epmet/feign/fallback/GovAccessFeignClientFallBackFactory.java @@ -0,0 +1,28 @@ +package com.epmet.feign.fallback; + +import com.epmet.commons.tools.exception.ExceptionUtils; +import com.epmet.feign.GovAccessFeignClient; +import feign.hystrix.FallbackFactory; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + +/** + * @Description fallBackFactory,用于抛出异常之后,返回一个Fallback降级处理对象 + * @author wxz + * @date 2021.07.15 09:54:14 +*/ +@Component +@Slf4j +public class GovAccessFeignClientFallBackFactory implements FallbackFactory { + + /** + * 降级处理对象 + */ + private GovAccessFeignClientFallBack fallBack = new GovAccessFeignClientFallBack(); + + @Override + public GovAccessFeignClient create(Throwable cause) { + log.error(ExceptionUtils.getThrowableErrorStackTrace(cause)); + return fallBack; + } +}