The original reason why we did this was so that we could export "generic JSON",
in case we wanted other workers to consume the messages, no matter if they used
Symfony, PHP or any other programming language and technology. However, this is
not the common use case and it was complicating things unnecessarily.

In Symfony 4.3, we fixed this problem by switching the serialization to a new
class called PhpSerializer which uses PHP's native serialize() and
unserialize() to serialize messages to a transport.

If you want to keep using the previous JSON serializer (or your own custom
serializer service) configure it as follows:

1
2
3
4
5
6

# config/packages/messenger.yamlframework:messenger:serializer:# ID of the service to use to serialize messagesid:'messenger.transport.symfony_serializer'