Die Eigenschaft spring.config.import aus application.properties wird nicht durch Umgebungsvariablen in der Spring Boot 3Java

Java-Forum
Guest
 Die Eigenschaft spring.config.import aus application.properties wird nicht durch Umgebungsvariablen in der Spring Boot 3

Post by Guest »

Ich habe das Projekt mit folgenden Microservices:
  • FE: Spring Boot 3-Anwendung, die dem Benutzer Informationen anzeigt
    BE: Spring Boot 3-Anwendung, die sich mit DB verbindet und Informationen an FE sendet
  • MySql : Datenbank, die Daten speichert
  • Config Sever: Spring Cloud-Anwendung, die speichert Dienstkonfigurationen auf Github
In FE- und BE-Diensten habe ich die Eigenschaft spring.config.import konfiguriert, mit der diese Dienste verbunden werden Konfigurationsserver. Zum Beispiel habe ich im BE-Projekt (springcloud-fe-thymeleaf-be-springboot-db-sql-mysql-config_BE) die folgende application.properties-Datei:

Code: Select all

# Port
server.port=8081

# Service Name
spring.application.name=be

# Config Server
spring.config.import=configserver:http://localhost:8888
Ich versuche, diese Eigenschaft in der Datei docker-compose.yaml (spring.config.import: configserver:http://config:8888) zu überschreiben ):

Code: Select all

be:
image: be-image:0.0.1
container_name: be-container
build:
context: ./springcloud-fe-thymeleaf-be-springboot-db-sql-mysql-config_BE
dockerfile: Dockerfile
depends_on:
config:
condition: service_healthy
ports:
- 8081:8081
environment:
spring.config.import: configserver:http://config:8888
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8081/actuator/health"]
interval: 10s
timeout: 10s
retries: 5
start_period: 10s
networks:
- helloworld-network
Ich führe Docker Compose mit dem folgenden Befehl aus:

Code: Select all

docker-compose up -d --build
Ich erhalte folgende Fehlermeldung im Docker-Desktop:

Code: Select all

2025-01-20 17:02:36 Caused by: org.springframework.web.client.ResourceAccessException: I/O error on GET request for "http://localhost:8888/be/default": Connection refused
2025-01-20 17:02:36     at org.springframework.web.client.RestTemplate.createResourceAccessException(RestTemplate.java:926)
2025-01-20 17:02:36     at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:906)
Es scheint, dass der BE-Dienst versucht, eine Verbindung zu localhost statt zum config-Dienst herzustellen. Dasselbe passiert mit dem FE-Dienst und den Docker- und Kubernetes-Umgebungseigenschaften.
Getestet am:
  • Java: 23
  • Spring Boot: 3.4.1
  • Spring Cloud: 2024.0.0
  • Mvn: 3.9.6
Link zum Github-Repository: https://github.com/wisniewskikr/chrisblog-it-cloud/ tree/main/spring-cloud/config/springcloud-fe-thymeleaf-be-springboot-db-sql-mysql-config
Irgendeine Idee, warum Eigenschaft spring.config.import wird nicht durch Umgebungsvariablen von Docker, Docker Compose oder Kubernetes überschrieben?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post