構成サーバーの埋め込み

構成サーバーは、スタンドアロンアプリケーションとして最適に実行されます。ただし、必要に応じて、別のアプリケーションに埋め込むことができます。これを行うには、@EnableConfigServer アノテーションを使用します。この場合、spring.cloud.config.server.bootstrap という名前のオプションのプロパティが役立ちます。これは、サーバーが独自のリモートリポジトリから自身を構成する必要があるかどうかを示すフラグです。デフォルトでは、起動が遅れる可能性があるため、フラグはオフになっています。ただし、別のアプリケーションに組み込む場合は、他のアプリケーションと同じ方法で初期化するのが理にかなっています。spring.cloud.config.server.bootstrap を true に設定する場合は、複合環境リポジトリ構成も使用する必要があります。たとえば

spring:
  application:
    name: configserver
  profiles:
    active: composite
  cloud:
    config:
      server:
        composite:
          - type: native
            search-locations: ${HOME}/Desktop/config
        bootstrap: true
ブートストラップフラグを使用する場合、構成サーバーの名前とリポジトリ URI を bootstrap.yml で構成する必要があります。

サーバーエンドポイントの場所を変更するには、(オプションで) spring.cloud.config.server.prefix (たとえば、/config)を設定して、プレフィックスでリソースを提供できます。プレフィックスは / で開始する必要がありますが、終了することはできません。これは、構成サーバーの @RequestMappings に適用されます(つまり、Spring Boot server.servletPath および server.contextPath プレフィックスの下)。

アプリケーションの構成を(構成サーバーからではなく)バックエンドリポジトリから直接読み取りたい場合は、基本的に、エンドポイントのない組み込み構成サーバーが必要です。@EnableConfigServer アノテーションを使用しないことでエンドポイントを完全にオフにすることができます(spring.cloud.config.server.bootstrap=true を設定)。