最近在做老系统升级(springboot2+dubbo2.7.1+zookeeper+nacos-config),去掉zookeeper的注册中心,替换成nacos2.1版本(阿里云已经不支持1.X版本了)-对应的需要升级springboot和dubbo3。最终升级完成了,其中遇到的诸多问题,能记住多少就总结多少
  有在升级过程中,遇到问题的小伙伴,欢迎交流。

问题:nacos2 订阅列表应用名unknown问题

直接上图
在这里插入图片描述
如果订阅者有多个,也只会显示一个unknown的应用名称,这样,搞不清楚究竟都有哪些订阅者

解决方案

在启动项目增加参数:-Dproject.name=“应用名称”

如果本地调试,可以在idea中增加vm选项:-Dproject.name=“应用名称”
如果启动,例如:java -jar xxxx-provider.jar -Dproject.name=“应用名称”

代码层面解决

import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.EnvironmentAware;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.env.Environment;

/**
 * @author weidong
 * @date 20230411
 * @description nacos消费应用名称配置
 */
@Configuration
public class ProjectNacosNameConfig implements EnvironmentAware {

    @Value("${spring.application.name}")
    private  String applicationName;

    @Override
    public void setEnvironment(Environment environment) {
        if(StringUtils.isBlank(System.getProperty("project.name"))){
            System.setProperty("project.name",applicationName);
        }
    }
}

看下效果:
在这里插入图片描述

更多推荐