refactoring(Gateway Health Indicator implementieren)

TODO-Roadmap.md
1.2 Health Check Verbesserungen
This commit is contained in:
stefan
2025-08-14 13:54:06 +02:00
parent d937e82d2b
commit eeda3b7ac2
13 changed files with 1537 additions and 13972 deletions
+24 -8
View File
@@ -7,9 +7,21 @@ plugins {
alias(libs.plugins.spring.dependencyManagement)
}
// Konfiguriert die Hauptklasse für das ausführbare JAR.
// Konfiguriert die Hauptklasse für das ausführbare JAR und Build-Informationen.
springBoot {
mainClass.set("at.mocode.infrastructure.gateway.GatewayApplicationKt")
buildInfo()
}
// Optimiert Kotlin-Compiler-Einstellungen für bessere Performance.
tasks.withType<org.jetbrains.kotlin.gradle.tasks.KotlinCompile> {
compilerOptions {
freeCompilerArgs.addAll(
"-Xjsr305=strict",
"-opt-in=kotlin.RequiresOptIn"
)
jvmTarget.set(org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_21)
}
}
dependencies {
@@ -22,23 +34,27 @@ dependencies {
// Stellt die Spring Cloud Gateway und Consul Discovery Abhängigkeiten bereit
implementation(libs.bundles.spring.cloud.gateway)
// Circuit Breaker (Resilience4j) für Gateway Filter
implementation("org.springframework.cloud:spring-cloud-starter-circuitbreaker-reactor-resilience4j")
// Reaktiver Webserver (Netty)
implementation("org.springframework.boot:spring-boot-starter-webflux")
// Circuit Breaker (Resilience4j) für Gateway Filter - optimiert mit libs reference
implementation(libs.resilience4j.spring.boot3)
implementation(libs.resilience4j.reactor)
implementation(libs.spring.boot.starter.aop) // Benötigt für Resilience4j AOP
// Reaktiver Webserver (Netty) - now properly referenced from libs
implementation(libs.spring.boot.starter.webflux)
// Spring Security (WebFlux) benötigt für SecurityWebFilterChain-Konfiguration
implementation("org.springframework.boot:spring-boot-starter-security")
implementation(libs.spring.boot.starter.security)
// Bindet die wiederverwendbare Logik zur JWT-Validierung ein.
implementation(projects.infrastructure.auth.authClient)
// Bindet die wiederverwendbare Logik für Metriken und Tracing ein.
implementation(projects.infrastructure.monitoring.monitoringClient)
// Explizite Actuator-Abhängigkeit für Health Indicators (benötigt für GatewayHealthIndicator)
// Obwohl bereits im monitoring-client Bundle, wird durch 'implementation' nicht transitiv verfügbar
implementation(libs.spring.boot.starter.actuator)
// Stellt alle Test-Abhängigkeiten gebündelt bereit.
testImplementation(projects.platform.platformTesting)
testImplementation(libs.bundles.testing.jvm)
// Security im Testkontext redundant aber ok
testImplementation(libs.spring.boot.starter.security)
// Redundante Security-Abhängigkeit im Testkontext entfernt (bereits durch platform-testing abgedeckt)
}