Skip to content

Commit c7a0045

Browse files
[FrameworkBundle][Messenger] Remove convention-based service id generation for buses
1 parent bad5680 commit c7a0045

File tree

6 files changed

+21
-26
lines changed

6 files changed

+21
-26
lines changed

src/Symfony/Bundle/FrameworkBundle/DependencyInjection/FrameworkExtension.php

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1468,23 +1468,21 @@ private function registerMessengerConfiguration(array $config, ContainerBuilder
14681468
throw new LogicException(sprintf('You need to define a default bus with the "default_bus" configuration. Possible values: %s', implode(', ', array_keys($config['buses']))));
14691469
}
14701470

1471-
$config['default_bus'] = array_keys($config['buses'])[0];
1471+
$config['default_bus'] = key($config['buses']);
14721472
}
14731473

14741474
$defaultMiddlewares = array('before' => array('logging'), 'after' => array('route_messages', 'call_message_handler'));
1475-
foreach ($config['buses'] as $name => $bus) {
1476-
$busId = 'messenger.bus.'.$name;
1477-
1475+
foreach ($config['buses'] as $busId => $bus) {
14781476
$middlewares = $bus['default_middlewares'] ? array_merge($defaultMiddlewares['before'], $bus['middlewares'], $defaultMiddlewares['after']) : $bus['middlewares'];
14791477

14801478
if (!$validationConfig['enabled'] && \in_array('messenger.middleware.validation', $middlewares, true)) {
14811479
throw new LogicException('The Validation middleware is only available when the Validator component is installed and enabled. Try running "composer require symfony/validator".');
14821480
}
14831481

14841482
$container->setParameter($busId.'.middlewares', $middlewares);
1485-
$container->setDefinition($busId, (new Definition(MessageBus::class, array(array())))->addTag('messenger.bus', array('name' => $name)));
1483+
$container->setDefinition($busId, (new Definition(MessageBus::class, array(array())))->addTag('messenger.bus'));
14861484

1487-
if ($name === $config['default_bus']) {
1485+
if ($busId === $config['default_bus']) {
14881486
$container->setAlias('message_bus', $busId);
14891487
$container->setAlias(MessageBusInterface::class, $busId);
14901488
}

src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/Fixtures/php/messenger_multiple_buses.php

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,15 @@
22

33
$container->loadFromExtension('framework', array(
44
'messenger' => array(
5-
'default_bus' => 'commands',
5+
'default_bus' => 'messenger.bus.commands',
66
'buses' => array(
7-
'commands' => null,
8-
'events' => array(
7+
'messenger.bus.commands' => null,
8+
'messenger.bus.events' => array(
99
'middlewares' => array(
1010
'tolerate_no_handler',
1111
),
1212
),
13-
'queries' => array(
13+
'messenger.bus.queries' => array(
1414
'default_middlewares' => false,
1515
'middlewares' => array(
1616
'route_messages',

src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/Fixtures/xml/messenger_multiple_buses.xml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,12 @@
66
http://symfony.com/schema/dic/symfony http://symfony.com/schema/dic/symfony/symfony-1.0.xsd">
77

88
<framework:config>
9-
<framework:messenger default-bus="commands">
10-
<framework:bus name="commands" />
11-
<framework:bus name="events">
9+
<framework:messenger default-bus="messenger.bus.commands">
10+
<framework:bus name="messenger.bus.commands" />
11+
<framework:bus name="messenger.bus.events">
1212
<framework:middleware>tolerate_no_handler</framework:middleware>
1313
</framework:bus>
14-
<framework:bus name="queries" default-middlewares="false">
14+
<framework:bus name="messenger.bus.queries" default-middlewares="false">
1515
<framework:middleware>route_messages</framework:middleware>
1616
<framework:middleware>tolerate_no_handler</framework:middleware>
1717
<framework:middleware>call_message_handler</framework:middleware>

src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/Fixtures/yml/messenger_multiple_buses.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
framework:
22
messenger:
3-
default_bus: commands
3+
default_bus: messenger.bus.commands
44
buses:
5-
commands: ~
6-
events:
5+
messenger.bus.commands: ~
6+
messenger.bus.events:
77
middlewares:
88
- "tolerate_no_handler"
9-
queries:
9+
messenger.bus.queries:
1010
default_middlewares: false
1111
middlewares:
1212
- "route_messages"

src/Symfony/Component/Messenger/DependencyInjection/MessengerPass.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -197,7 +197,7 @@ private function registerBusToCollector(ContainerBuilder $container, string $bus
197197
(new Definition(TraceableMessageBus::class, array(new Reference($tracedBusId.'.inner'))))->setDecoratedService($busId)
198198
);
199199

200-
$container->getDefinition('messenger.data_collector')->addMethodCall('registerBus', array($tag['name'] ?? $busId, new Reference($tracedBusId)));
200+
$container->getDefinition('messenger.data_collector')->addMethodCall('registerBus', array($busId, new Reference($tracedBusId)));
201201
}
202202

203203
private function registerBusMiddlewares(ContainerBuilder $container, string $busId, array $middlewares)

src/Symfony/Component/Messenger/Tests/DependencyInjection/MessengerPassTest.php

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -247,23 +247,20 @@ public function testRegistersTraceableBusesToCollector()
247247

248248
$container = $this->getContainerBuilder();
249249
$container->register('messenger.data_collector', $dataCollector);
250-
$container->register($fooBusId = 'messenger.bus.foo', MessageBusInterface::class)->addTag('messenger.bus', array('name' => 'foo'));
251-
$container->register($barBusId = 'messenger.bus.bar', MessageBusInterface::class)->addTag('messenger.bus');
250+
$container->register($fooBusId = 'messenger.bus.foo', MessageBusInterface::class)->addTag('messenger.bus');
252251
$container->setParameter('kernel.debug', true);
253252

254253
(new MessengerPass())->process($container);
255254

256255
$this->assertTrue($container->hasDefinition($debuggedFooBusId = 'debug.traced.'.$fooBusId));
257256
$this->assertSame(array($fooBusId, null, 0), $container->getDefinition($debuggedFooBusId)->getDecoratedService());
258-
$this->assertTrue($container->hasDefinition($debuggedBarBusId = 'debug.traced.'.$barBusId));
259-
$this->assertSame(array($barBusId, null, 0), $container->getDefinition($debuggedBarBusId)->getDecoratedService());
260-
$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());
257+
$this->assertEquals(array(array('registerBus', array($fooBusId, new Reference($debuggedFooBusId)))), $container->getDefinition('messenger.data_collector')->getMethodCalls());
261258
}
262259

263260
public function testRegistersMiddlewaresFromServices()
264261
{
265262
$container = $this->getContainerBuilder();
266-
$container->register($fooBusId = 'messenger.bus.foo', MessageBusInterface::class)->setArgument(0, array())->addTag('messenger.bus', array('name' => 'foo'));
263+
$container->register($fooBusId = 'messenger.bus.foo', MessageBusInterface::class)->setArgument(0, array())->addTag('messenger.bus');
267264
$container->register('messenger.middleware.allow_no_handler', AllowNoHandlerMiddleware::class)->setAbstract(true);
268265
$container->register(UselessMiddleware::class, UselessMiddleware::class);
269266

@@ -283,7 +280,7 @@ public function testRegistersMiddlewaresFromServices()
283280
public function testCannotRegistersAnUndefinedMiddleware()
284281
{
285282
$container = $this->getContainerBuilder();
286-
$container->register($fooBusId = 'messenger.bus.foo', MessageBusInterface::class)->setArgument(0, array())->addTag('messenger.bus', array('name' => 'foo'));
283+
$container->register($fooBusId = 'messenger.bus.foo', MessageBusInterface::class)->setArgument(0, array())->addTag('messenger.bus');
287284
$container->setParameter($middlewaresParameter = $fooBusId.'.middlewares', array('not_defined_middleware'));
288285

289286
(new MessengerPass())->process($container);

0 commit comments

Comments
 (0)