code: void recoverQueueBindings(Iterable<Binding> queueBindings) throws Exception {
      if (queueBindings != null)
        synchronized (queueBindings) {
          for (Binding binding : queueBindings)
            try {
              log.info("Recovering queue binding from {} to {} with {} via {}", binding.source,
                  binding.destination, binding.routingKey, this);
              getRecoveryChannel().queueBind(binding.destination, binding.source, binding.routingKey,
                  binding.arguments);
            } catch (Exception e) {
              log.error("Failed to recover queue binding from {} to {} with {} via {}",
                  binding.source, binding.destination, binding.routingKey, this, e);
              if (throwOnRecoveryFailure() || Exceptions.isCausedByConnectionClosure(e))
                throw e;
            }
        }
    }
docs: Recovers queue bindings using the {@code channelSupplier}.