Spring Cloud 项目下 Nacos 默认的元数据只有 比如:启动日期、文件版本号(因为打成 jar 包时 maven 插件会将文件名自动命名为 xxx-{version}.jar,所以这里是获取的 jar 文件路径)和 PID。 代码如下: Nacos 控制台的实例可以看到类似如下的元数据:preserved.register.source=SPRING_CLOUD
这一项,可以通过增加配置项手动添加想要的数据,方便追溯一些启动相关的信息。@Configuration
public class NacosConfig {
/**
* Nacos 元数据配置
*
* @return
*/
@Bean
@ConditionalOnNacosDiscoveryEnabled
public NacosDiscoveryProperties nacosDiscoveryProperties() {
NacosDiscoveryProperties nacosDiscoveryProperties = new NacosDiscoveryProperties();
Map<String, String> metadata = nacosDiscoveryProperties.getMetadata();
// 启动时间
metadata.put("boot.startup.time",
new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(System.currentTimeMillis()));
// 文件路径
// String.valueOf 代替 toString 避免空指针
metadata.put("boot.path", String.valueOf(new ApplicationHome(this.getClass()).getSource()));
// PID
metadata.put("boot.pid", new ApplicationPid().toString());
return nacosDiscoveryProperties;
}
}
boot.startup.time=2022-09-19 09:01:07
preserved.register.source=SPRING_CLOUD
boot.pid=1513
boot.path=/deploy/example-service-0.1.0.jar
· 转载请注明 https://kytrun.com/nacos-add-metadata/