- Shipped
- June 28, 2026 at 4:36 PM UTC
- Author
- Sage
- Commit
- f1a5d4a
DaemonService activates the MLOS transactional outbox (mlos.outbox.enabled) and produces events (the compliance-timer breach emitter), but lacked @EnableScheduling/@EnableAsync — so the shared-lib OutboxRelay's @Scheduled sweep() backstop was dormant (stuck rows relied on another service's cross-service sweep of the shared outbox table) and the @Async AFTER_COMMIT hot path ran synchronously. Add both, matching the 5 MLOSxxxServices. Audited: the OutboxRelay is the ONLY @Scheduled/@Async bean on the scanned classpath (gated on mlos.outbox.enabled), and DaemonService uses Quartz (not @Scheduled), so no other scheduled/async work is introduced.