#Devlog 01
what: BusForge, an ESB style integration hub. Java 21, Spring Boot 3, Apache Camel 4, Artemis, Postgres.
where we are now: orders flow in over REST, get validated, get routed by region to physically separated queues, get consumed exactly once, and failures land in a dead letter queue with a full autopsy attached.
Two nights of work on this ESB project: Night 1 was foundation — ADRs, C4 diagrams, a canonical XSD/JSON model, and a full docker-compose dev stack (Postgres, Artemis, Jaeger, Prometheus, Grafana, Toxiproxy, SFTP), plus a nasty Artemis-silently-drops-messages-at-90%-disk bug fixed. Night 2 got real messages flowing — JSON validated against the canonical schema, routed to orders.sg/orders.eu by topology (not just code filtering), with a shared retry/DLQ framework (4 retries + backoff, poison messages parked with full metadata) and idempotent exactly-once consumption proven by SIGKILL-ing Artemis mid-flight. Squashed a pile of small bugs along the way (JAXB↔JSON array mismatch, InOnly exchange pattern, MDC correlation id loss across threads, port conflicts, Testcontainers API version pin). Ended at 70 passing tests, 92–97.7% coverage, with night three queued up to build the fake legacy SOAP/OMS system
Comments 0
No comments yet. Be the first!
Sign in to join the conversation.