19 private $exchangeFactories;
24 private $connectionTypeResolver;
45 array $exchangeFactories = []
48 $this->exchangeFactories = $exchangeFactories;
49 $this->connectionTypeResolver = $connectionTypeResolver;
58 $connectionType = $this->connectionTypeResolver->getConnectionType($connectionName);
60 if (!isset($this->exchangeFactories[$connectionType])) {
61 throw new \LogicException(
"Not found exchange for connection name '{$connectionName}' in config");
64 $factory = $this->exchangeFactories[$connectionType];
68 $exchangeInterface = \Magento\Framework\MessageQueue\Bulk\ExchangeInterface::class;
69 throw new \LogicException(
70 "Exchange for connection name '{$connectionName}' " .
71 "does not implement interface '{$exchangeInterface}'"
__construct(\Magento\Framework\MessageQueue\ConnectionTypeResolver $connectionTypeResolver, \Magento\Framework\ObjectManagerInterface $objectManager, array $exchangeFactories=[])
create($connectionName, array $data=[])