Publishing and Outbox
Summary
Recruitment and Employee stage mapped contracts in the same local save as aggregate changes. Only Recruitment registers a hosted relay in the inspected startup code.
Audience
Backend engineers, SRE/operations reviewers, integration engineers, QA, and architects.
Reference Content
Outbox structure
The shared entity tracks message/event identity, event type, serialized content, occurrence and processing time, status, retry count, failure detail, optional correlation/tenant metadata and source. Sensitive serialized content is not reproduced.
Save boundary
Domain-event mapping occurs before the owning EF save, so aggregate changes and newly staged outbox entries share the local transaction.
Relay status
- Recruitment: outbox store, shared processor and hosted relay are registered.
- Employee: outbox store and processor are registered, but no Employee hosted relay registration was found.
- Compatibility: its integration outbox is used for Expense events, not onboarding/offboarding.
- Cleanup, maximum retry, dead-lettering and replay tooling were not found.
Requires confirmation
Unless explicitly confirmed above, live delivery, consumer deployment, replay, reconciliation, retention, contract governance, monitoring and production ownership require confirmation.
Source References
microservices/src/shared-kernel/Outbox/OutboxMessage.csmicroservices/src/shared-kernel/Outbox/IntegrationEventJsonSerializer.csmicroservices/src/shared-kernel/Messaging/OutboxProcessor.csmicroservices/src/recruitment-service/Messaging/OutboxRelayHostedService.csmicroservices/src/employee-service/Program.cs
Related Articles
See Also
Keywords
- Onboarding events
- Offboarding events
- Integration contracts
Revision Information
- Status: Draft
- Last reviewed: 2026-07-20
- Review cycle: Quarterly