Erstellen eines neuen Spring Cloud Clients

Möchte man die Einstellungen eines Projektes nicht über Konfigurationsdateien (application.yml, application.properties) definieren, bietet sich die Verwendung eines Configuration Service an (Spring Cloud Config Server).

Hierzu sind nur geringfügige Änderungen am Client-Projekt notwendig.

  1. Die POM muss um folgende Einträge ergänzt werden:
    <dependencyManagement>
      <dependencies>
        <dependency>
          <groupId>org.springframework.cloud</groupId>
          <artifactId>spring-cloud-starter-parent</artifactId>
          <version>1.0.0.RELEASE</version>
          <type>pom</type>
          <scope>import</scope>
        </dependency>
      </dependencies>
    </dependencyManagement>

    und

    <dependency>
      <groupId>org.springframework.cloud</groupId>
      <artifactId>spring-cloud-starter</artifactId>
    </dependency>

    und um den Spring Boot Actuator, falls dieser noch fehlt:

    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-actuator</artifactId>
    </dependency>
  2. In den src/main/resources muss eine bootstrap.yml angelegt werden:
    spring:
      profiles:
        active: qa
      application:
        name: foo
      cloud:
        config:
          uri: http://localhost:13001
          failFast: true
          
    endpoints:
      restart:
        enabled: true

    In dieser werden das aktive Spring-Profile (spring.profiles.active), der Name der Applikation (spring.application.name, wichtig!) und die URL des Spring Cloud Config Servers (spring.cloud.config.uri) angegeben.
    Wenn man möchte, kann auch die Möglichkeit aktiviert werden, die Konfiguration während des laufenden Betriebs zu ändern (endpoint.restart.enabled = true). Hierdurch wird allerdings der gesamte Application Context erneut geladen. Dies kann insbesondere bei geöffneten Resourcen (Dateien, Datenbanken) zu Problemen führen. Für diesen Fall sollten Application-Events und -Listener (Spring Boot Reference Guide) eingesetzt werden!

  3. Die Konfigurationsdaten müssen in GIT aufgenommen werden. Hierzu sollte eine Datei <projektname>.yml dem GIT-Verzeichnis hinzugefügt werden, die die Einstellungen enthält. Neben den Default-Einstellungen können hier auch für jedes Spring-Profile entsprechende Werte aufgenommen werden.

Nach der Durchführung dieser 3 Schritte stehen beim nächsten Start des Webservice die Konfigurationsdaten aus dem GIT zur Verfügung.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.