Thanks Willem. The documentation says the URI should look like:
rabbitmq://hostname[:port]/exchangeName?[options] So I do have the exchange name in the URI in my example. See http://camel.apache.org/rabbitmq.html Sent from phone On 21 Sep 2016 1:49 a.m., "Willem Jiang" <willem.ji...@gmail.com> wrote: > You should add the exchangeName parameter to the rabbitmq uri if you don’t > want to specify the message header there. > > -- > Willem Jiang > > > Blog: http://willemjiang.blogspot.com (English) > http://jnn.iteye.com (Chinese) > Twitter: willemjiang > Weibo: 姜宁willem > > > > On September 21, 2016 at 5:14:54 AM, Emre Kartoglu Ismail ( > ismailemrekarto...@gmail.com) wrote: > > Hello Camel users, > > > > I have a question regarding the camel-rabbitmq component. The following > > code sends the message “test” to exchange “A” with routing key “B” every > > 5 seconds: > > > > > > from("timer:test?period=5000").process(new Processor() { > > @Override > > public void process(Exchange exchange) throws Exception { > > exchange.getOut().setBody("test", String.class); > > exchange.getOut().getHeaders().put("rabbitmq.EXCHANGE_NAME", "A”); ** > > exchange.getOut().getHeaders().put("rabbitmq.ROUTING_KEY", "B”); ** > > } > > }) > > .to("rabbitmq://localhost/A?username=guest&password=guest& > routingKey=B&threadPoolSize=1&autoAck=false"); > > > > > > > > However when I comment out the lines with **, the message does not get > > sent. Is this an expected behaviour? I found this stack overflow post, > > essentially discussing the same issue: > > http://stackoverflow.com/questions/22449086/apache- > camel-rabbitmq-endpoint-not-creating > > . > > > > There is a paragraph at http://camel.apache.org/rabbitmq.html that says > > > > "Headers are set by the consumer once the message is received. The > > producer will also set the headers for downstream processors once the > > exchange has taken place. Any headers set prior to production that the > > producer sets will be overridden.” > > > > The last sentence seems to suggest that the behaviour I described here > > is expected. My question then is would it not make more sense if we did > > not have to specifically set the headers in the out message? > > > > > > Kind regards, > > Ismail > > > >