Чтение вложенного JSON в компонент Spring config из файла K8S ConfigMap

#java #spring-boot #kubernetes #config

#java #spring-загрузка #kubernetes #конфигурация

Вопрос:

У нас есть корпоративная настройка Kubernetes, на которой я развертываю приложение spring boot

Служба вводит ConfigMap в виде файла json в расположении — /etc/config/appConfig.json

Файл JSON выглядит следующим образом

 {
    "configResolution": {
      "resolved": {
        "groupid": "listener-consumerGrp",
        "topic": "Product"
      }
    }
 }
  

Я пытаюсь прочитать пары K-V для переменных в spring boot

 String groupid;
String topic
  

Нужна помощь в чтении с использованием Spring Cloud Kubernetes с обновлением 15 минут

Вот приложение.yml, я использовал

 spring:
  profiles: dev
  cloud:
    kubernetes:
      config:
        name: PLACEHOLDER-LISTENER
        namespace: team924
        enable-api: false
        paths:
          -/etc/config/appConfig.json
      reload:
        enabled: true
        mode: polling
        period: 150000
  

Любая помощь приветствуется

Комментарии:

1. не могли бы вы поделиться своим кодом конфигурации компонента? Как вы получаете к ним доступ, ваши компоненты должны быть помечены символом @ConfigurationProperties или @RefreshScope , чтобы перезагрузить их автоматически после заданного периода.

2. Вы пытались перенести свою конфигурацию из приложения. yml в bootstrap.yml? Некоторые свойства должны быть в bootstrap.yml, потому что он загружается до application.yml