Spring config config client отключает проверку работоспособности базы данных - PullRequest
0 голосов
/ 27 марта 2020

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

При запуске / actator / 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"
    }
  }
}

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

1 Ответ

0 голосов
/ 02 апреля 2020

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

...