/**
  * @return AMQPChannelInterface
  **/
 public function exchangeDeclare($name, AMQPExchangeConfig $conf)
 {
     try {
         return $this->channel->exchangeDeclare($name, $conf);
     } catch (AMQPServerException $e) {
         return $this->transportReconnect($e)->exchangeDeclare($name, $conf);
     }
 }
 /**
  * @param AMQPPeclChannel $channel
  * @param AMQPPeclChannel $label
  * @return AMQPPeclChannel
  */
 protected function exchangeDeclare(AMQPChannelInterface $channel, $label)
 {
     $this->assertTrue(isset(self::$queueList[$label]));
     $interface = $channel->exchangeDeclare(self::$queueList[$label]['exchange'], AMQPExchangeConfig::create()->setType(new AMQPExchangeType(self::$queueList[$label]['exchangeType']))->setDurable(true));
     $this->assertInstanceOf('AMQPChannelInterface', $interface);
     return $interface;
 }