| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 | 
							- <?php
 
- /**
 
-  * Copyright © Magento, Inc. All rights reserved.
 
-  * See COPYING.txt for license details.
 
-  */
 
- namespace Magento\Framework\MessageQueue\Bulk;
 
- /**
 
-  * Used to get exchange instance from the pool.
 
-  */
 
- class ExchangeRepository
 
- {
 
-     /**
 
-      * @var ExchangeFactoryInterface
 
-      */
 
-     private $exchangeFactory;
 
-     /**
 
-      * Pool of exchange instances.
 
-      *
 
-      * @var ExchangeInterface[]
 
-      */
 
-     private $exchangePool = [];
 
-     /**
 
-      * @param ExchangeFactoryInterface $exchangeFactory
 
-      */
 
-     public function __construct(ExchangeFactoryInterface $exchangeFactory)
 
-     {
 
-         $this->exchangeFactory = $exchangeFactory;
 
-     }
 
-     /**
 
-      * Get exchange from the pool for the specified connection type.
 
-      *
 
-      * @param string $connectionName
 
-      * @return ExchangeInterface
 
-      * @throws \LogicException
 
-      */
 
-     public function getByConnectionName($connectionName)
 
-     {
 
-         if (!isset($this->exchangePool[$connectionName])) {
 
-             $exchange = $this->exchangeFactory->create($connectionName);
 
-             $this->exchangePool[$connectionName] = $exchange;
 
-         }
 
-         return $this->exchangePool[$connectionName];
 
-     }
 
- }
 
 
  |