Apache-camel-endpoints

提供:Dev Guides
移動先:案内検索

Apache Camel-エンドポイント

統合コードでエンドポイントがどのように見えるかについて学びました。 file:/order、jms:orderQueue、direct:distributeOrderDSL など、これまで使用してきた式がエンドポイントです。 ご覧のとおり、これらはURI仕様の形式に従います。 このURIの評価中に、 CamelContextEndpoint インスタンスを作成します。 DSLで*エンドポイント*の実装をインスタンス化する必要はありません。

以前の例を使用すると、Java DSLでエンドポイントをここで指定します-

from ("file:/order").to("jms:orderQueue");

そして、ここでの春に-

<route>
   <from uri = "file:/order"/>
   <to uri = "jms:orderQueue"/>
</route>

どちらの場合も、エンドポイントは定数文字列です。 場合によっては、実行時にこの文字列を作成することができます。 これを行うには、Java String フォーマッタメソッドを使用します。 Camelは、実行時にこれらのURI文字列を作成するための別の簡単なアプローチを提供します。 この目的のために、Camelは、ユーザー指定のパラメーターを持つ引数を受け入れる fromF および toF メソッドを提供します。 次のステートメントは、 toF メソッドの使用を示しています-

from("direct:distributeOrderDSL”).toF("file://%s?fileName=%s", path, name);

これらのメソッドにより、Java組み込みの String フォーマッターメソッドを使用する必要がなくなります。

Camelは、デフォルトでhttps://camel.apache.org/simplel[Simple]言語を使用してエンドポイント式を計算します。 Simple 言語は、 XPath の複雑さをあまり気にせずに、 Expressions および* Predicates を評価するために主に設計されました。 述語を評価するために、 *xpath などの別の言語をデフォルトの Simple 言語と組み合わせることができます。 これは、プラス記号を使用して他の言語を分離することにより行われます。 ここのコードスニペットは、 xpath 文字列を Simple で記述された式に連結する方法を示しています。

from("direct:start")
.toD("jms:${orderQueue}+language:xpath:/order/@id");
  • 春*では、ここと同じことを達成できます-
<route>
   <from uri = "direct:start"/>
   <toD uri = "jms:${orderQueue}+language:xpath:/order/@id"/>
</route>

必要な数の言語を連結できます。各言語は、前の言語からプラス記号で区切られています。 サポートされている言語のリストは、https://camel.apache.org/languagesl [こちら]にあります。