connectionToExchangeMap = $connectionToExchangeMap; } /** * {@inheritDoc} */ public function convert($source) { $publishersConfig = isset($source[\Magento\Framework\MessageQueue\Config\Reader\Env::ENV_PUBLISHERS]) ? $source[\Magento\Framework\MessageQueue\Config\Reader\Env::ENV_PUBLISHERS] : []; $connections = []; if (!empty($publishersConfig)) { foreach ($publishersConfig as $configuration) { if (isset($configuration['connections'])) { $publisherData = []; foreach ($configuration['connections'] as $connectionName => $config) { if (isset($this->connectionToExchangeMap[$connectionName])) { $publisherName = $connectionName . '-' . $this->connectionToExchangeMap[$connectionName]; $config['connection'] = $config['name']; $config['name'] = $publisherName; $publisherData[$publisherName] = $config; $connections = array_replace_recursive($connections, $publisherData); } } } } $source[\Magento\Framework\MessageQueue\Config\Reader\Env::ENV_PUBLISHERS] = $connections; } return $source; } }