Skip to content

Commit de18d0c

Browse files
committed
feature #35422 [Messenger] Move Transports to separate packages (Nyholm)
This PR was squashed before being merged into the 5.1-dev branch (closes #35422). Discussion ---------- [Messenger] Move Transports to separate packages | Q | A | ------------- | --- | Branch? | master | Bug fix? | no | New feature? | no | Deprecations? | no | Tickets | | License | MIT | Doc PR | coming I think it is a good idea to have the transports in a separate package. The benefits a many: - It allows us to have usage statistics - The core messenger package is smaller - Transports can have dependencies specified in composer.json instead of just suggests This PR will not break BC but it requires to configure subtree split. Commits ------- 2990c8f1e7 [Messenger] Move Transports to separate packages
2 parents 51ceb5d + af093f3 commit de18d0c

File tree

2 files changed

+20
-2
lines changed

2 files changed

+20
-2
lines changed

DependencyInjection/FrameworkExtension.php

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,8 @@
8181
use Symfony\Component\Mailer\Bridge\Postmark\Transport\PostmarkTransportFactory;
8282
use Symfony\Component\Mailer\Bridge\Sendgrid\Transport\SendgridTransportFactory;
8383
use Symfony\Component\Mailer\Mailer;
84+
use Symfony\Component\Messenger\Bridge\Amqp\Transport\AmqpTransportFactory;
85+
use Symfony\Component\Messenger\Bridge\Redis\Transport\RedisTransportFactory;
8486
use Symfony\Component\Messenger\Handler\MessageHandlerInterface;
8587
use Symfony\Component\Messenger\MessageBus;
8688
use Symfony\Component\Messenger\MessageBusInterface;
@@ -312,6 +314,22 @@ public function load(array $configs, ContainerBuilder $container)
312314
$container->removeDefinition('console.command.messenger_failed_messages_show');
313315
$container->removeDefinition('console.command.messenger_failed_messages_remove');
314316
$container->removeDefinition('cache.messenger.restart_workers_signal');
317+
318+
if ($container->hasDefinition('messenger.transport.amqp.factory') && !class_exists(AmqpTransportFactory::class)) {
319+
if (class_exists(\Symfony\Component\Messenger\Transport\AmqpExt\AmqpTransportFactory::class)) {
320+
$container->getDefinition('messenger.transport.amqp.factory')->setClass(\Symfony\Component\Messenger\Transport\AmqpExt\AmqpTransportFactory::class);
321+
} else {
322+
$container->removeDefinition('messenger.transport.amqp.factory');
323+
}
324+
}
325+
326+
if ($container->hasDefinition('messenger.transport.redis.factory') && !class_exists(RedisTransportFactory::class)) {
327+
if (class_exists(\Symfony\Component\Messenger\Transport\RedisExt\RedisTransportFactory::class)) {
328+
$container->getDefinition('messenger.transport.redis.factory')->setClass(\Symfony\Component\Messenger\Transport\RedisExt\RedisTransportFactory::class);
329+
} else {
330+
$container->removeDefinition('messenger.transport.redis.factory');
331+
}
332+
}
315333
}
316334

317335
if ($this->httpClientConfigEnabled = $this->isConfigEnabled($container, $config['http_client'])) {

Resources/config/messenger.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -67,11 +67,11 @@
6767
<argument type="tagged_iterator" tag="messenger.transport_factory" />
6868
</service>
6969

70-
<service id="messenger.transport.amqp.factory" class="Symfony\Component\Messenger\Transport\AmqpExt\AmqpTransportFactory">
70+
<service id="messenger.transport.amqp.factory" class="Symfony\Component\Messenger\Bridge\Amqp\Transport\AmqpTransportFactory">
7171
<tag name="messenger.transport_factory" />
7272
</service>
7373

74-
<service id="messenger.transport.redis.factory" class="Symfony\Component\Messenger\Transport\RedisExt\RedisTransportFactory">
74+
<service id="messenger.transport.redis.factory" class="Symfony\Component\Messenger\Bridge\Redis\Transport\RedisTransportFactory">
7575
<tag name="messenger.transport_factory" />
7676
</service>
7777

0 commit comments

Comments
 (0)