Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
ConfigReaderPlugin.php
Go to the documentation of this file.
1 <?php
7 
9 use Magento\Framework\MessageQueue\Consumer\Config\CompositeReader as ConsumerConfigCompositeReader;
10 
17 {
21  private $config;
22 
26  public function __construct(ConfigInterface $config)
27  {
28  $this->config = $config;
29  }
30 
41  public function afterRead(ConsumerConfigCompositeReader $subject, $result, $scope = null)
42  {
43  return array_merge($this->getConsumerConfigDataFromQueueConfig(), $result);
44  }
45 
51  private function getConsumerConfigDataFromQueueConfig()
52  {
53  $result = [];
54 
55  foreach ($this->config->getConsumers() as $consumerData) {
56  $consumerName = $consumerData['name'];
57  $handlers = [];
58 
59  foreach ($consumerData['handlers'] as $topicHandlers) {
60  foreach ($topicHandlers as $handlerConfig) {
61  $handlers[] = $handlerConfig;
62  }
63  }
64 
65  $result[$consumerName] = [
66  'name' => $consumerName,
67  'queue' => $consumerData['queue'],
68  'consumerInstance' => $consumerData['instance_type'],
69  'handlers' => $handlers,
70  'connection' => $consumerData['connection'],
71  'maxMessages' => $consumerData['max_messages']
72  ];
73  }
74 
75  return $result;
76  }
77 }
$config
Definition: fraud_order.php:17
afterRead(ConsumerConfigCompositeReader $subject, $result, $scope=null)