@@ -23,6 +23,7 @@ public function load(array $configs, ContainerBuilder $container)
2323
2424 $ container ->setAlias ('enqueue_elastica.context ' , $ config ['context ' ]);
2525
26+ $ doctrineDriver = $ config ['doctrine ' ]['driver ' ];
2627 if (false == empty ($ config ['doctrine ' ]['queue_listeners ' ])) {
2728 foreach ($ config ['doctrine ' ]['queue_listeners ' ] as $ listenerConfig ) {
2829 $ listenerId = sprintf (
@@ -36,18 +37,23 @@ public function load(array $configs, ContainerBuilder $container)
3637 ->addArgument (new Reference ('enqueue_elastica.context ' ))
3738 ->addArgument ($ listenerConfig ['model_class ' ])
3839 ->addArgument ($ listenerConfig )
39- ->addTag (' doctrine.event_subscriber ' , ['connection ' => $ listenerConfig ['connection ' ]])
40+ ->addTag ($ this -> getEventSubscriber ( $ doctrineDriver ) , ['connection ' => $ listenerConfig ['connection ' ]])
4041 ;
4142 }
4243 }
4344
4445 $ serviceId = 'enqueue_elastica.doctrine.sync_index_with_object_change_processor ' ;
45- $ managerRegistry = $ this ->getManagerRegistry ($ config [ ' doctrine ' ][ ' driver ' ] );
46+ $ managerRegistry = $ this ->getManagerRegistry ($ doctrineDriver );
4647 $ container
4748 ->getDefinition ($ serviceId )
4849 ->replaceArgument (0 , new Reference ($ managerRegistry ));
4950 }
5051
52+ /**
53+ * @param string $driver
54+ *
55+ * @return string
56+ */
5157 private function getManagerRegistry (string $ driver ): string
5258 {
5359 switch ($ driver ) {
@@ -59,4 +65,21 @@ private function getManagerRegistry(string $driver): string
5965 return 'doctrine ' ;
6066 }
6167 }
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+ }
6285}
0 commit comments