What problem does it solve?
It solves the problem of building dependable event streaming in Spring Boot by handling producer/consumer wiring, message reliability, retries, and dead-letter routing so that asynchronous processing doesn’t silently lose or corrupt work.
Core Features & Use Cases
- Producer publishing with reliability: Configure Kafka producers with idempotence, acknowledgements, and structured send patterns for publishing domain events.
- Consumer processing with safe acknowledgement: Implement @KafkaListener consumers with manual ack so messages are only acknowledged after successful processing.
- Retry + dead-letter topics (DLT): Add robust error handling using exponential backoff retries and automatic routing to a .DLT topic for non-retryable failures.
- Testcontainers-based Kafka integration tests: Run Kafka-based tests with embedded/containerized Kafka to validate end-to-end behavior.
- Schema evolution guidance (Avro-ready model patterns): Support versioned event records and consumer tolerance rules for evolving schemas over time.
Quick Start
Use the spring-kafka skill to generate a producer and a @KafkaListener consumer for an event like OrderPlaced, including manual acknowledgements, retry/backoff error handling, and dead-letter topic configuration.