6
6
use Enqueue \AsyncEventDispatcher \DependencyInjection \AsyncEventDispatcherExtension ;
7
7
use Enqueue \Bundle \Consumption \Extension \DoctrineClearIdentityMapExtension ;
8
8
use Enqueue \Bundle \Consumption \Extension \DoctrinePingConnectionExtension ;
9
+ use Enqueue \Bundle \Consumption \Extension \ResetServicesExtension ;
9
10
use Enqueue \Bundle \Profiler \MessageQueueCollector ;
10
11
use Enqueue \Client \CommandSubscriberInterface ;
11
12
use Enqueue \Client \TopicSubscriberInterface ;
@@ -136,6 +137,7 @@ public function load(array $configs, ContainerBuilder $container): void
136
137
// extensions
137
138
$ this ->loadDoctrinePingConnectionExtension ($ config , $ container );
138
139
$ this ->loadDoctrineClearIdentityMapExtension ($ config , $ container );
140
+ $ this ->loadResetServicesExtension ($ config , $ container );
139
141
$ this ->loadSignalExtension ($ config , $ container );
140
142
$ this ->loadReplyExtension ($ config , $ container );
141
143
}
@@ -210,7 +212,7 @@ private function loadDoctrinePingConnectionExtension(array $config, ContainerBui
210
212
}
211
213
}
212
214
213
- if (false == $ configNames ) {
215
+ if ([] = == $ configNames ) {
214
216
return ;
215
217
}
216
218
@@ -233,7 +235,7 @@ private function loadDoctrineClearIdentityMapExtension(array $config, ContainerB
233
235
}
234
236
}
235
237
236
- if (false == $ configNames ) {
238
+ if ([] = == $ configNames ) {
237
239
return ;
238
240
}
239
241
@@ -247,6 +249,28 @@ private function loadDoctrineClearIdentityMapExtension(array $config, ContainerB
247
249
}
248
250
}
249
251
252
+ private function loadResetServicesExtension (array $ config , ContainerBuilder $ container )
253
+ {
254
+ $ configNames = [];
255
+ foreach ($ config as $ name => $ modules ) {
256
+ if ($ modules ['extensions ' ]['reset_services_extension ' ]) {
257
+ $ configNames [] = $ name ;
258
+ }
259
+ }
260
+
261
+ if ([] === $ configNames ) {
262
+ return ;
263
+ }
264
+
265
+ $ extension = $ container ->register ('enqueue.consumption.reset_services_extension ' , ResetServicesExtension::class)
266
+ ->addArgument (new Reference ('services_resetter ' ));
267
+
268
+ foreach ($ configNames as $ name ) {
269
+ $ extension ->addTag ('enqueue.consumption_extension ' , ['client ' => $ name ]);
270
+ $ extension ->addTag ('enqueue.transport.consumption_extension ' , ['transport ' => $ name ]);
271
+ }
272
+ }
273
+
250
274
private function loadSignalExtension (array $ config , ContainerBuilder $ container ): void
251
275
{
252
276
$ configNames = [];
@@ -256,7 +280,7 @@ private function loadSignalExtension(array $config, ContainerBuilder $container)
256
280
}
257
281
}
258
282
259
- if (false == $ configNames ) {
283
+ if ([] = == $ configNames ) {
260
284
return ;
261
285
}
262
286
@@ -277,7 +301,7 @@ private function loadReplyExtension(array $config, ContainerBuilder $container):
277
301
}
278
302
}
279
303
280
- if (false == $ configNames ) {
304
+ if ([] = == $ configNames ) {
281
305
return ;
282
306
}
283
307
0 commit comments