def register_exchange(name, options={})
      name = name.to_s
      raise ConfigurationError.new("exchange #{name} already configured") if exchanges.include?(name)
      exchanges[name] = options.symbolize_keys.merge(:type => :topic, :durable => true, :queues => [])
    end
def register_exchange(name, options={})
      name = name.to_s
      raise ConfigurationError.new("exchange #{name} already configured") if exchanges.include?(name)
      exchanges[name] = options.symbolize_keys.merge(:type => :topic, :durable => true, :queues => [])
    end
create a fresh Client instance from a given configuration object
 register an exchange with the given _name_ and a set of _options_:
 [<tt>:type</tt>]
   the type option will be overwritten and always be <tt>:topic</tt>, beetle does not allow fanout exchanges
 [<tt>:durable</tt>]
   the durable option will be overwritten and always be true. this is done to ensure that exchanges are never deleted