|
81 | 81 | use Symfony\Component\Mailer\Bridge\Postmark\Transport\PostmarkTransportFactory;
|
82 | 82 | use Symfony\Component\Mailer\Bridge\Sendgrid\Transport\SendgridTransportFactory;
|
83 | 83 | use Symfony\Component\Mailer\Mailer;
|
| 84 | +use Symfony\Component\Messenger\Bridge\AmazonSqs\Transport\AmazonSqsTransportFactory; |
84 | 85 | use Symfony\Component\Messenger\Bridge\Amqp\Transport\AmqpTransportFactory;
|
85 | 86 | use Symfony\Component\Messenger\Bridge\Redis\Transport\RedisTransportFactory;
|
86 | 87 | use Symfony\Component\Messenger\Handler\MessageHandlerInterface;
|
@@ -321,14 +322,24 @@ public function load(array $configs, ContainerBuilder $container)
|
321 | 322 | $container->removeDefinition('console.command.messenger_failed_messages_remove');
|
322 | 323 | $container->removeDefinition('cache.messenger.restart_workers_signal');
|
323 | 324 |
|
324 |
| - if ($container->hasDefinition('messenger.transport.amqp.factory') && class_exists(AmqpTransportFactory::class)) { |
325 |
| - $container->getDefinition('messenger.transport.amqp.factory') |
326 |
| - ->addTag('messenger.transport_factory'); |
| 325 | + if ($container->hasDefinition('messenger.transport.amqp.factory') && !class_exists(AmqpTransportFactory::class)) { |
| 326 | + if (class_exists(\Symfony\Component\Messenger\Transport\AmqpExt\AmqpTransportFactory::class)) { |
| 327 | + $container->getDefinition('messenger.transport.amqp.factory') |
| 328 | + ->setClass(\Symfony\Component\Messenger\Transport\AmqpExt\AmqpTransportFactory::class) |
| 329 | + ->addTag('messenger.transport_factory'); |
| 330 | + } else { |
| 331 | + $container->removeDefinition('messenger.transport.amqp.factory'); |
| 332 | + } |
327 | 333 | }
|
328 | 334 |
|
329 |
| - if ($container->hasDefinition('messenger.transport.redis.factory') && class_exists(RedisTransportFactory::class)) { |
330 |
| - $container->getDefinition('messenger.transport.redis.factory') |
331 |
| - ->addTag('messenger.transport_factory'); |
| 335 | + if ($container->hasDefinition('messenger.transport.redis.factory') && !class_exists(RedisTransportFactory::class)) { |
| 336 | + if (class_exists(\Symfony\Component\Messenger\Transport\RedisExt\RedisTransportFactory::class)) { |
| 337 | + $container->getDefinition('messenger.transport.redis.factory') |
| 338 | + ->setClass(\Symfony\Component\Messenger\Transport\RedisExt\RedisTransportFactory::class) |
| 339 | + ->addTag('messenger.transport_factory'); |
| 340 | + } else { |
| 341 | + $container->removeDefinition('messenger.transport.redis.factory'); |
| 342 | + } |
332 | 343 | }
|
333 | 344 | }
|
334 | 345 |
|
@@ -1615,6 +1626,10 @@ private function registerMessengerConfiguration(array $config, ContainerBuilder
|
1615 | 1626 | $container->getDefinition('messenger.transport.redis.factory')->addTag('messenger.transport_factory');
|
1616 | 1627 | }
|
1617 | 1628 |
|
| 1629 | + if (class_exists(AmazonSqsTransportFactory::class)) { |
| 1630 | + $container->getDefinition('messenger.transport.sqs.factory')->addTag('messenger.transport_factory'); |
| 1631 | + } |
| 1632 | + |
1618 | 1633 | if (null === $config['default_bus'] && 1 === \count($config['buses'])) {
|
1619 | 1634 | $config['default_bus'] = key($config['buses']);
|
1620 | 1635 | }
|
@@ -1672,6 +1687,7 @@ private function registerMessengerConfiguration(array $config, ContainerBuilder
|
1672 | 1687 | $container->removeDefinition('messenger.transport.symfony_serializer');
|
1673 | 1688 | $container->removeDefinition('messenger.transport.amqp.factory');
|
1674 | 1689 | $container->removeDefinition('messenger.transport.redis.factory');
|
| 1690 | + $container->removeDefinition('messenger.transport.sqs.factory'); |
1675 | 1691 | } else {
|
1676 | 1692 | $container->getDefinition('messenger.transport.symfony_serializer')
|
1677 | 1693 | ->replaceArgument(1, $config['serializer']['symfony_serializer']['format'])
|
|
0 commit comments