From 6ba7329b2a3cd48dec462ec80ac812d9fba45c90 Mon Sep 17 00:00:00 2001 From: lbw Date: Sat, 25 Jun 2022 12:23:12 +0800 Subject: [PATCH] =?UTF-8?q?:sparkles:=20Introducing=20new=20features.=20fe?= =?UTF-8?q?ign=20=E6=B3=A8=E5=85=A5=E6=94=AF=E6=8C=81=E5=8D=95=E4=BD=93?= =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E9=80=9A=E8=BF=87=20127.0.0.1=20=E5=9B=9E?= =?UTF-8?q?=E8=B7=AF=E4=BD=BF=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/core/constant/ServiceNameConstants.java | 5 ----- .../cloud/openfeign/PigxFeignClientsRegistrar.java | 14 ++++++++++++-- 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/pigx-common/pigx-common-core/src/main/java/com/pig4cloud/pigx/common/core/constant/ServiceNameConstants.java b/pigx-common/pigx-common-core/src/main/java/com/pig4cloud/pigx/common/core/constant/ServiceNameConstants.java index cf1747e88..ff006a16a 100644 --- a/pigx-common/pigx-common-core/src/main/java/com/pig4cloud/pigx/common/core/constant/ServiceNameConstants.java +++ b/pigx-common/pigx-common-core/src/main/java/com/pig4cloud/pigx/common/core/constant/ServiceNameConstants.java @@ -25,11 +25,6 @@ package com.pig4cloud.pigx.common.core.constant; */ public interface ServiceNameConstants { - /** - * BASE 路径 - */ - String BASE_URL = "http://127.0.0.1:${server.port}${server.servlet.context-path}"; - /** * 认证中心 */ diff --git a/pigx-common/pigx-common-feign/src/main/java/org/springframework/cloud/openfeign/PigxFeignClientsRegistrar.java b/pigx-common/pigx-common-feign/src/main/java/org/springframework/cloud/openfeign/PigxFeignClientsRegistrar.java index b6187cd55..fc224a285 100644 --- a/pigx-common/pigx-common-feign/src/main/java/org/springframework/cloud/openfeign/PigxFeignClientsRegistrar.java +++ b/pigx-common/pigx-common-feign/src/main/java/org/springframework/cloud/openfeign/PigxFeignClientsRegistrar.java @@ -33,6 +33,7 @@ import org.springframework.core.env.Environment; import org.springframework.core.io.support.SpringFactoriesLoader; import org.springframework.core.type.AnnotationMetadata; import org.springframework.lang.Nullable; +import org.springframework.util.ClassUtils; import org.springframework.util.StringUtils; import java.util.List; @@ -47,6 +48,8 @@ import java.util.Map; public class PigxFeignClientsRegistrar implements ImportBeanDefinitionRegistrar, BeanClassLoaderAware, EnvironmentAware { + private final static String BASE_URL = "http://127.0.0.1:${server.port}${server.servlet.context-path}"; + @Getter private ClassLoader beanClassLoader; @@ -181,7 +184,14 @@ public class PigxFeignClientsRegistrar } private String getUrl(Map attributes) { - String url = resolve((String) attributes.get("url")); + // 如果是单体项目自动注入 & url 为空 + String url = (String) attributes.get("url"); + boolean present = ClassUtils.isPresent("com.alibaba.cloud.nacos.discovery.NacosDiscoveryClient", + this.getClass().getClassLoader()); + if (!StringUtils.hasText(url) && !present) { + url = resolve(BASE_URL); + } + return FeignClientsRegistrar.getUrl(url); } @@ -238,4 +248,4 @@ public class PigxFeignClientsRegistrar this.environment = environment; } -} \ No newline at end of file +}