21 private static $defaultInstance = ConsumerInterface::class;
26 private $configParser;
33 private $defaultValueProvider;
43 $this->configParser = $configParser;
44 $this->defaultValueProvider = $defaultValueProvider;
54 foreach (
$source->getElementsByTagName(
'consumer') as $consumerNode) {
55 $consumerName = $this->getAttributeValue($consumerNode,
'name');
56 $handler = $this->getAttributeValue($consumerNode,
'handler');
58 'name' => $consumerName,
59 'queue' => $this->getAttributeValue($consumerNode,
'queue'),
60 'consumerInstance' => $this->getAttributeValue(
63 self::$defaultInstance
66 'connection' => $this->getAttributeValue(
69 $this->defaultValueProvider->getConnection()
71 'maxMessages' => $this->getAttributeValue($consumerNode,
'maxMessages')
85 private function getAttributeValue(\DOMNode $node, $attributeName, $default =
null)
87 $item = $node->attributes->getNamedItem($attributeName);
97 private function parseHandler(
$handler)
99 $parseServiceMethod = $this->configParser->parseServiceMethod(
$handler);
101 CommunicationConfig::HANDLER_TYPE => $parseServiceMethod[ConfigParser::TYPE_NAME],
102 CommunicationConfig::HANDLER_METHOD => $parseServiceMethod[ConfigParser::METHOD_NAME]
__construct(ConfigParser $configParser, DefaultValueProvider $defaultValueProvider)
catch(\Exception $e) $handler