web-dev-qa-db-ja.com

キャメル-ルートからジェネリックBeanメソッドに特定のパラメーターを渡す

次のようなキャメルルートがあるとします。

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

そして、私はcannot changeは次のようになります。

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

基本的に、someHeaderの値をmyRouteからbeanMethodMyBean内で渡します。

BeanMethodがStringを受け入れることができることを知って、ヘッダーの値someHeaderをルートから渡して、beanMethod内の文字列として受け入れられるようにするにはどうすればよいですか。 ?

9
abbasdgr8

このように記述した方法でパラメーターを渡すことができます。

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

Beanバインディングの他の方法を含む詳細は、こちら http://camel.Apache.org/bean-binding.html にあります。

21
Matthew Wilson