[FrameworkBundle] Don't register MessengerDataCollector if messenger is not enabled

This commit is contained in:
Robin Chalas 2018-09-15 12:50:40 +02:00
parent ddde83cdd9
commit e64ceb5c13
3 changed files with 20 additions and 5 deletions

View File

@ -108,6 +108,7 @@ class FrameworkExtension extends Extension
private $sessionConfigEnabled = false;
private $annotationsConfigEnabled = false;
private $validatorConfigEnabled = false;
private $messengerConfigEnabled = false;
/**
* Responds to the app.config configuration parameter.
@ -269,7 +270,7 @@ class FrameworkExtension extends Extension
$this->registerLockConfiguration($config['lock'], $container, $loader);
}
if ($this->isConfigEnabled($container, $config['messenger'])) {
if ($this->messengerConfigEnabled = $this->isConfigEnabled($container, $config['messenger'])) {
$this->registerMessengerConfiguration($config['messenger'], $container, $loader, $config['serializer'], $config['validation']);
} else {
$container->removeDefinition('console.command.messenger_consume_messages');
@ -445,6 +446,10 @@ class FrameworkExtension extends Extension
$container->getDefinition('translator.data_collector')->setDecoratedService('translator');
}
if ($this->messengerConfigEnabled) {
$loader->load('messenger_debug.xml');
}
$container->setParameter('profiler_listener.only_exceptions', $config['only_exceptions']);
$container->setParameter('profiler_listener.only_master_requests', $config['only_master_requests']);

View File

@ -52,9 +52,5 @@
<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>

View File

@ -0,0 +1,14 @@
<?xml version="1.0" ?>
<container xmlns="http://symfony.com/schema/dic/services"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd">
<services>
<defaults public="false" />
<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>