私はラクダ天気のサービスを使用する単純なアプリケーションを持っています。私はコンソールに結果を記録することができますが、Stringのような変数に結果を保存したいので、JLabelなどでその結果を表示できます。Apache camelの結果が文字列として返される
私のルートは以下のとおりです。
from("weather:foo?location=Breda,Netherlands&appid=appid")
.to("bean:outPutBean?method=printLn")
.to("stream:out");
outputBeanは、この時点で、単純なリターンよりも何もしません。私はその関数でJSONパーサを作成したいと思います。
public class OutputBean {
public String printLn(String msg){
return msg;
}
}
どのように私はvariabeleのルートからの結果を保存することができますので、後でデータを使用できますか?
EDITは: 私のコードは今のようになります。
camelContext.addRoutes(new RouteBuilder() {
@Override
public void configure() throws Exception {
from("weather:foo?location="+ txtCity.getText() + "&mode=xml&units=metric&appid=appid")
.setHeader("temperature", XPathBuilder.xpath("//temperature/@value", String.class))
.to("bean:outPutBean?method=printLn")
.to("stream:out");
}
});
[HERE]
public class OutputBean {
public String printLn(@Header("temperature")String temperature){
return "Output: " + temperature;
}
}
は、どのように私は[ここ]の場所に温度variabeleを使用できますか?
に保管プロセッサでは、ルート
値をパラメータとしてダイアログを表示する呼び出しを呼び出すだけです。あなたはどういう意味ですか?あなたは今すぐ値をあなたのダイアログコードがどこに渡すことがあります。 –
ニース、私は私の豆のplacenameを取得します。しかし、私が本当に必要欲しいのはこれです:+ txtCity: 'camelContext.addRoutes(新RouteBuilder(){ \t @Override \t公共ボイドのconfigure()( "?FOO場所=天気" から例外{ \t \tをスローします。 getText()+ "&モード= XML&単位= IMPERIAL&APPID = APPID") \t \t .setHeader( "cityName"、XPathBuilder.xpath( "//市/名@"、String.class)) \t \t .TO(「豆:outPutBean?method = printLn ") \t \t。to( "stream:out"); \t \t} \t})。 \t \t \t \t JOptionPane.showMessageDialog(ヌル、cityName); ' だから私はルートの後cityNameを使用します。 – NVO