Nacos: список метаданных сведений об услуге увеличивает время выпуска услуги

Java задняя часть

Со временем капли воды и камни изнашиваются 😄

предисловие

В использованииNacosПо прошествии некоторого времени из-за частого выпуска услуг, но не зная последнего времени выпуска этой услуги, неясно, является ли это последней версией. Руководители думают, как это можно сделать? Потом, раз у лидеров есть потребности, то и нам, ребятам, приходится это делать.

окончательные визуализации

Выложи фото окончательного рендера первым!image.png

процесс развития

Мы видим, что перед началом разработки в метаданных есть данные по умолчанию. По умолчанию:preserved.register.source=SPRING_CLOUD image.png

Где настроена эта конфигурация по умолчанию? Конфигурация находится вNacosDiscoveryPropertiesизinitметод!image.pngИз приведенного выше рисунка мы можем знать, чтоmetadataСтруктура данных — карта.

private Map<String, String> metadata = new HashMap();

Тогда давайте посмотримNacosDiscoveryPropertiesДобрый. Из названия класса мы знаем, что этоNacos注册中心класс конфигурации. (Не по теме: Тогда мы можем предположить, что должен быть другойNacosConfigPropertiesДобрый. в видеNacos配置中心класс конфигурации.image.pngвидеть это@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изСведения об услугесписок для просмотра.image.pngУвидев этот результат, я немного обрадовался. Но потом я узнал, как получить текущее время в файле конфигурации? ? ? Способ еще есть! Мы виделиNacosDiscoveryPropertiesРядом с ним есть маленькая кнопка, нажмите зеленую кнопку.

image.pngЗатем вы увидите этот фрагмент кода:

@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;
}

Затем запустите проект и просмотрите метаданные службы.

image.pngТак рада видеть результаты! Лидеры довольны, и я тоже.

  • Если у вас есть какие-либо вопросы по этой статье или есть ошибки в этой статье, пожалуйста, оставьте комментарий. Если вы считаете, что эта статья была вам полезна, ставьте лайк и подписывайтесь на нее.