The code and docs seem pretty clear.. The consumer side makes sense, being able to set the Routing Key for binding and optional Queue name...
But why must the producer side set an Exchange header to set the routing key? Doesn't this make it very difficult to write fluent routes.. for example, with JMS or ActiveMQ you could do: from("direct:start point").process(dosomething).to("activemq:out queue") There does not appear to be a simple equivalent for RabbitMQ at this time, instead having to resort to writing code to set a routing key on the exchange and then set the headers, which is cumbersome and tightly couples routing logic directly into the messages themselves, rather then letting the routes define it Unless I'm missing something obvious here.. seems like it will be difficult to use like this. I would have expected to be able to do: .to("rabbitmq://server/exchange?routingKey=abc) -- Alexander Sherwin