protected function getRegisteredConsumers() { $output = ''; $queueNames = Tx_Amqp_Util_ConfigurationHelper::getQueueNames(); foreach ($queueNames as $queueName) { $output .= '<b>' . htmlspecialchars($queueName) . '</b><ul>'; $consumerConfigurations = Tx_Amqp_Util_ConfigurationHelper::getRegisteredConsumerConfiguration($queueName); foreach ($consumerConfigurations as $consumerConfiguration) { $output .= '<li>' . htmlspecialchars($consumerConfiguration['className']) . '</li>'; } $output .= '</ul>'; } return new tx_reports_reports_status_Status('AMQP Registered Consumers', '', $output, tx_reports_reports_status_Status::NOTICE); }
/** * get listeners for the named queue * * @param string $queueName * @return array<Tx_Amqp_Messaging_ConsumerInterface> * @throws InvalidArgumentException */ protected function getConsumers($queueName) { $consumerConfigurations = Tx_Amqp_Util_ConfigurationHelper::getRegisteredConsumerConfiguration($queueName); $consumers = array(); foreach ($consumerConfigurations as $key => $consumerConfiguration) { $className = trim($consumerConfiguration['className']); $consumerInstance = $this->objectManager->get($className); if (!$consumerInstance instanceof Tx_Amqp_Messaging_ConsumerInterface) { throw new InvalidArgumentException(sprintf('%s does not implement the Tx_Amqp_Messaging_ConsumerInterface interface', $className)); } $consumers[] = $consumerInstance; } return $consumers; }