Skip to content

Commit 1b54a4b

Browse files
committed
Add missing lock connection string in FrameworkExtension
1 parent 9a64a69 commit 1b54a4b

File tree

2 files changed

+13
-38
lines changed

2 files changed

+13
-38
lines changed

DependencyInjection/FrameworkExtension.php

Lines changed: 5 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@
2828
use Symfony\Bundle\FullStack;
2929
use Symfony\Component\Asset\PackageInterface;
3030
use Symfony\Component\BrowserKit\AbstractBrowser;
31-
use Symfony\Component\Cache\Adapter\AbstractAdapter;
3231
use Symfony\Component\Cache\Adapter\AdapterInterface;
3332
use Symfony\Component\Cache\Adapter\ArrayAdapter;
3433
use Symfony\Component\Cache\Adapter\ChainAdapter;
@@ -75,7 +74,6 @@
7574
use Symfony\Component\Lock\LockFactory;
7675
use Symfony\Component\Lock\LockInterface;
7776
use Symfony\Component\Lock\PersistingStoreInterface;
78-
use Symfony\Component\Lock\Store\FlockStore;
7977
use Symfony\Component\Lock\Store\StoreFactory;
8078
use Symfony\Component\Lock\StoreInterface;
8179
use Symfony\Component\Mailer\Bridge\Amazon\Transport\SesTransportFactory;
@@ -1621,42 +1619,13 @@ private function registerLockConfiguration(array $config, ContainerBuilder $cont
16211619
$storeDefinitions = [];
16221620
foreach ($resourceStores as $storeDsn) {
16231621
$storeDsn = $container->resolveEnvPlaceholders($storeDsn, null, $usedEnvs);
1624-
switch (true) {
1625-
case 'flock' === $storeDsn:
1626-
$storeDefinition = new Reference('lock.store.flock');
1627-
break;
1628-
case 0 === strpos($storeDsn, 'flock://'):
1629-
$flockPath = substr($storeDsn, 8);
1630-
1631-
$storeDefinitionId = '.lock.flock.store.'.$container->hash($storeDsn);
1632-
$container->register($storeDefinitionId, FlockStore::class)->addArgument($flockPath);
1633-
1634-
$storeDefinition = new Reference($storeDefinitionId);
1635-
break;
1636-
case 'semaphore' === $storeDsn:
1637-
$storeDefinition = new Reference('lock.store.semaphore');
1638-
break;
1639-
case $usedEnvs || preg_match('#^[a-z]++://#', $storeDsn):
1640-
if (!$container->hasDefinition($connectionDefinitionId = '.lock_connection.'.$container->hash($storeDsn))) {
1641-
$connectionDefinition = new Definition(\stdClass::class);
1642-
$connectionDefinition->setPublic(false);
1643-
$connectionDefinition->setFactory([AbstractAdapter::class, 'createConnection']);
1644-
$connectionDefinition->setArguments([$storeDsn, ['lazy' => true]]);
1645-
$container->setDefinition($connectionDefinitionId, $connectionDefinition);
1646-
}
1647-
1648-
$storeDefinition = new Definition(PersistingStoreInterface::class);
1649-
$storeDefinition->setPublic(false);
1650-
$storeDefinition->setFactory([StoreFactory::class, 'createStore']);
1651-
$storeDefinition->setArguments([new Reference($connectionDefinitionId)]);
1622+
$storeDefinition = new Definition(PersistingStoreInterface::class);
1623+
$storeDefinition->setFactory([StoreFactory::class, 'createStore']);
1624+
$storeDefinition->setArguments([$storeDsn]);
16521625

1653-
$container->setDefinition($storeDefinitionId = '.lock.'.$resourceName.'.store.'.$container->hash($storeDsn), $storeDefinition);
1626+
$container->setDefinition($storeDefinitionId = '.lock.'.$resourceName.'.store.'.$container->hash($storeDsn), $storeDefinition);
16541627

1655-
$storeDefinition = new Reference($storeDefinitionId);
1656-
break;
1657-
default:
1658-
throw new InvalidArgumentException(sprintf('Lock store DSN "%s" is not valid in resource "%s"', $storeDsn, $resourceName));
1659-
}
1628+
$storeDefinition = new Reference($storeDefinitionId);
16601629

16611630
$storeDefinitions[] = $storeDefinition;
16621631
}

Resources/config/lock.xml

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,16 +7,22 @@
77
<services>
88
<defaults public="false" />
99

10-
<service id="lock.store.flock" class="Symfony\Component\Lock\Store\FlockStore" />
10+
<service id="lock.store.flock" class="Symfony\Component\Lock\Store\FlockStore">
11+
<deprecated>The "%service_id%" service is deprecated since Symfony 4.4 and will be removed in 5.0.</deprecated>
12+
</service>
1113

12-
<service id="lock.store.semaphore" class="Symfony\Component\Lock\Store\SemaphoreStore" />
14+
<service id="lock.store.semaphore" class="Symfony\Component\Lock\Store\SemaphoreStore">
15+
<deprecated>The "%service_id%" service is deprecated since Symfony 4.4 and will be removed in 5.0.</deprecated>
16+
</service>
1317

1418
<service id="lock.store.memcached.abstract" class="Symfony\Component\Lock\Store\MemcachedStore" abstract="true">
1519
<argument /> <!-- Memcached connection service -->
20+
<deprecated>The "%service_id%" service is deprecated since Symfony 4.4 and will be removed in 5.0.</deprecated>
1621
</service>
1722

1823
<service id="lock.store.redis.abstract" class="Symfony\Component\Lock\Store\RedisStore" abstract="true">
1924
<argument /> <!-- Redis connection service -->
25+
<deprecated>The "%service_id%" service is deprecated since Symfony 4.4 and will be removed in 5.0.</deprecated>
2026
</service>
2127

2228
<service id="lock.store.combined.abstract" class="Symfony\Component\Lock\Store\CombinedStore" abstract="true">

0 commit comments

Comments
 (0)