一、该问题的重现步骤是什么?
nacos中配置文件的分组名称不是默认值,nacos版本1.3.2,尝试了加namespace和不加,都是一样
启动任意工程,无法获取nacos中配置文件的属性,具体错误看最后一图(使用默认分组名称DEFAULT_GROUP没有问题)
设置了 GROUP 的名称,前面两个依然是默认的 DEFAULT_GROUP,导致无法获取配置
二、你期待的结果是什么?实际看到的又是什么?
希望通过属性注入或者配置能覆盖默认值,也就是改掉上图红框中的值
三、你正在使用的是什么产品,什么版本?在什么操作系统上?
bladex商业版,2.6.0,windows 10
四、请提供详细的错误堆栈信息,这很重要。
五、若有更多详细信息,请在下面提供。
blade.yaml和blade-dev.yaml是通过spring.cloud.nacos.config.shared-dataids来配置的,优先级最低,属于DEFAULT_GROUP
而例如blade-auth.yaml、blade-auth-dev.yaml是与服务名绑定的配置,可以通过配置group来指定
如果你需要blade.yaml和blade-dev.yaml也可以指定group,那可以通过如下配置实现
PropsUtil.setProperty(props, "spring.cloud.nacos.config.ext-config[0].data-id", NacosConstant.dataId("blade", profile));
PropsUtil.setProperty(props, "spring.cloud.nacos.config.ext-config[0].group", NacosConstant.NACOS_CONFIG_GROUP);
PropsUtil.setProperty(props, "spring.cloud.nacos.config.ext-config[0].refresh", NacosConstant.NACOS_CONFIG_REFRESH);
@AutoService(LauncherService.class)
public class DemoLauncherServiceImpl implements LauncherService {
@Override
public void launcher(SpringApplicationBuilder builder, String appName, String profile, boolean isLocalDev) {
Properties props = System.getProperties();
PropsUtil.setProperty(props, "spring.cloud.nacos.config.ext-config[0].data-id", NacosConstant.dataId("blade", profile));
PropsUtil.setProperty(props, "spring.cloud.nacos.config.ext-config[0].group", NacosConstant.NACOS_CONFIG_GROUP);
PropsUtil.setProperty(props, "spring.cloud.nacos.config.ext-config[0].refresh", NacosConstant.NACOS_CONFIG_REFRESH);
PropsUtil.setProperty(props, "spring.cloud.nacos.config.namespace", LauncherConstant.NACOS_NAMESPACE);
PropsUtil.setProperty(props, "spring.cloud.nacos.discovery.namespace", LauncherConstant.NACOS_NAMESPACE);
PropsUtil.setProperty(props, "spring.cloud.nacos.config.group", NacosConstant.NACOS_CONFIG_GROUP);
PropsUtil.setProperty(props, "spring.cloud.nacos.discovery.group", NacosConstant.NACOS_CONFIG_GROUP);
}
@Override
public int getOrder() {
return 20;
}
}
稳!
扫一扫访问 Blade技术社区 移动端