私はCamelのJava DSLを使用してルートを作成しています。
新しいプロセッサまたはBeanを作成せずにテキスト置換を実行したいと考えています。
私はこれ持っている:私は型の不一致エラーが出る「定数」を追加しない場合
.setHeader(MY_THING,
constant(my_template.replace("{id1}", simple("${header.subs_val}").getText())))
を。私がgetText()をsimple()の部分に置かないと、テキスト不一致の答えが得られます。私のルートを走らせるとき、それは{id}
をリテラル${header.subs_val}
と置き換えるのではなく、私の値をヘッダーから取り出します。しかし、引用符を取り除くと、コンパイルエラーが発生します。 Javaはもちろん${...}
の構文を知らない。
展開には数分かかるため、実験は高価です。
私は単純な置換をどうすればいいのですか。私がウェブ上で見つけていることは、実際にはうまくいくとは思われません。
EDIT - テンプレートとは何ですか?具体的には、文字列(それはURLです)
http://this/that/{id1}/another/thing
私はいくつかのコードを継承しましたので、私は単にto(...)
URLすることができませんし、特別.tof()
(??)の書式を適用します。
あなたの例では、my_templateとは何ですか? – ltsallas
そして、my_templaテは交換に関連していますか?詳細をご希望の場合は、ケースを再現しようとしています。テンプレート内のidというパラメータをheader.subs_valの内容に置き換えたいと思っていますが、テンプレートの内容を把握することはできません。 – ltsallas
@ltsallas –