@@ -137,6 +137,7 @@ public function load(array $configs, ContainerBuilder $container): void
137
137
// extensions
138
138
$ this ->loadDoctrinePingConnectionExtension ($ config , $ container );
139
139
$ this ->loadDoctrineClearIdentityMapExtension ($ config , $ container );
140
+ $ this ->loadDoctrineOdmClearIdentityMapExtension ($ config , $ container );
140
141
$ this ->loadResetServicesExtension ($ config , $ container );
141
142
$ this ->loadSignalExtension ($ config , $ container );
142
143
$ this ->loadReplyExtension ($ config , $ container );
@@ -249,6 +250,29 @@ private function loadDoctrineClearIdentityMapExtension(array $config, ContainerB
249
250
}
250
251
}
251
252
253
+ private function loadDoctrineOdmClearIdentityMapExtension (array $ config , ContainerBuilder $ container ): void
254
+ {
255
+ $ configNames = [];
256
+ foreach ($ config as $ name => $ modules ) {
257
+ if ($ modules ['extensions ' ]['doctrine_odm_clear_identity_map_extension ' ]) {
258
+ $ configNames [] = $ name ;
259
+ }
260
+ }
261
+
262
+ if ([] === $ configNames ) {
263
+ return ;
264
+ }
265
+
266
+ $ extension = $ container ->register ('enqueue.consumption.doctrine_odm_clear_identity_map_extension ' , DoctrineClearIdentityMapExtension::class)
267
+ ->addArgument (new Reference ('doctrine_mongodb ' ))
268
+ ;
269
+
270
+ foreach ($ configNames as $ name ) {
271
+ $ extension ->addTag ('enqueue.consumption_extension ' , ['client ' => $ name ]);
272
+ $ extension ->addTag ('enqueue.transport.consumption_extension ' , ['transport ' => $ name ]);
273
+ }
274
+ }
275
+
252
276
private function loadResetServicesExtension (array $ config , ContainerBuilder $ container )
253
277
{
254
278
$ configNames = [];
0 commit comments