Skip to main content

Architecture

Thin service: api (DeadLetterAdminController), application (DeadLetterAdminService), infrastructure (OutboxRelayPoller, archival, health). Claim and publish logic lives in shared-outbox (OutboxRelayEngine).

Controllers validate and map HTTP. Use cases own transactions and business rules. Domain types do not import Spring Data or HTTP clients. Infrastructure implements ports (JDBC, Redis, HTTP).

Use cases​

  • DeadLetterAdminService — list and replay dead letters.

Local run: ./gradlew run task for this service from splick-backend (see the service README and Makefile targets such as runAuth). The relay must be running before you expect downstream side effects.