Register the messenger data collector only when the profiler is enabled
This commit is contained in:
parent
92a22b02d3
commit
bd3a66bc59
@ -52,5 +52,9 @@
|
||||
<tag name="kernel.event_listener" event="kernel.controller" method="onKernelController"/>
|
||||
<tag name="data_collector" template="@WebProfiler/Collector/router.html.twig" id="router" priority="285" />
|
||||
</service>
|
||||
|
||||
<service id="data_collector.messenger" class="Symfony\Component\Messenger\DataCollector\MessengerDataCollector">
|
||||
<tag name="data_collector" template="@WebProfiler/Collector/messenger.html.twig" id="messenger" priority="100" />
|
||||
</service>
|
||||
</services>
|
||||
</container>
|
||||
|
@ -34,17 +34,13 @@
|
||||
<argument type="service" id="validator" />
|
||||
</service>
|
||||
|
||||
<!-- Logging & Debug -->
|
||||
<!-- Logging -->
|
||||
<service id="messenger.middleware.logging" class="Symfony\Component\Messenger\Middleware\LoggingMiddleware" abstract="true">
|
||||
<argument type="service" id="logger" />
|
||||
|
||||
<tag name="monolog.logger" channel="messenger" />
|
||||
</service>
|
||||
|
||||
<service id="messenger.data_collector" class="Symfony\Component\Messenger\DataCollector\MessengerDataCollector">
|
||||
<tag name="data_collector" template="@WebProfiler/Collector/messenger.html.twig" id="messenger" priority="100" />
|
||||
</service>
|
||||
|
||||
<!-- Discovery -->
|
||||
<service id="messenger.receiver_locator">
|
||||
<tag name="container.service_locator" />
|
||||
|
@ -64,7 +64,7 @@ class MessengerPass implements CompilerPassInterface
|
||||
$container->getParameterBag()->remove($busMiddlewareParameter);
|
||||
}
|
||||
|
||||
if ($container->hasDefinition('messenger.data_collector')) {
|
||||
if ($container->hasDefinition('data_collector.messenger')) {
|
||||
$this->registerBusToCollector($container, $busId);
|
||||
}
|
||||
}
|
||||
@ -276,7 +276,7 @@ class MessengerPass implements CompilerPassInterface
|
||||
(new Definition(TraceableMessageBus::class, array(new Reference($tracedBusId.'.inner'))))->setDecoratedService($busId)
|
||||
);
|
||||
|
||||
$container->getDefinition('messenger.data_collector')->addMethodCall('registerBus', array($busId, new Reference($tracedBusId)));
|
||||
$container->getDefinition('data_collector.messenger')->addMethodCall('registerBus', array($busId, new Reference($tracedBusId)));
|
||||
}
|
||||
|
||||
private function registerBusMiddleware(ContainerBuilder $container, string $busId, array $middlewareCollection)
|
||||
|
@ -435,14 +435,14 @@ class MessengerPassTest extends TestCase
|
||||
$dataCollector = $this->getMockBuilder(MessengerDataCollector::class)->getMock();
|
||||
|
||||
$container = $this->getContainerBuilder($fooBusId = 'messenger.bus.foo');
|
||||
$container->register('messenger.data_collector', $dataCollector);
|
||||
$container->register('data_collector.messenger', $dataCollector);
|
||||
$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->assertEquals(array(array('registerBus', array($fooBusId, new Reference($debuggedFooBusId)))), $container->getDefinition('messenger.data_collector')->getMethodCalls());
|
||||
$this->assertEquals(array(array('registerBus', array($fooBusId, new Reference($debuggedFooBusId)))), $container->getDefinition('data_collector.messenger')->getMethodCalls());
|
||||
}
|
||||
|
||||
public function testRegistersMiddlewareFromServices()
|
||||
|
Reference in New Issue
Block a user