Closed
Description
A lot of new things have happened in Messenger for 4.3. This is a meta issue to try to track then:
- New PHP Serializer introducing native php serialize() support for Messenger transport symfony#29958
- LoggingMiddleware is deprecated [Messenger] deprecate LoggingMiddleware in favor of providing a logger to SendMessageMiddleware symfony#30539
- new event dispatched when sending a message Dispatching two events when a message is sent & handled symfony#30650
- Better output when you run
messenger:consume
[Messenger] add welcome notice when running the command symfony#29303 - Command was renamed/shortened to
messenger:consume
Done in [Messenger] Rename the messenger:consume-messages command #11262 - MessageBus::dispatch() accepts Envelopes are 2nd arg [Messenger][DX] Allow stamps to be passed directly to MessageBusInterface::dispatch() symfony#30707
- Envelope 2nd constructor arg changed [Messenger][DX] Allow stamps to be passed directly to MessageBusInterface::dispatch() symfony#30707
- Command to setup transports [Messenger] Add a command to setup transports symfony#29476
- Retry support - [Messenger] Worker events + global retry functionality symfony#30557
- ReceiverInterface methods changed - [Messenger] Worker events + global retry functionality symfony#30557 and [Messenger] ReceiverInterface::handle() to get() & Worker with prioritized transports symfony#30708 - also a few behavioral things changed inside them
-
UnrecoverableMessageHandlingException
can be thrown in handler to fail and avoid retry - [Messenger] Worker events + global retry functionality symfony#30557 - Ability to dispatch a message from within a message and have it handled in a separate Doctrine transaction [Messenger] Support for handling messages after current bus is finished symfony#28849
- prefetching option Add optional parameter
prefetching
for AMQP connection symfony#30671 - New messenger:stop-workers Command [Messenger] New messenger:stop-workers Command symfony#30754
- New way to see size of messages in a transport [Messenger] Adding MessageCountAwareInterface to get transport message count symfony#30757
- New sync transport [Messenger] Adding the "sync" transport to call handlers synchronously symfony#30759
- Failed message handling [Messenger] Adding failure transport support symfony#30970
- multiple queues support for amqp with routing key - [messenger] Adds a stamp to provide a routing key on message publishing symfony#30008
- Allows to register handlers on a specific transport [Messenger] Allows to register handlers on a specific transport symfony#30958
- support for handling multiple transports in one worker in a prioritized way. See this comment and attached PR: [Messenger] ReceiverInterface::handle() to get() & Worker with prioritized transports symfony#30708 (comment)
- RoutableMessageBus route to default bus [Messenger] RoutableMessageBus route to default bus symfony#31288
- Doctrine ping connection middleware [BridgeDoctrineMessenger] Doctrine ping connection middleware symfony#31061
- Add WorkerStoppedEvent [Messenger] Add WorkerStoppedEvent symfony#31282
- New middleware (not important unless we're documenting all of them somewhere) - [Messenger] On failure retry, make message appear received from original sender symfony#31425 (there are also other new middleware, which hopefully are mentioned here)
-
send_and_handle
messenger routing got removed in favor of SyncTransport [Messenger] remove send_and_handle which can be achieved with SyncTransport symfony#31454