rabbitmq-lib/src/main/java/com/streamsets/pipeline/lib/rabbitmq/common/RabbitUtil.java
private static void initRabbitConf(Channel channel, BaseRabbitConfigBean conf) throws IOException{
    // Channel is always bound to the default exchange. When specified, we must declare the exchange.
    for (RabbitExchangeConfigBean exchange : conf.exchanges) {
      channel.exchangeDeclare(
          exchange.name,
          exchange.type.getValue(),
          exchange.durable,
          exchange.autoDelete,
          exchange.declarationProperties
      );
    }

    channel.queueDeclare(
        conf.queue.name,
        conf.queue.durable,
        conf.queue.exclusive,
        conf.queue.autoDelete,
        conf.queue.properties
    );

    for (RabbitExchangeConfigBean exchange : conf.exchanges) {
      bindQueue(channel, conf, exchange);
    }
  }
private static void initRabbitConf(Channel channel, BaseRabbitConfigBean conf) throws IOException{
    // Channel is always bound to the default exchange. When specified, we must declare the exchange.
    for (RabbitExchangeConfigBean exchange : conf.exchanges) {
      channel.exchangeDeclare(
          exchange.name,
          exchange.type.getValue(),
          exchange.durable,
          exchange.autoDelete,
          exchange.declarationProperties
      );
    }

    channel.queueDeclare(
        conf.queue.name,
        conf.queue.durable,
        conf.queue.exclusive,
        conf.queue.autoDelete,
        conf.queue.properties
    );

    for (RabbitExchangeConfigBean exchange : conf.exchanges) {
      bindQueue(channel, conf, exchange);
    }
  }
----------------------------------------------- Private Members ---------------------------------------------------