検索

250.26. 初期状態の関数の使用

download PDF

Camel 2.14.1 から利用可能

Properties コンポーネントには、追加設定なしで以下の機能が含まれます。

  • env: OS 環境変数からプロパティーを検索する関数
  • sys - Java JVM システムプロパティーからプロパティーを検索する関数
  • service - サービス命名規則を使用して OS 環境変数からプロパティーを検索する機能
  • service.name - Camel 2.16 .1: ホスト名の部分のみを返すサービス命名規則を使用して、OS 環境変数からプロパティーを検索する関数
  • service.port - Camel 2.16 .1: ポートの部分のみを返すサービス命名規則を使用して、OS 環境変数からプロパティーを検索する関数

これらの関数は、環境からの値の検索を容易にすることを目的としています。そのまま使えるように、そのまま使用することができますが、以下のように簡単に使用できます。

  <camelContext xmlns="http://camel.apache.org/schema/blueprint">

    <route>
      <from uri="direct:start"/>
      <to uri="{`{env:SOMENAME}`}"/>
      <to uri="{`{sys:MyJvmPropertyName}`}"/>
    </route>
  </camelContext>

デフォルト値を使用することもできます。そのため、プロパティーが存在しない場合はデフォルト値を定義できます。ここでのデフォルト値は log:foolog:bar です。

  <camelContext xmlns="http://camel.apache.org/schema/blueprint">

    <route>
      <from uri="direct:start"/>
      <to uri="{`{env:SOMENAME:log:foo}`}"/>
      <to uri="{`{sys:MyJvmPropertyName:log:bar}`}"/>
    </route>
  </camelContext>

 

サービス関数は、サービス命名の idiom を使用して OS 環境変数で定義されるサービスを検索し、hostname: portを使用してサービスの場所を参照します。

  • NAME_SERVICE_HOST
  • NAME_SERVICE_PORT

つまり、サービスはプレフィックスとして _SERVICE_HOST および _SERVICE_PORT を使用します。サービスの名前が FOO である場合は、OS 環境変数を以下のように設定する必要があります。

export $FOO_SERVICE_HOST=myserver
export $FOO_SERVICE_PORT=8888

たとえば、FOO サービスがリモート HTTP サービスである場合、Camel エンドポイント URI でサービスを参照し、 HTTP コンポーネントを使用して HTTP 呼び出しを行うことができます。

<camelContext xmlns="http://camel.apache.org/schema/blueprint">
  <route>
    <from uri="direct:start"/>
    <to uri="http://{`{service:FOO}`}/myapp"/>
  </route>
</camelContext>

また、サービスが定義されていない場合(ローカルホストでサービスを呼び出すなど)、ユニットテスト用にデフォルト値を使用できます。

<camelContext xmlns="http://camel.apache.org/schema/blueprint">
  <route>
    <from uri="direct:start"/>
    <to uri="http://{`{service:FOO:localhost:8080}`}/myapp"/>
  </route>
</camelContext>
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.