Skip to content

Commit 3856e8b

Browse files
committed
Update OverrideMappingListener to use AsDoctrineListener - fix deprecation for registering it as Doctrine subscriber
1 parent 1d5301c commit 3856e8b

2 files changed

Lines changed: 14 additions & 17 deletions

File tree

config/services.xml

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,16 +4,19 @@
44
xsi:schemaLocation="http://symfony.com/schema/dic/services
55
https://symfony.com/schema/dic/services/services-1.0.xsd">
66
<services>
7-
<defaults autowire="true" autoconfigure="true"/>
7+
<defaults autowire="true" autoconfigure="true">
8+
<bind key="$jobTableName">%job_queue.database.job_table_name%</bind>
9+
<bind key="$jobRecurringTableName">%job_queue.database.job_recurring_table_name%</bind>
10+
</defaults>
811

912
<prototype namespace="TomAtom\JobQueueBundle\" resource="../src/*"
1013
exclude="../src/{DependencyInjection,Entity,Tests,Kernel.php}"/>
1114

1215
<service id="tomatom.job_queue.override_mapping_listener"
13-
class="TomAtom\JobQueueBundle\EventListener\OverrideMappingListener">
16+
class="TomAtom\JobQueueBundle\EventListener\OverrideMappingListener"
17+
autowire="false" autoconfigure="false">
1418
<argument>%job_queue.database.job_table_name%</argument>
1519
<argument>%job_queue.database.job_recurring_table_name%</argument>
16-
<tag name="doctrine.event_subscriber"/>
1720
</service>
1821
</services>
1922
</container>

src/EventListener/OverrideMappingListener.php

Lines changed: 8 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -2,25 +2,19 @@
22

33
namespace TomAtom\JobQueueBundle\EventListener;
44

5-
use Doctrine\Common\EventSubscriber;
5+
use Doctrine\Bundle\DoctrineBundle\Attribute\AsDoctrineListener;
66
use Doctrine\ORM\Event\LoadClassMetadataEventArgs;
77
use TomAtom\JobQueueBundle\Entity\Job;
88
use TomAtom\JobQueueBundle\Entity\JobRecurring;
99

10-
class OverrideMappingListener implements EventSubscriber
10+
#[AsDoctrineListener(event: 'loadClassMetadata')]
11+
class OverrideMappingListener
1112
{
12-
private string $jobTableName;
13-
private string $jobRecurringTableName;
14-
15-
public function __construct(string $jobTableName, string $jobRecurringTableName)
16-
{
17-
$this->jobTableName = $jobTableName;
18-
$this->jobRecurringTableName = $jobRecurringTableName;
19-
}
20-
21-
public function getSubscribedEvents(): array
13+
public function __construct(
14+
private readonly string $jobTableName,
15+
private readonly string $jobRecurringTableName
16+
)
2217
{
23-
return ['loadClassMetadata'];
2418
}
2519

2620
public function loadClassMetadata(LoadClassMetadataEventArgs $args): void
@@ -36,4 +30,4 @@ public function loadClassMetadata(LoadClassMetadataEventArgs $args): void
3630
$metadata->setPrimaryTable(['name' => $this->jobRecurringTableName]);
3731
}
3832
}
39-
}
33+
}

0 commit comments

Comments
 (0)