@@ -23,6 +23,7 @@ public function load(array $configs, ContainerBuilder $container)
23
23
24
24
$ container ->setAlias ('enqueue_elastica.context ' , $ config ['context ' ]);
25
25
26
+ $ doctrineDriver = $ config ['doctrine ' ]['driver ' ];
26
27
if (false == empty ($ config ['doctrine ' ]['queue_listeners ' ])) {
27
28
foreach ($ config ['doctrine ' ]['queue_listeners ' ] as $ listenerConfig ) {
28
29
$ listenerId = sprintf (
@@ -36,18 +37,23 @@ public function load(array $configs, ContainerBuilder $container)
36
37
->addArgument (new Reference ('enqueue_elastica.context ' ))
37
38
->addArgument ($ listenerConfig ['model_class ' ])
38
39
->addArgument ($ listenerConfig )
39
- ->addTag (' doctrine.event_subscriber ' , ['connection ' => $ listenerConfig ['connection ' ]])
40
+ ->addTag ($ this -> getEventSubscriber ( $ doctrineDriver ) , ['connection ' => $ listenerConfig ['connection ' ]])
40
41
;
41
42
}
42
43
}
43
44
44
45
$ serviceId = 'enqueue_elastica.doctrine.sync_index_with_object_change_processor ' ;
45
- $ managerRegistry = $ this ->getManagerRegistry ($ config [ ' doctrine ' ][ ' driver ' ] );
46
+ $ managerRegistry = $ this ->getManagerRegistry ($ doctrineDriver );
46
47
$ container
47
48
->getDefinition ($ serviceId )
48
49
->replaceArgument (0 , new Reference ($ managerRegistry ));
49
50
}
50
51
52
+ /**
53
+ * @param string $driver
54
+ *
55
+ * @return string
56
+ */
51
57
private function getManagerRegistry (string $ driver ): string
52
58
{
53
59
switch ($ driver ) {
@@ -59,4 +65,21 @@ private function getManagerRegistry(string $driver): string
59
65
return 'doctrine ' ;
60
66
}
61
67
}
68
+
69
+ /**
70
+ * @param string $driver
71
+ *
72
+ * @return string
73
+ */
74
+ private function getEventSubscriber (string $ driver ): string
75
+ {
76
+ switch ($ driver ) {
77
+ case 'mongodb ' :
78
+ return 'doctrine_mongodb.odm.event_subscriber ' ;
79
+ break ;
80
+ case 'orm ' :
81
+ default :
82
+ return 'doctrine.event_subscriber ' ;
83
+ }
84
+ }
62
85
}
0 commit comments