検索

95.5. プロデューサでの式パラメーターの使用

download PDF

Camel 2.16.1 以降では、Simple 式も使用できます。これにより、メッセージボディーで OGNL のような表記を使用できます。ここでは、getLicense および getMinimum メソッドがあることを前提としています。

@NAME(projects)
  SELECT *
  FROM projects
  WHERE license = :${body.license} AND id > :${body.minimum}
  ORDER BY id

95.5.1. コンシューマーでの式パラメーターの使用

Camel 2.23 以降で利用可能

ElSql コンポーネントをコンシューマーとして使用する場合、式パラメーター (Simple 言語) を使用して、Bean でメソッドを呼び出して ID や日付などを取得するなど、動的クエリーパラメーターを作成することもできるようになりました。

たとえば、以下のサンプルでは、Bean myIdGenerator で nextId メソッドを呼び出します。

@NAME(projectsByIdBean)
  SELECT *
  FROM projects
  WHERE id = :${bean#myIdGenerator.nextId}
重要

上記の Bean 構文では、単純な式で : の代わりに # を使用する必要があることに注意してください。これは、コロンでパラメーターを区切る Spring クエリーパラメーターパーサーが使用されているためです。また、Spring クエリーパーサーはクエリーごとに Bean を 2 回呼び出すことに注意してください。

また、Bean には次のメソッドがあります。

public static class MyIdGenerator {

    private int id = 1;

    public int nextId() {
        // spring will call this twice, one for initializing query and 2nd for actual value
        id++;
        return id / 2;
    }

メッセージボディーとヘッダーを持つ既存の Exchange がないことに注意してください。したがって、コンシューマーで使用できる単純な式は、この例のように Bean メソッドを呼び出すのに最も役立ちます。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.