Camel – 将特定参数从路由传递到genericsbean方法

假设我有一条看起来像这样的Camel路线:

from("direct:myRoute") .setHeader("someHeader", simple("some header value")) .beanRef("myBean", "beanMethod"); 

我有一个我cannot change的bean,看起来像这样:

 public class MyBean { public void beanMethod(String headerExpected) { // do something with the value here. } } 

基本上,我想将myRoute中someHeader的值传递给MyBean中的 beanMethod

知道beanMethod可以接受一个String ,我如何从路由中传递标题someHeader的值,以便在beanMethod中接受它作为String?

您可以按照您描述的方式传递参数,如下所示:

 from("direct:myRoute") .setHeader("someHeader", simple("some header value")) .to("bean:myBean?method=beanMethod(${header.someHeader})") 

更多信息,包括其他bean绑定方法,可以在http://camel.apache.org/bean-binding.html找到