Commit Graph

15 Commits

Author SHA1 Message Date
stefan 3b40cb9c45 optimierungen monitoring-Modul und messaging-Modul 2025-09-04 11:24:17 +02:00
stefan a33dd2c28a optimierungen monitoring-Modul und messaging-Modul 2025-09-04 11:20:40 +02:00
stefan 20788bde91 fixing(gradle) 2025-08-28 21:07:20 +02:00
stefan 8fd09a4aa1 fixing(gradle) 2025-08-25 21:15:25 +02:00
stefan 89ef9698af fixing(gradle) 2025-08-24 21:31:31 +02:00
stefan 1738e729d7 fixing(gradle) 2025-08-17 00:15:29 +02:00
stefan 69ca3faf91 refactoring(infra-messaging) 2025-08-15 22:35:13 +02:00
stefan f5ca0ddb16 fixing(infra-messaging) 2025-08-15 18:19:40 +02:00
stefan c67fe3004e fixing(infra-messaging) 2025-08-15 18:18:40 +02:00
stefan 846918cf69 fixing(infra-messaging) 2025-08-15 01:17:24 +02:00
stefan 562eb07be1 fixing(Gateway) 2025-08-13 14:18:59 +02:00
stefan a50b1b3822 feat(Tracer Bullet) 2025-08-11 23:47:05 +02:00
stefan 582678e226 refactor(infra-monitoring)
refactor(infra-gateway)
2025-08-11 14:32:01 +02:00
stefan d87a5a4a93 feat(infra-messaging): Implement fully reactive Kafka producer and consumer
This commit introduces a comprehensive refactoring of the messaging module to establish a fully reactive, non-blocking, and robust infrastructure for Kafka-based communication.

Features & Refinements
Reactive Publisher:

The KafkaEventPublisher has been refactored from a blocking implementation (KafkaTemplate) to a fully non-blocking, reactive one using Spring's ReactiveKafkaProducerTemplate.

The EventPublisher interface now returns reactive types (Mono, Flux) to reflect the asynchronous nature of the operations.

Reactive Consumer:

A new KafkaEventConsumer has been implemented, providing a standardized, reusable, and reactive way for services to consume events.

It encapsulates the complexity of reactor-kafka and exposes a simple receiveEvents<T>(topic) method that returns a Flux<T>.

Architectural Cleanup:

The Spring configuration has been split. The basic ProducerFactory and consumer properties reside in messaging-config, while the reactive-specific ReactiveKafkaProducerTemplate bean is now correctly located in messaging-client.

Testing
Added Kafka Integration Test: A new KafkaIntegrationTest has been created to ensure the reliability of the messaging infrastructure.

The test uses Testcontainers to spin up a real Apache Kafka broker for end-to-end validation.

Project Reactor's StepVerifier is used to test the reactive streams deterministically, avoiding flaky tests.

The test correctly manages the lifecycle of Kafka producers to ensure clean shutdown without hanging threads.

Bug Fixes
Resolved UninitializedPropertyAccessException in tests by making the KafkaConfig test-friendly.

Fixed IllegalStateException related to Testcontainers lifecycle by making the container a static resource.

Corrected compilation errors in tests related to resource cleanup by using the concrete DefaultKafkaProducerFactory type.
2025-08-10 00:02:59 +02:00
stefan a4c7d53aa3 refactor: Migrate from monolithic to modular architecture
### **Service-Implementation**
- [ ] **Tag 1**: Members-Service REST-API implementieren
- [ ] **Tag 2**: Database-Migrations und Repository-Layer
- [ ] **Tag 3**: Event-Publishing nach Kafka aktivieren
- [ ] **Tag 4**: Horses-Service analog implementieren
- [ ] **Tag 5**: Integration-Tests für beide Services
- [ ] **Tag 6-7**: Events-Service und Masterdata-Service
2025-07-24 17:18:22 +02:00