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.