public class NacosRegistration implements Registration,ServiceInstance{
...
@PostConstruct
//读取开发人员在应用的配置文件中配置的元数据
Map<String,String> metadata = nacosDiscoveryProperties.getMetadata();
Environment env = context.getEnvironment();
String endpointBasePath = env.getProperty(MANAGEMENT_ENDPOINT_BASE_PATH);
if(!StringUtils.isEmpty(endpointBasePath)){
metadata.put(MANAGEMENT_ENDPOINT_BASE_PATH,endpointBasePath);
}
Integer management = ManagementServerPortUtils.getPort(context);
if(null != managementPort){
//端口号添加到Nacos元数据中
metadata.put(MANAGEMENT_PORT,managementPort.toString());
//上下文添加到元数据中
String contextPath.= env.getProperty("management.server.servlet.context-path");
String address = env.getProperty("management.server.address");
//全局上下文路径添加到Nacos元数据中
if(!StringUtils.isEmpty(contextPath)){
metadata.put(MANAGEMENT_CONTEXT_PATH,contextPath);
}
if(!StringUtils.isEmpty(address)){
metadata.put(MANAGEMENT_ADDRESS,address);
}
}
//心跳周期添加到Nacos元数据中
if(null != nacosDiscoveryProperties.getHeartBeatInterval((){
metadata.put(PreservedMetadataKeys.HEART_BEAT_INTERVAL,nacosDiscoveryProperties.getHeartBeatInterval().toString());
}
//心跳超时添加到元数据
if(null != nacosDiscoveryProperties.getHeartBeatTimeout()){
metadata.put(PreservedMetadataKeys.HEART_BEAT_TIMEOUT,nacosDiscoveryProperties.getHeartBeatTimeout().toString());
//删除ip地址的超时时间添加到nacos元数据中
if(null != nacosDiscoveryProperties.getIpDeleteTimeout()){
metadata.put(PreservedMetadataKeys.IP_DELETE_TIMEOUT,nacosDiscoveryProperties.getIpDeleteTimeout().toString());
customize(registrationCustomizers,this);
}
}
...
}
NacosRegistration类维护Nacos元数据代码逻辑
最新推荐文章于 2024-04-06 21:32:00 发布