The outbox pattern requires two essential components:
- application-side code that writes code to the outbox table
- CDC that captures the outbox table and routes the events to Kafka topics
The original blog post described a PoC-level implementation of both components. The second part has been covered in Debezium by means of the outbox event router SMT by now. For the first part, we should provide ready-to-use application-focused components (libaries) that allow to write outbox events using Spring, CDI etc. Let's start with an extension for Quarkus which essentially provides the custom code from the original blog post.