最近在做老系统升级(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);

}

}

}

看下效果:

参考链接

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: