假设我有一条骆驼路线,如下所示:

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.
    }
}

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

知道beanMethod可以接受String时,如何从路由中传递标头 someHeader 的值,以便在 beanMethod 中将其作为字符串接受?

最佳答案

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

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

可以在此处找到更多信息,包括用于bean绑定的其他方法。

07-24 09:28