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

Jms Messenger Adapter Laravel Package

kunicmarko/jms-messenger-adapter

A Symfony Messenger adapter that lets JMS Serializer handle your message serialization, replacing the default PHP serializer so messages can travel as JSON, XML, or other JMS-supported formats with full metadata and type handling support.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Serialization strategy across sync and async boundaries. The package's only job is to let JMS Serializer handle message payloads on Symfony Messenger transports. The decision it informs: should the serializer that governs your HTTP/API contract also govern what lands on the queue?
  • Build vs. buy for glue code. The deliverable is effectively a thin SerializerInterface implementation plus service wiring — roughly two classes. That makes this a "do we take a dependency or write 50 lines?" decision, not a vendor evaluation.
  • Consistency vs. decoupling of the messaging layer. JMS brings metadata-driven behavior (naming strategies, exclusion policies, version annotations, serialization groups). The alternative is Symfony Messenger's default PhpSerializer or Symfony Serializer — simpler, less coupled, less capable.
  • Roadmap scoping. This is a Symfony Messenger adapter, not a Laravel queue component. If the roadmap is Laravel-native, the package is out of scope and its main value is as a prior-art reference if you ever evaluate a Messenger bridge.
  • Feature use cases it unlocks: message versioning across rolling deploys, typed/snake_case JSON for cross-language consumers, and DTOs reused identically between synchronous API responses and queued messages.

When to Consider This Package

Consider it only when all of the following hold:

  • You already run Symfony Messenger in production, not Laravel queues.
  • You already standardize on JMS Serializer for HTTP payloads — consistency is the entire value proposition; without it there is no reason to be here.
  • You specifically need JMS behavior (groups, version exclusion, naming strategies) preserved on the wire for queued messages.
  • You are willing to vendor and own the code: MIT licensed, archived, no maintainer.

Look elsewhere when:

  • You're on Laravel. This does not apply. Use Laravel's native job serialization, or a spatie/laravel-data-based custom serializer if you need typed payloads.
  • You need maintenance or security patching. Archived since June 2021, 9 stars, 0 dependents — no community validation, no support path, and Symfony 6/7 and JMS Serializer v3/v4 compatibility is unverified.
  • Plain JSON is sufficient. Messenger's built-in Symfony Serializer covers this with zero extra dependencies.
  • You need schema contracts and consumer-side evolution guarantees. Protobuf, Avro, or JSON Schema solve that problem; a serializer adapter does not.

How to Pitch It (Stakeholders)

To executives: Do not adopt this as a dependency. It is an archived, single-maintainer adapter from 2021 with no downstream users — the risk profile is poor for the value delivered. The capability itself is small and reproducible in-house, so frame the decision as a low-effort internal build task rather than a vendor commitment: no license cost, no procurement, no long-term maintenance exposure. The low composite score reflects the artifact's staleness, not the idea; the underlying need (consistent serialization across API and queue) is legitimate and worth a spike.

To engineering: If you're on Symfony Messenger and already using JMS, treat this repository as a reference implementation — copy the MIT-licensed adapter into your codebase, pin it against current Symfony and JMS Serializer versions, and add tests around message versioning and naming strategy. If you're on Laravel, close the ticket: wrong ecosystem, and the default serialization story is sufficient until you have a concrete, demonstrated schema-evolution requirement that justifies custom serializer work.

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.
elmogy/larafast
xeviant/laravel-paystack
gorilladash/laravel-website-sdk
martialbe/flysystem-oss
chondal/3312client
jeroen-g/flickr
opscale-co/nova-genbi
itsjustvita/laravel-retention
tequilarapido/trackit
gregsphotography/site-builder-filament
cabaoctavio/laravel-query-log
gregsphotography/site-builder-components
io-digital/clickatell
snowsoft/laravel-admin
oxygen/auth
relicsoftware/barakah-payment-gateway
tobya/work-with-composer
equipc/laravel-email-validator
equipc/laravel-email-database-log
adedsec/nova-translated-labels