Download the PHP package micro-module/outbox-bundle without Composer
On this page you can find all versions of the php package micro-module/outbox-bundle. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Table of contents
Download micro-module/outbox-bundle
More information about micro-module/outbox-bundle
Files in micro-module/outbox-bundle
Download micro-module/outbox-bundle
More information about micro-module/outbox-bundle
Files in micro-module/outbox-bundle
Vendor micro-module
Package outbox-bundle
Short Description Transactional Outbox Pattern bundle for reliable event delivery in event-sourced systems
License proprietary
Package outbox-bundle
Short Description Transactional Outbox Pattern bundle for reliable event delivery in event-sourced systems
License proprietary
Please rate this library. Is it a good library?
Informations about the package outbox-bundle
MicroModule Outbox Bundle
Transactional Outbox Pattern bundle for reliable event delivery in event-sourced Symfony applications.
Features
- Transactional Outbox: Domain events and task commands are written to an outbox table within the same database transaction, then published asynchronously
- Broadway Integration: Optional EventStore decorator that automatically captures events to the outbox
- Dual Publishers: Separate EventPublisher (RabbitMQ) and TaskPublisher with a unified OutboxPublisher orchestrator
- OpenTelemetry Metrics: Optional counters, histograms, and gauges for outbox operations
- Feature Flag: Runtime toggle via
OUTBOX_ENABLEDenvironment variable - Console Commands: Background publisher poller and cleanup for expired entries
- DDD Layering: Clean Domain/Infrastructure separation with interfaces
Architecture
Installation
Register the bundle in config/bundles.php:
Configuration
Database Schema
The outbox table must be created via migration:
Console Commands
Key Classes
| Class | Purpose |
|---|---|
OutboxBundle |
Symfony AbstractBundle with conditional loading |
OutboxEntryInterface |
Domain contract for outbox entries |
OutboxRepositoryInterface |
Domain contract for persistence |
DbalOutboxRepository |
DBAL implementation of outbox storage |
OutboxAwareEventStore |
Broadway EventStore decorator (captures events to outbox) |
OutboxAwareTaskProducer |
Task producer that writes to outbox instead of direct queue |
OutboxPublisher |
Orchestrates EventPublisher + TaskPublisher |
EventPublisher |
Publishes domain events to RabbitMQ |
TaskPublisher |
Publishes task commands to task queue |
OutboxFeatureFlag |
Runtime toggle via OUTBOX_ENABLED env var |
OpenTelemetryOutboxMetrics |
OTel counters/histograms for monitoring |
NullOutboxMetrics |
No-op metrics (default when OTel disabled) |
Optional Dependencies
| Package | Purpose |
|---|---|
broadway/broadway |
Required for OutboxAwareEventStore and BroadwayDomainEventSerializer |
micro-module/enqueue |
Required for EventPublisher (RabbitMQ queue publishing) |
open-telemetry/sdk |
Required for OpenTelemetryOutboxMetrics |
Requirements
- PHP 8.4+
- Symfony 7.0+ or 8.0+
- Doctrine DBAL 4.4+
License
Proprietary
All versions of outbox-bundle with dependencies
PHP Build Version
Package Version
Requires
php Version
^8.4
broadway/broadway Version ^3.0
doctrine/dbal Version ^4.4
micro-module/saga Version ^0.7
psr/log Version ^2.0 || ^3.0
ramsey/uuid Version ^4.0
symfony/config Version ^7.0 || ^8.0
symfony/console Version ^7.0 || ^8.0
symfony/dependency-injection Version ^7.0 || ^8.0
symfony/http-kernel Version ^7.0 || ^8.0
broadway/broadway Version ^3.0
doctrine/dbal Version ^4.4
micro-module/saga Version ^0.7
psr/log Version ^2.0 || ^3.0
ramsey/uuid Version ^4.0
symfony/config Version ^7.0 || ^8.0
symfony/console Version ^7.0 || ^8.0
symfony/dependency-injection Version ^7.0 || ^8.0
symfony/http-kernel Version ^7.0 || ^8.0
The package micro-module/outbox-bundle contains the following files
Loading the files please wait ...