@@ -28,12 +28,15 @@ public function load(array $configs, ContainerBuilder $container): void
28
28
$ loader = new YamlFileLoader ($ container , new FileLocator (__DIR__ .'/../Resources/config ' ));
29
29
$ loader ->load ('services.yml ' );
30
30
31
- $ this ->setupAutowiringForProcessors ($ container );
32
-
33
31
$ transportFactory = (new TransportFactory ('default ' ));
34
- $ transportFactory ->build ($ container , $ config ['transport ' ]);
32
+ $ transportFactory ->buildConnectionFactory ($ container , $ config ['transport ' ]);
33
+ $ transportFactory ->buildContext ($ container , []);
34
+ $ transportFactory ->buildQueueConsumer ($ container , $ config ['consumption ' ]);
35
+ $ transportFactory ->buildRpcClient ($ container , []);
35
36
36
37
if (isset ($ config ['client ' ])) {
38
+ $ this ->setupAutowiringForProcessors ($ container );
39
+
37
40
$ loader ->load ('client.yml ' );
38
41
$ loader ->load ('extensions/flush_spool_producer_extension.yml ' );
39
42
$ loader ->load ('extensions/exclusive_command_extension.yml ' );
@@ -75,17 +78,20 @@ public function load(array $configs, ContainerBuilder $container): void
75
78
->replaceArgument (1 , $ config ['client ' ]['redelivered_delay_time ' ])
76
79
;
77
80
}
78
- }
79
81
80
- // todo configure queue consumer
81
- $ container ->getDefinition ('enqueue.transport.default.queue_consumer ' )
82
- ->replaceArgument (2 , $ config ['consumption ' ]['idle_timeout ' ])
83
- ->replaceArgument (3 , $ config ['consumption ' ]['receive_timeout ' ])
84
- ;
82
+ $ locatorId = 'enqueue.locator ' ;
83
+ if ($ container ->hasDefinition ($ locatorId )) {
84
+ $ locator = $ container ->getDefinition ($ locatorId );
85
+ $ locator ->replaceArgument (0 , array_replace ($ locator ->getArgument (0 ), [
86
+ 'enqueue.client.default.queue_consumer ' => new Reference ('enqueue.client.default.queue_consumer ' ),
87
+ 'enqueue.client.default.driver ' => new Reference ('enqueue.client.default.driver ' ),
88
+ 'enqueue.client.default.delegate_processor ' => new Reference ('enqueue.client.default.delegate_processor ' ),
89
+ 'enqueue.client.default.producer ' => new Reference ('enqueue.client.default.producer ' ),
90
+ ]));
91
+ }
85
92
86
- if ($ container ->hasDefinition ('enqueue.client.default.queue_consumer ' )) {
87
93
$ container ->getDefinition ('enqueue.client.default.queue_consumer ' )
88
- ->replaceArgument (2 , $ config ['consumption ' ]['idle_timeout ' ])
94
+ ->replaceArgument (2 , $ config ['consumption ' ]['idle_time ' ])
89
95
->replaceArgument (3 , $ config ['consumption ' ]['receive_timeout ' ])
90
96
;
91
97
}
0 commit comments