2017-01-23 3 views
0

Java DSLを使用する私のラクダのコンテキストにルータクラスがあります。私はまた、 '詳細'として名前と交換プロパティとして設定されているオブジェクトを持っています。私はこのオブジェクトのメンバー 'isLoaded'の値にアクセスしたいです。どうやってやるの。私のルータクラスは以下の通りです:ルートの設定メソッドで交換プロパティとして設定されたオブジェクトのメンバーにアクセスする

交換プロパティ「詳細」と設定されたオブジェクトのメンバーの値を取得します <exhange.details.isLoaded>を置き換えることができるものをここで
import org.apache.camel.CamelContext; 
import org.apache.camel.builder.RouteBuilder; 

public class DataLoader implements RoutesBuilder{ 


    public void configure() throws Exception { 
     from("direct:fetchDetails").setBody(simple("select * from details where loaded=<exhange.details.isLoaded>")).to("jdbc"); 
    } 

} 

+0

このFAQを参照してください:http://camel.apache.org/how-to-use-a-dynamic-uri-in-to.html –

答えて

0

それは次のようになります。

public class DataLoader implements RoutesBuilder{ 


    public void configure() throws Exception { 
     from("direct:fetchDetails").setBody(simple("select * from details where loaded=${exchangeProperty.details.loaded}")).to("jdbc"); 
    } 

} 

「詳細」内のオブジェクトは、プロパティのスタイルゲッターisLoaded()を持っている場合、これは動作します。詳細については、Simple言語リファレンスを参照してください。

関連する問題