Camel - 我们如何使用生产者模板设置属性?

sat*_*sat 3 apache-camel

有没有办法使用生产者模板设置camel exchange属性?

想象一下,接收客户订单的休息端点(尚未在骆驼路线中).使用生产者模板,我想

  1. 在交易所设置customer-id属性.
  2. 稍后在路线需要时使用它

是的,我也可以使用头文件并在使用生产者模板时使用producerTemplate.sendBodyWithHeaders,但我正在考虑使用属性而不是头文件,因为这就是属性的意思 - 路径与头部内的元数据是更多元数据到与外部世界沟通.Customer-Id对我来说没有任何意义.

jav*_*301 9

为此,您需要在现有交换上设置该属性,然后将其传递给接受Exchange参数的producerTemplate.send()重载方法之一:

exchange.setProperty("propertyname", "propertyval");
producerTemplate.send("my-endpoint", exchange);
Run Code Online (Sandbox Code Playgroud)