protected function getConnectionParams() { $extConf = Tx_Amqp_Util_ConfigurationHelper::getExtensionConfiguration(); $configAsString = '<code>'; foreach ($extConf as $property => $value) { $configAsString .= '<strong>' . $property . ':</strong> ' . ($property == 'password' ? str_repeat('*', strlen($value)) : $value) . '<br/>'; } $configAsString .= '</code>'; return new tx_reports_reports_status_Status('AMQP Connection Parameters', '', $configAsString, tx_reports_reports_status_Status::NOTICE); }
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; }
/** * Returns this extension's configuration array (extConf). Throws a RuntimeException on error. * * @throws RuntimeException * @return array The configuration array. */ public static function getExtensionConfiguration() { if (self::$extConf === NULL) { $extensionName = 'amqp'; self::$extConf = unserialize($GLOBALS['TYPO3_CONF_VARS']['EXT']['extConf'][$extensionName]); if (!self::$extConf) { throw new \RuntimeException(sprintf('The extension [%s] has not been configured. Configure the extension using the ExtensionManager.', $extensionName)); } } return self::$extConf; }
<?php if (!defined('TYPO3_MODE')) { die('Access denied.'); } require_once t3lib_extMgm::extPath($_EXTKEY) . 'Resources/Private/ClassLoader.php'; $classLoader = new \CYBERHOUSE\Queue\ClassLoader(); $classLoader->add('PhpAmqpLib', t3lib_extMgm::extPath($_EXTKEY) . 'Resources/Private/php-amqplib'); $classLoader->register(); // EXTConf AMQP connectionFactory config if (!isset($GLOBALS['TYPO3_CONF_VARS']['EXT']['extConf'][$_EXTKEY . '/connectionFactory'])) { $GLOBALS['TYPO3_CONF_VARS']['EXT']['extConf'][$_EXTKEY . '/connectionFactory'] = array('className' => 'Tx_Amqp_Messaging_AMQPConnectionFactory', 'options' => Tx_Amqp_Util_ConfigurationHelper::getExtensionConfigurationQuietly()); } // extensions should use Tx_Amqp_Util_ConfigurationHelper::registerConsumer $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS'][$_EXTKEY]['consumers'] = array();
protected function setUp() { $this->connectionFactory = Tx_Amqp_Util_ConfigurationHelper::getConnectionFactory(); $this->service = new Tx_Amqp_Messaging_AMQPService($this->connectionFactory); $this->admin = new Tx_Amqp_Messaging_AMQPAdmin($this->service); }
protected function createAdminService() { $connectionFactory = Tx_Amqp_Util_ConfigurationHelper::getConnectionFactory(); $service = new Tx_Amqp_Messaging_AMQPService($connectionFactory); return new Tx_Amqp_Messaging_AMQPAdmin($service); }
public function __construct() { $connectionFactory = Tx_Amqp_Util_ConfigurationHelper::getConnectionFactory(); $this->amqpService = new Tx_Amqp_Messaging_AMQPService($connectionFactory); }