Enterprise Claims & Customer Support LernportalProjekt
Runtime-Ziel

Migration auf Spring Boot und OpenShift

Der Spring-Boot-Service übernimmt den stabilisierten Kern und ergänzt Runtime, Persistenz, Messaging, REST, Observability und OpenShift-Betrieb. Der Legacy-Bridge-Endpunkt erlaubt eine schrittweise Strangler-Migration.

Spring Boot 3.5.16Java 17Produktivquellen kompilierenOpenShift
Migration Legacy zu Spring Boot

Runtime-Bausteine

REST Adapter

/api/v1/claims/{claimId}/decision ist der neue Vertrag. Validation und zentrale Fehlerabbildung liegen am Rand.

Legacy Bridge

/legacy-bridge/processClaimDecision erhält den alten Operationsnamen und delegiert an denselben Use Case.

JDBC + Flyway

Claims, Idempotency, Audit und Outbox sind explizit versioniert. Optimistic Locking schützt parallele Entscheidungen.

Transactional Outbox

Businesszustand und Event werden gemeinsam gespeichert; ein Scheduler publiziert anschließend per JMS.

Observability

Actuator-Probes und Prometheus-Endpunkt passen zu den OpenShift-Probes und ServiceMonitor-Ressourcen.

Teststrategie

Unit Test, ArchUnit, Testcontainers/PostgreSQL und JaCoCo-Gate von mindestens 80 Prozent sind im Maven-Build konfiguriert.

Spring-Boot-Projekt

spring-boot-claims-service ├── domain ├── application + focused ports ├── adapter │ ├── web │ ├── persistence │ ├── external │ └── messaging ├── db/migration/V1__claims_schema.sql ├── Containerfile └── openshift/base

pom.xmlProcessClaimService.javaOutboxPublisher.javaFlyway SQL

OpenShift-Betrieb

RessourceZweck
DeploymentNon-root, read-only root filesystem, Ressourcenlimits, Startup/Readiness/Liveness.
Service + RouteInterner Port und TLS-terminierte OpenShift Route.
HPA + PDBSkalierung und Verfügbarkeit bei Wartung.
NetworkPolicyExplizite Ingress-/Egress-Grenzen.
ServiceMonitorPrometheus-Scrape über Actuator.

Kustomization öffnen

Build und Start

# mit Maven und Internetzugriff
mvn clean verify
java -jar target/spring-boot-claims-service-39.0.0.jar

# OpenShift-Basis prüfen und anwenden
kustomize build openshift/base
oc apply -k openshift/base
Offline-Prüfung im ZIP: Da Maven-Abhängigkeiten in der isolierten Erstellungsumgebung nicht geladen werden konnten, wurden alle produktiven Java-17-Quellen mit passenden API-Verifikationsstubs kompiliert. Die Stubs liegen ausdrücklich außerhalb von src/main und werden nicht mit dem Maven-Artefakt ausgeliefert.
⌂ Cockpit