Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit 983b77e

Browse filesBrowse files
committed
the DeduplicateMiddleware requires the lock feature to be enabled
If the `lock` feature is not enabled, no `lock.factory` service will be registered.
1 parent 9ad4353 commit 983b77e
Copy full SHA for 983b77e

File tree

2 files changed

+11
-3
lines changed
Filter options

2 files changed

+11
-3
lines changed

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

Copy file name to clipboardExpand all lines: src/Symfony/Bundle/FrameworkBundle/DependencyInjection/FrameworkExtension.php
+3-3Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -538,7 +538,7 @@ public function load(array $configs, ContainerBuilder $container): void
538538

539539
// messenger depends on validation being registered
540540
if ($messengerEnabled) {
541-
$this->registerMessengerConfiguration($config['messenger'], $container, $loader, $this->readConfigEnabled('validation', $container, $config['validation']));
541+
$this->registerMessengerConfiguration($config['messenger'], $container, $loader, $this->readConfigEnabled('validation', $container, $config['validation']), $this->readConfigEnabled('lock', $container, $config['lock']));
542542
} else {
543543
$container->removeDefinition('console.command.messenger_consume_messages');
544544
$container->removeDefinition('console.command.messenger_stats');
@@ -2228,7 +2228,7 @@ private function registerSchedulerConfiguration(ContainerBuilder $container, Php
22282228
}
22292229
}
22302230

2231-
private function registerMessengerConfiguration(array $config, ContainerBuilder $container, PhpFileLoader $loader, bool $validationEnabled): void
2231+
private function registerMessengerConfiguration(array $config, ContainerBuilder $container, PhpFileLoader $loader, bool $validationEnabled, bool $lockEnabled): void
22322232
{
22332233
if (!interface_exists(MessageBusInterface::class)) {
22342234
throw new LogicException('Messenger support cannot be enabled as the Messenger component is not installed. Try running "composer require symfony/messenger".');
@@ -2284,7 +2284,7 @@ private function registerMessengerConfiguration(array $config, ContainerBuilder
22842284
],
22852285
];
22862286

2287-
if (class_exists(DeduplicateMiddleware::class) && class_exists(LockFactory::class)) {
2287+
if ($lockEnabled && class_exists(DeduplicateMiddleware::class) && class_exists(LockFactory::class)) {
22882288
$defaultMiddleware['before'][] = ['id' => 'deduplicate_middleware'];
22892289
} else {
22902290
$container->removeDefinition('messenger.middleware.deduplicate_middleware');

‎src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/FrameworkExtensionTestCase.php

Copy file name to clipboardExpand all lines: src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/FrameworkExtensionTestCase.php
+8Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -864,6 +864,14 @@ public function testMessengerWithoutConsole()
864864
$this->assertFalse($container->hasDefinition('messenger.listener.reset_services'));
865865
}
866866

867+
public function testMessengerWithoutLock()
868+
{
869+
$container = $this->createContainerFromFile('messenger');
870+
871+
$this->assertFalse($container->hasDefinition('lock.factory'));
872+
$this->assertFalse($container->hasDefinition('messenger.middleware.deduplicate_middleware'));
873+
}
874+
867875
public function testMessengerMultipleFailureTransports()
868876
{
869877
$container = $this->createContainerFromFile('messenger_multiple_failure_transports');

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.