| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 | 
							- <?php
 
- /**
 
-  * Copyright © Magento, Inc. All rights reserved.
 
-  * See COPYING.txt for license details.
 
-  */
 
- namespace Magento\Framework\MessageQueue;
 
- class ExchangeRepository
 
- {
 
-     /**
 
-      * @var \Magento\Framework\ObjectManagerInterface
 
-      */
 
-     private $objectManager;
 
-     /**
 
-      * @var ExchangeFactoryInterface
 
-      */
 
-     private $exchangeFactory;
 
-     /**
 
-      * Pool of exchange instances.
 
-      *
 
-      * @var ExchangeInterface[]
 
-      */
 
-     private $exchangePool = [];
 
-     /**
 
-      * @param \Magento\Framework\ObjectManagerInterface $objectManager
 
-      * @param string[] $exchanges
 
-      *
 
-      * @SuppressWarnings(PHPMD.UnusedFormalParameter)
 
-      */
 
-     public function __construct(\Magento\Framework\ObjectManagerInterface $objectManager, array $exchanges = [])
 
-     {
 
-         $this->objectManager = $objectManager;
 
-     }
 
-     /**
 
-      * @param string $connectionName
 
-      * @return ExchangeInterface
 
-      * @throws \LogicException
 
-      */
 
-     public function getByConnectionName($connectionName)
 
-     {
 
-         if (!isset($this->exchangePool[$connectionName])) {
 
-             $exchange = $this->getExchangeFactory()->create($connectionName);
 
-             $this->exchangePool[$connectionName] = $exchange;
 
-         }
 
-         return $this->exchangePool[$connectionName];
 
-     }
 
-     /**
 
-      * Get exchange factory.
 
-      *
 
-      * @return ExchangeFactoryInterface
 
-      * @deprecated 102.0.1
 
-      */
 
-     private function getExchangeFactory()
 
-     {
 
-         if ($this->exchangeFactory === null) {
 
-             $this->exchangeFactory = $this->objectManager->get(ExchangeFactoryInterface::class);
 
-         }
 
-         return $this->exchangeFactory;
 
-     }
 
- }
 
 
  |