<?php
/**
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
namespace Magento\Framework\Amqp;
/**
* AMQP connections pool.
*/
class ConfigPool
{
/**
* @var ConfigFactory
*/
private $configFactory;
/**
* @var Config[]
*/
private $pool = [];
/**
* Initialize dependencies.
*
* @param ConfigFactory $configFactory
*/
public function __construct(ConfigFactory $configFactory)
{
$this->configFactory = $configFactory;
}
/**
* Get connection by name.
*
* @param string $connectionName
* @return Config
*/
public function get($connectionName)
{
if (!isset($this->pool[$connectionName])) {
$this->pool[$connectionName] = $this->configFactory->create(['connectionName' => $connectionName]);
}
return $this->pool[$connectionName];
}
}
|