Со временем капли воды и камни изнашиваются 😄
предисловие
В использованииNacosПо прошествии некоторого времени из-за частого выпуска услуг, но не зная последнего времени выпуска этой услуги, неясно, является ли это последней версией. Руководители думают, как это можно сделать? Потом, раз у лидеров есть потребности, то и нам, ребятам, приходится это делать.
окончательные визуализации
Выложи фото окончательного рендера первым!
процесс развития
Мы видим, что перед началом разработки в метаданных есть данные по умолчанию. По умолчанию:preserved.register.source=SPRING_CLOUD
Где настроена эта конфигурация по умолчанию? Конфигурация находится вNacosDiscoveryPropertiesизinitметод!Из приведенного выше рисунка мы можем знать, что
metadataСтруктура данных — карта.
private Map<String, String> metadata = new HashMap();
Тогда давайте посмотримNacosDiscoveryPropertiesДобрый. Из названия класса мы знаем, что этоNacos注册中心класс конфигурации. (Не по теме: Тогда мы можем предположить, что должен быть другойNacosConfigPropertiesДобрый. в видеNacos配置中心класс конфигурации.видеть это
@ConfigurationProperties("spring.cloud.nacos.discovery") Думаете это не просто? Начать! ! !
spring:
application:
name: naocs-service
profiles:
active: dev
cloud:
nacos:
config:
group: ${spring.profiles.active}
file-extension: yaml
server-addr: 127.0.0.1:8848
prefix: ${spring.application.name}
discovery:
server-addr: 127.0.0.1:8848
group: ${spring.profiles.active}
metadata:
version: 1.0.0
desc: 开发的小喽啰
существуетdiscoveryдобавить под узелmetadataинтерфейс. Затем запустите проект, перейдите вNacosизСведения об услугесписок для просмотра.Увидев этот результат, я немного обрадовался. Но потом я узнал, как получить текущее время в файле конфигурации? ? ? Способ еще есть! Мы видели
NacosDiscoveryPropertiesРядом с ним есть маленькая кнопка, нажмите зеленую кнопку.
Затем вы увидите этот фрагмент кода:
@Bean
@ConditionalOnMissingBean
public NacosDiscoveryProperties nacosProperties() {
return new NacosDiscoveryProperties();
}
@BeanПримечания не объясняют.
@ConditionalOnMissingBeanАннотация означает: когда помеченный bean-компонент не существует, создается экземпляр текущего bean-компонента. Это означает, что мне просто нужно предоставить этоNacosDiscoveryPropertiesобъект Бин,SpringBootбудет использоватьNacosDiscoveryPropertiesБобовый объект.
Добавьте следующий код в класс запуска.Конечно, вы можете создать класс конфигурации самостоятельно, если он может быть просканирован.
@Bean
public NacosDiscoveryProperties nacosProperties() {
NacosDiscoveryProperties nacosDiscoveryProperties = new NacosDiscoveryProperties();
Map<String, String> metadata = nacosDiscoveryProperties.getMetadata();
metadata.put("startup.time", new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")
.format(new Date()));
return nacosDiscoveryProperties;
}
Затем запустите проект и просмотрите метаданные службы.
Так рада видеть результаты! Лидеры довольны, и я тоже.
- Если у вас есть какие-либо вопросы по этой статье или есть ошибки в этой статье, пожалуйста, оставьте комментарий. Если вы считаете, что эта статья была вам полезна, ставьте лайк и подписывайтесь на нее.