29 $this->queueConfig = $queueConfig;
47 $topologyConfigDataFromQueueConfig = $this->getTopologyConfigDataFromQueueConfig();
48 foreach ($topologyConfigDataFromQueueConfig as $exchangeKey => $exchangeConfig) {
49 if (isset(
$result[$exchangeKey])) {
50 $result[$exchangeKey][
'bindings'] = array_merge(
51 $exchangeConfig[
'bindings'],
52 $result[$exchangeKey][
'bindings']
55 $result[$exchangeKey] = $exchangeConfig;
66 private function getTopologyConfigDataFromQueueConfig()
69 foreach ($this->queueConfig->getBinds() as $queueConfigBinding) {
70 $topic = $queueConfigBinding[
'topic'];
71 $destinationType =
'queue';
72 $destination = $queueConfigBinding[
'queue'];
73 $bindingId = $destinationType .
'--' . $destination .
'--' . $topic;
76 'destinationType' => $destinationType,
77 'destination' => $destination,
83 $exchangeName = $queueConfigBinding[
'exchange'];
84 $connection = $this->queueConfig->getConnectionByTopic($topic);
89 'name' => $exchangeName,
93 'autoDelete' =>
false,
95 'bindings' => [$bindingId => $bindingData],
__construct(QueueConfig $queueConfig)
afterRead(\Magento\Framework\MessageQueue\Topology\Config\CompositeReader $subject, array $result, $scope=null)