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);
 }