-
import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.autoconfigure.AutoConfigureBefore; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.cloud.alibaba.nacos.ConditionalOnNacosDiscoveryEnabled; import org.springframework.cloud.alibaba.nacos.NacosDiscoveryProperties; import org.springframework.cloud.alibaba.nacos.discovery.NacosDiscoveryClient; import org.springframework.cloud.alibaba.nacos.discovery.NacosWatch; import org.springframework.cloud.client.CommonsClientAutoConfiguration; import org.springframework.cloud.client.discovery.DiscoveryClient; import org.springframework.cloud.client.discovery.simple.SimpleDiscoveryClientAutoConfiguration; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import java.text.SimpleDateFormat; import java.util.Date; import java.util.HashMap; /** * nacos客户端注册至服务端时,更改服务详情中的元数据,元数据显示服务注册时间 */ @Configuration @ConditionalOnNacosDiscoveryEnabled @AutoConfigureBefore({SimpleDiscoveryClientAutoConfiguration.class, CommonsClientAutoConfiguration.class}) public class NacosDiscoveryClientAutoConfiguration { @Value("${spring.profiles.active}") public String profile; public NacosDiscoveryClientAutoConfiguration() { } @Bean @ConditionalOnMissingBean public NacosDiscoveryProperties nacosProperties() { return new NacosDiscoveryProperties(); } @Bean public DiscoveryClient nacosDiscoveryClient(NacosDiscoveryProperties discoveryProperties) { return new NacosDiscoveryClient(discoveryProperties); } @Bean @ConditionalOnMissingBean @ConditionalOnProperty(value = {"spring.cloud.nacos.discovery.watch.enabled"}, matchIfMissing = true) public NacosWatch nacosWatch(NacosDiscoveryProperties nacosDiscoveryProperties) { //原来的元数据全部清空 nacosDiscoveryProperties.setMetadata(new HashMap<>()); //更改服务详情中的元数据,增加服务注册时间 nacosDiscoveryProperties.getMetadata().put("startup.time",new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date())); nacosDiscoveryProperties.getMetadata().put("spring.profiles.active",profile); return new NacosWatch(nacosDiscoveryProperties); } }启动nacos客户端后,服务端查看客户端注册详情如下图:
-

-
nacos的依赖版本为0.2.2
-
<!-- nacos --> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId> <version>0.2.2.RELEASE</version> </dependency>
nacos客户端注册至服务端时,设置服务详情中的元数据。
最新推荐文章于 2024-12-10 21:50:00 发布
1388

被折叠的 条评论
为什么被折叠?



