Клиент Spring Cloud Config отключает проверку работоспособности базы данных

Я запускаю приложение spring.boot, которое извлекает конфигурацию с сервера конфигурации spring-cloud. Приложение довольно простое, API для отдыха, который обращается к базе данных Oracle. В контексте приложения есть источник данных Oracle, заключенный в пул Hihari.

При запуске /actuator/health проверка работоспособности БД не запускается. Выход:

{
  status: "UP",
  components: {
    clientConfigServer: {
      status: "UP",
      details: {
        propertySources: [
          "configClient",
          "/var/git-repo/xxx/xxx-localhost.yml",
          "/var/git-repo/application-localhost.properties",
          "/var/git-repo/xxx/xxx.yml",
          "/var/git-repo/application.properties"
        ]
      }
    },
    discoveryComposite: {
      description: "Discovery Client not initialized",
      status: "UNKNOWN",
      components: {
        discoveryClient: {
          description: "Discovery Client not initialized",
          status: "UNKNOWN"
        }
      }
    },
    diskSpace: {
      status: "UP",
      details: {
        total: 1587526397952,
        free: 1272794873856,
        threshold: 10485760
      }
    },
    ping: {
      status: "UP"
    },
    refreshScope: {
      status: "UP"
    }
  }
}

Однако, если я отключу сервер конфигурации и вместо этого использую локальную конфигурацию через: spring.cloud.config.enabled=false, вывод будет следующим:

{
  status: "UP",
  components: {
    db: {
      status: "UP",
      details: {
        database: "Oracle",
        result: "Hello",
        validationQuery: "SELECT 'Hello' from DUAL"
      }
    },
    discoveryComposite: {
      description: "Discovery Client not initialized",
      status: "UNKNOWN",
      components: {
        discoveryClient: {
          description: "Discovery Client not initialized",
          status: "UNKNOWN"
        }
      }
    },
    diskSpace: {
      status: "UP",
      details: {
        total: 1587526397952,
        free: 1272794869760,
        threshold: 10485760
      }
    },
    ping: {
      status: "UP"
    },
    refreshScope: {
      status: "UP"
    }
  }
}

Я уверен, что этому есть объяснение, но я не могу найти его, поэтому любая помощь будет оценена по достоинству.


person Rolf-Ulf Tvehågsen    schedule 27.03.2020    source источник
comment
подключение к самому конфигурационному серверу не имеет к этому никакого отношения. Я предполагаю, что в конфигурации сервера конфигурации есть что-то, что отключает его или отключает источник данных? Взгляните на /actuator/env после запуска приложения.   -  person spencergibb    schedule 27.03.2020


Ответы (1)


Оказалось, что Спенсергибб был абсолютно прав. В общие свойства application.properties кто-то добавил management.health.db.enabled=false лет пять назад. Тайна разгадана.

person Rolf-Ulf Tvehågsen    schedule 02.04.2020