From 03cd2c6bbab5924c6862519d5ff71670b46b1a0a Mon Sep 17 00:00:00 2001 From: wuhui Date: Mon, 30 Oct 2023 09:33:39 +0800 Subject: [PATCH] =?UTF-8?q?1=E3=80=81=E5=8E=BB=E6=8E=89DtpProperties?= =?UTF-8?q?=E9=87=8C=E9=9D=A2=E7=9A=84=E9=BB=98=E8=AE=A4configFileType?= =?UTF-8?q?=E5=80=BC=202=E3=80=81=E5=8F=96configFileType=E7=9A=84=E9=A1=BA?= =?UTF-8?q?=E5=BA=8F=E4=BF=AE=E6=94=B9=E4=B8=BAdtpProperties-->dataId?= =?UTF-8?q?=E5=90=8E=E7=BC=80-->=E9=BB=98=E8=AE=A4=E5=80=BCproperties?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/properties/DtpProperties.java | 2 +- .../nacos/refresher/NacosRefresher.java | 20 ++++++++++++++++++- 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/common/src/main/java/org/dromara/dynamictp/common/properties/DtpProperties.java b/common/src/main/java/org/dromara/dynamictp/common/properties/DtpProperties.java index fb54ddc3..c66d0c39 100644 --- a/common/src/main/java/org/dromara/dynamictp/common/properties/DtpProperties.java +++ b/common/src/main/java/org/dromara/dynamictp/common/properties/DtpProperties.java @@ -52,7 +52,7 @@ public class DtpProperties { /** * Config file type. */ - private String configType = "yml"; + private String configType; /** * If enabled metrics collect. diff --git a/starter/starter-configcenter/starter-nacos/src/main/java/org/dromara/dynamictp/starter/nacos/refresher/NacosRefresher.java b/starter/starter-configcenter/starter-nacos/src/main/java/org/dromara/dynamictp/starter/nacos/refresher/NacosRefresher.java index 1925a372..f860d162 100644 --- a/starter/starter-configcenter/starter-nacos/src/main/java/org/dromara/dynamictp/starter/nacos/refresher/NacosRefresher.java +++ b/starter/starter-configcenter/starter-nacos/src/main/java/org/dromara/dynamictp/starter/nacos/refresher/NacosRefresher.java @@ -17,6 +17,9 @@ package org.dromara.dynamictp.starter.nacos.refresher; +import cn.hutool.core.io.FileUtil; +import cn.hutool.core.util.ObjUtil; +import cn.hutool.core.util.StrUtil; import com.alibaba.nacos.api.annotation.NacosInjected; import com.alibaba.nacos.api.config.ConfigService; import com.alibaba.nacos.api.config.listener.Listener; @@ -53,7 +56,8 @@ public class NacosRefresher extends AbstractRefresher implements InitializingBea public void afterPropertiesSet() { DtpProperties.Nacos nacos = dtpProperties.getNacos(); - configFileType = NacosUtil.getConfigType(dtpProperties, ConfigFileTypeEnum.PROPERTIES); + ConfigFileTypeEnum deduceType = getConfigFileType(nacos.getDataId()); + configFileType = NacosUtil.getConfigType(dtpProperties, deduceType); String dataId = NacosUtil.deduceDataId(nacos, environment, configFileType); String group = NacosUtil.getGroup(nacos, "DEFAULT_GROUP"); @@ -65,6 +69,20 @@ public class NacosRefresher extends AbstractRefresher implements InitializingBea } } + /** + * 根据dataId后缀识别配置类型 + * @param dataId + * @return + */ + private ConfigFileTypeEnum getConfigFileType(String dataId) { + String suffix = FileUtil.getSuffix(dataId); + if (StrUtil.isBlank(suffix)) { + return ConfigFileTypeEnum.PROPERTIES; + } + return ConfigFileTypeEnum.of(suffix); + } + + @Override public Executor getExecutor() { return EXECUTOR; -- Gitee