diff --git a/src/Symfony/Bundle/FrameworkBundle/DependencyInjection/FrameworkExtension.php b/src/Symfony/Bundle/FrameworkBundle/DependencyInjection/FrameworkExtension.php index 806d8d729b..d40658e808 100644 --- a/src/Symfony/Bundle/FrameworkBundle/DependencyInjection/FrameworkExtension.php +++ b/src/Symfony/Bundle/FrameworkBundle/DependencyInjection/FrameworkExtension.php @@ -1468,13 +1468,11 @@ class FrameworkExtension extends Extension throw new LogicException(sprintf('You need to define a default bus with the "default_bus" configuration. Possible values: %s', implode(', ', array_keys($config['buses'])))); } - $config['default_bus'] = array_keys($config['buses'])[0]; + $config['default_bus'] = key($config['buses']); } $defaultMiddlewares = array('before' => array('logging'), 'after' => array('route_messages', 'call_message_handler')); - foreach ($config['buses'] as $name => $bus) { - $busId = 'messenger.bus.'.$name; - + foreach ($config['buses'] as $busId => $bus) { $middlewares = $bus['default_middlewares'] ? array_merge($defaultMiddlewares['before'], $bus['middlewares'], $defaultMiddlewares['after']) : $bus['middlewares']; if (!$validationConfig['enabled'] && \in_array('messenger.middleware.validation', $middlewares, true)) { @@ -1482,9 +1480,9 @@ class FrameworkExtension extends Extension } $container->setParameter($busId.'.middlewares', $middlewares); - $container->setDefinition($busId, (new Definition(MessageBus::class, array(array())))->addTag('messenger.bus', array('name' => $name))); + $container->setDefinition($busId, (new Definition(MessageBus::class, array(array())))->addTag('messenger.bus')); - if ($name === $config['default_bus']) { + if ($busId === $config['default_bus']) { $container->setAlias('message_bus', $busId); $container->setAlias(MessageBusInterface::class, $busId); } diff --git a/src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/Fixtures/php/messenger_multiple_buses.php b/src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/Fixtures/php/messenger_multiple_buses.php index e376f1f8b5..cf72f26e47 100644 --- a/src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/Fixtures/php/messenger_multiple_buses.php +++ b/src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/Fixtures/php/messenger_multiple_buses.php @@ -2,15 +2,15 @@ $container->loadFromExtension('framework', array( 'messenger' => array( - 'default_bus' => 'commands', + 'default_bus' => 'messenger.bus.commands', 'buses' => array( - 'commands' => null, - 'events' => array( + 'messenger.bus.commands' => null, + 'messenger.bus.events' => array( 'middlewares' => array( 'tolerate_no_handler', ), ), - 'queries' => array( + 'messenger.bus.queries' => array( 'default_middlewares' => false, 'middlewares' => array( 'route_messages', diff --git a/src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/Fixtures/xml/messenger_multiple_buses.xml b/src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/Fixtures/xml/messenger_multiple_buses.xml index ce8fd202f5..9bf7d6e8bf 100644 --- a/src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/Fixtures/xml/messenger_multiple_buses.xml +++ b/src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/Fixtures/xml/messenger_multiple_buses.xml @@ -6,12 +6,12 @@ http://symfony.com/schema/dic/symfony http://symfony.com/schema/dic/symfony/symfony-1.0.xsd"> - - - + + + tolerate_no_handler - + route_messages tolerate_no_handler call_message_handler diff --git a/src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/Fixtures/yml/messenger_multiple_buses.yml b/src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/Fixtures/yml/messenger_multiple_buses.yml index 5a1305ed82..80e9944370 100644 --- a/src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/Fixtures/yml/messenger_multiple_buses.yml +++ b/src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/Fixtures/yml/messenger_multiple_buses.yml @@ -1,12 +1,12 @@ framework: messenger: - default_bus: commands + default_bus: messenger.bus.commands buses: - commands: ~ - events: + messenger.bus.commands: ~ + messenger.bus.events: middlewares: - "tolerate_no_handler" - queries: + messenger.bus.queries: default_middlewares: false middlewares: - "route_messages" diff --git a/src/Symfony/Component/Messenger/DependencyInjection/MessengerPass.php b/src/Symfony/Component/Messenger/DependencyInjection/MessengerPass.php index d34c8a3c12..2d6eb2f397 100644 --- a/src/Symfony/Component/Messenger/DependencyInjection/MessengerPass.php +++ b/src/Symfony/Component/Messenger/DependencyInjection/MessengerPass.php @@ -197,7 +197,7 @@ class MessengerPass implements CompilerPassInterface (new Definition(TraceableMessageBus::class, array(new Reference($tracedBusId.'.inner'))))->setDecoratedService($busId) ); - $container->getDefinition('messenger.data_collector')->addMethodCall('registerBus', array($tag['name'] ?? $busId, new Reference($tracedBusId))); + $container->getDefinition('messenger.data_collector')->addMethodCall('registerBus', array($busId, new Reference($tracedBusId))); } private function registerBusMiddlewares(ContainerBuilder $container, string $busId, array $middlewares) diff --git a/src/Symfony/Component/Messenger/Tests/DependencyInjection/MessengerPassTest.php b/src/Symfony/Component/Messenger/Tests/DependencyInjection/MessengerPassTest.php index b2ec984d0e..fa509c7174 100644 --- a/src/Symfony/Component/Messenger/Tests/DependencyInjection/MessengerPassTest.php +++ b/src/Symfony/Component/Messenger/Tests/DependencyInjection/MessengerPassTest.php @@ -247,23 +247,20 @@ class MessengerPassTest extends TestCase $container = $this->getContainerBuilder(); $container->register('messenger.data_collector', $dataCollector); - $container->register($fooBusId = 'messenger.bus.foo', MessageBusInterface::class)->addTag('messenger.bus', array('name' => 'foo')); - $container->register($barBusId = 'messenger.bus.bar', MessageBusInterface::class)->addTag('messenger.bus'); + $container->register($fooBusId = 'messenger.bus.foo', MessageBusInterface::class)->addTag('messenger.bus'); $container->setParameter('kernel.debug', true); (new MessengerPass())->process($container); $this->assertTrue($container->hasDefinition($debuggedFooBusId = 'debug.traced.'.$fooBusId)); $this->assertSame(array($fooBusId, null, 0), $container->getDefinition($debuggedFooBusId)->getDecoratedService()); - $this->assertTrue($container->hasDefinition($debuggedBarBusId = 'debug.traced.'.$barBusId)); - $this->assertSame(array($barBusId, null, 0), $container->getDefinition($debuggedBarBusId)->getDecoratedService()); - $this->assertEquals(array(array('registerBus', array('foo', new Reference($debuggedFooBusId))), array('registerBus', array('messenger.bus.bar', new Reference($debuggedBarBusId)))), $container->getDefinition('messenger.data_collector')->getMethodCalls()); + $this->assertEquals(array(array('registerBus', array($fooBusId, new Reference($debuggedFooBusId)))), $container->getDefinition('messenger.data_collector')->getMethodCalls()); } public function testRegistersMiddlewaresFromServices() { $container = $this->getContainerBuilder(); - $container->register($fooBusId = 'messenger.bus.foo', MessageBusInterface::class)->setArgument(0, array())->addTag('messenger.bus', array('name' => 'foo')); + $container->register($fooBusId = 'messenger.bus.foo', MessageBusInterface::class)->setArgument(0, array())->addTag('messenger.bus'); $container->register('messenger.middleware.allow_no_handler', AllowNoHandlerMiddleware::class)->setAbstract(true); $container->register(UselessMiddleware::class, UselessMiddleware::class); @@ -283,7 +280,7 @@ class MessengerPassTest extends TestCase public function testCannotRegistersAnUndefinedMiddleware() { $container = $this->getContainerBuilder(); - $container->register($fooBusId = 'messenger.bus.foo', MessageBusInterface::class)->setArgument(0, array())->addTag('messenger.bus', array('name' => 'foo')); + $container->register($fooBusId = 'messenger.bus.foo', MessageBusInterface::class)->setArgument(0, array())->addTag('messenger.bus'); $container->setParameter($middlewaresParameter = $fooBusId.'.middlewares', array('not_defined_middleware')); (new MessengerPass())->process($container);