2

I'm trying to use Symfony Messenger in a project which does not use whole Symfony Framework.

I achieved creating a message, routing it to my handler and getting the result back with following code:

<?php

require 'vendor/autoload.php';

class MyMessage
{
    public $message;
}

class MyMessageHandler implements \Symfony\Component\Messenger\Handler\MessageHandlerInterface
{
    public function __invoke(MyMessage $message)
    {
        return [
            'success' => true,
            'message' => $message,
        ];
    }
}

$myMessageHandler = new MyMessageHandler();

$bus = new \Symfony\Component\Messenger\MessageBus([
    new \Symfony\Component\Messenger\Middleware\HandleMessageMiddleware(
        new \Symfony\Component\Messenger\Handler\HandlersLocator([
            MyMessage::class => [$myMessageHandler]
        ])
    )
]);

$message1 = new MyMessage();
$message1->message = 'Sample message';
$envelope = $bus->dispatch($message1);
$stamp = $envelope->last(\Symfony\Component\Messenger\Stamp\HandledStamp::class);
$result = $stamp->getResult();
dump($result);

But i can't find the way to add AMQP Transport to this config for sending my commands to RabbitMQ.

How can i do this? Thanks.

4

0 回答 0