2

私はjavascriptファイルを持っています(いくつかの関数定義を続けています)。ルート内でCamelが使用するエンジンにファイルjavascriptを含めたいと思います(理想的には、Camelコンテキスト全体でこれを1回実行することをお勧めします。

これを行う方法はありますか?もしそうなら、どのように?

私は次のようなことをしたいと思います:

<route>
   <from uri="direct:example" />
   <to uri="jdbc:mydb" />
   <setBody>
       <javaScript>
           var b = {
               "name":    wrapname(body.get("name")),
               "country": wrapcountry(body.get("country"))
           }
           JSON.stringify(b); 
       </javaScript>
   </setBody>
</route>

インポートしたいjavaScriptファイルで定義されている関数はどこwrapnameにありますか。wrapcountry(これらは異なるルートで使用される場合があります)。

補助的な質問は、javaScriptエンジンがCamelで初期化されるのはいつですか(グローバルに1回、javaScript式ごとに)?

ありがとう、ベンジャミン

4

2 に答える 2

1

Camel 2.11 以降、外部リソースからスクリプトをロードできます。

スクリプトを外部化して、「classpath:」、「file:」、「http:」などのリソースから Camel にロードさせることができます。これは、次の構文を使用して行われます: 「resource:scheme:location」。たとえば、クラスパス上のファイルを参照するには、次のことができます。

詳細については、 http://camel.apache.org/javascript.htmlを参照してください。

于 2013-01-31T16:43:25.043 に答える