diff --git a/pigx-common/pigx-common-sentinel/src/main/java/com/pig4cloud/pigx/common/sentinel/PigxSentinelAutoConfiguration.java b/pigx-common/pigx-common-sentinel/src/main/java/com/pig4cloud/pigx/common/sentinel/PigxSentinelAutoConfiguration.java index 6bf549674..5913648e5 100755 --- a/pigx-common/pigx-common-sentinel/src/main/java/com/pig4cloud/pigx/common/sentinel/PigxSentinelAutoConfiguration.java +++ b/pigx-common/pigx-common-sentinel/src/main/java/com/pig4cloud/pigx/common/sentinel/PigxSentinelAutoConfiguration.java @@ -46,7 +46,7 @@ public class PigxSentinelAutoConfiguration { @Bean @Scope("prototype") @ConditionalOnMissingBean - @ConditionalOnProperty(name = "spring.cloud.openfeign.sentinel.enabled") + @ConditionalOnProperty(name = "spring.cloud.openfeign.sentinel.enabled",matchIfMissing = true) public Feign.Builder feignSentinelBuilder() { return PigxSentinelFeign.builder(); } diff --git a/pigx-common/pigx-common-sentinel/src/main/java/com/pig4cloud/pigx/common/sentinel/feign/PigxSentinelInvocationHandler.java b/pigx-common/pigx-common-sentinel/src/main/java/com/pig4cloud/pigx/common/sentinel/feign/PigxSentinelInvocationHandler.java index 8926d35ec..9ee305bbd 100644 --- a/pigx-common/pigx-common-sentinel/src/main/java/com/pig4cloud/pigx/common/sentinel/feign/PigxSentinelInvocationHandler.java +++ b/pigx-common/pigx-common-sentinel/src/main/java/com/pig4cloud/pigx/common/sentinel/feign/PigxSentinelInvocationHandler.java @@ -8,6 +8,7 @@ import com.alibaba.csp.sentinel.SphU; import com.alibaba.csp.sentinel.Tracer; import com.alibaba.csp.sentinel.context.ContextUtil; import com.alibaba.csp.sentinel.slots.block.BlockException; +import com.pig4cloud.pigx.common.core.util.R; import feign.Feign; import feign.InvocationHandlerFactory; import feign.MethodMetadata; @@ -118,6 +119,10 @@ public class PigxSentinelInvocationHandler implements InvocationHandler { throw new AssertionError(e.getCause()); } } + else if (R.class == method.getReturnType()) { + log.error("feign 服务间调用异常", ex); + return R.failed(ex.getLocalizedMessage()); + } else { throw ex; }