Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Rabbitmq Bundle Laravel Package

wanupsml/rabbitmq-bundle

A PHP bundle for integrating RabbitMQ messaging into your application. It provides configuration and service wiring for connections, exchanges, and queues, helping you publish and consume messages with less boilerplate in Symfony-style projects.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Architecture fit. The first thing to flag is a category mismatch: despite being scoped here as a "Laravel/PHP package," wanupsml/rabbitmq-bundle is a Symfony2 bundle, not a Laravel package. It provides a bundle class, DI extension, and configuration tree intended to be registered in AppKernel. Laravel's service container, config repository, and package discovery mechanism have no equivalent hook for a Symfony bundle, so it cannot be composer required into a Laravel app and "just work." If the target stack is Laravel, architectural fit is effectively zero without an adapter layer. If the target stack is a legacy Symfony 2.x application, the fit is plausible but only because this is a re-published fork of the long-standing php-amqplib/RabbitMqBundle (historically oldsound/videlalvaro) under a different vendor namespace. That provenance matters more than the code itself.

Integration feasibility. Feasible only under narrow conditions: an existing Symfony 2.0–2.8 (or possibly 3.x) codebase, a php-amqplib version compatible with the bundle's constraints, and a team willing to own the fork. For anything greenfield, the effort is misallocated — the same functionality is available from the upstream package with actual maintainers. The bundle's value-add over raw php-amqplib is configuration-driven producer/consumer wiring and console commands; that is convenience, not capability, and it can be reproduced in a modern stack in a few hundred lines.

Technical risk. High, and concentrated in supply chain rather than runtime behavior:

Risk Severity Rationale
Abandonment High 0 stars, 0 dependents, single-vendor namespace — no external users to surface bugs or fund fixes
EOL platform High Symfony 2 reached end-of-life in 2018; no security patches, incompatible with modern PHP
Fork divergence Medium–High Unknown whether patches were applied on top of upstream or whether it is a stale snapshot
Namespace collision Medium Running both this and php-amqplib/RabbitMqBundle risks duplicate service IDs and config keys
Auditability Medium Zero community scrutiny; no issue history, no CI badge, no release cadence evidence

The honest read: this is almost certainly an internal artifact published to Packagist for a specific organization's deployment convenience, not a general-purpose dependency. Treating it as a public library would be a misreading.

Key questions for the maintainer/requestor.

  1. Why does this fork exist — did upstream reject a patch, or is this a pinned snapshot for reproducibility?
  2. What is the diff against php-amqplib/RabbitMqBundle at the point of forking, and has it been rebased since?
  3. Who owns the fork, and what is the commitment to security backports?
  4. Is the consuming application Symfony 2 or Laravel? (The answer changes the entire integration plan.)
  5. What PHP and php-amqplib versions are actually supported and tested?

Integration Approach

Stack fit. Recommend rejecting this package for any Laravel target and substituting a maintained alternative: vladimir-yuldashev/laravel-queue-rabbitmq for queue-driver usage, or php-amqplib/php-amqplib directly for bespoke producer/consumer work. For a genuine Symfony 2 legacy app, the correct dependency is the upstream php-amqplib/rabbitmq-bundle, not this fork, unless question 1 above surfaces a hard requirement.

Migration path. If the fork is already in production somewhere, the path is: (a) inventory every service ID and config key the bundle exposes; (b) diff against upstream; (c) swap the Composer requirement to upstream and re-run the suite; (d) for Laravel targets, reimplement the producer/consumer wiring against the queue driver and translate the existing rabbitmq: config block into config/queue.php connections. Budget the diff step as the real unknown — it is the only place the fork could carry behavior you actually depend on.

Compatibility. Verify PHP constraint against your runtime (Symfony 2 bundles typically cap at PHP 7.x), php-amqplib major version, and AMQP protocol expectations of the broker. Modern RabbitMQ (3.13+/4.x) has removed or deprecated several features older clients assume; test against the exact broker version in your environment, not a laptop default.

Sequencing.

  1. Confirm the consuming application's framework — this gates everything else.
  2. If Laravel: spike the maintained alternative in a branch; do not attempt bundle integration.
  3. If Symfony 2: evaluate upstream replacement first; adopt the fork only with a documented justification and a named internal owner.
  4. Stand up a broker in staging, validate publish/consume/ack/nack and reconnect behavior.
  5. Only then remove the fork from composer.json, running the integration suite between each step.

Operational Impact

Maintenance. You inherit it. There is no upstream to merge from unless you re-establish a relationship with php-amqplib/RabbitMqBundle. Every future PHP upgrade, php-amqplib security release, and broker protocol change becomes your team's ticket. For a package of this size the code burden is small, but the attention burden is not — it is a permanent line item on someone's roadmap with no external leverage.

Support. None. No issue tracker activity, no maintainer response expectation, no CVE feed. Incident response will be entirely internal, which is acceptable for a small internal fork and unacceptable for anything customer-facing or regulated.

Scaling. The bundle itself does not constrain throughput meaningfully — php-amqplib is a synchronous, blocking client, so consumer concurrency is a function of process count (Supervisor/systemd), prefetch tuning, and broker topology. The operational ceiling is the same as any PHP AMQP consumer: one blocking connection per worker, so plan for horizontal worker scaling and idempotent message handling rather than expecting the bundle to help.

Failure modes. Expect the classic set: connection drops mid-consume with unacked messages requeued, poison messages cycling without a dead-letter queue, prefetch_count misconfiguration causing unfair dispatch, and blocking publishes under broker backpressure stalling request threads. The bundle's reconnect handling is the specific thing to test — older AMQP wrappers often reconnect the socket without re-declaring topology, producing silent publish failures. Ensure DLQs, publisher confirms, and consumer timeouts are configured explicitly rather than relying on defaults.

Ramp-up. Two separate costs. On a Laravel team, the Symfony bundle idioms (DI extension, service tags, config tree) are unfamiliar and there is no documentation beyond the upstream README. On a Symfony 2 team, the framework knowledge itself is increasingly scarce — hiring and onboarding against an EOL framework is a compounding tax. Either way, budget a week of spike work before committing, and treat "we will just vendor it" as a decision that needs an explicit owner and a review date, not a default.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
uni-method/symfony-lib
tacticmedia/scim-server-bundle
neika-ai/symfony-bundle
mattleads/agent-publishing-bundle
glavweb/framework-bundle
glavweb/extra-bundle
glavweb/api-bundle
glavweb/admin-bundle
adachsoft/api-version-bundle
elsayed85/laravel-api-exceptions
ouhssini/laravel-demo-mode
daworks/ncloud-outbound-mailer-driver
gp247/cms
ignibyte/aic-gates
nexa-merchant/blog
novasa/laravel-language-center
opencage/geocode
adolfoholzer/parameters
livenetworks/ln-starter
shitoudev/permissionmanager