7.2. プロパティーファイルを使用した Camel K インテグレーションの設定


実行時にコマンドラインでプロパティーファイルを指定すると、Camel K インテグレーションに複数のプロパティーを設定できます。たとえば、--p file my-integration.properties プロパティープレースホルダーを使用してインテグレーションでプロパティーを定義する場合、{{my.items}} のようにプロパティーファイルを使用してコマンドラインでプロパティー値を指定できます。

手順

  1. インテグレーションプロパティーファイルを定義します。以下は、routing.properties ファイルの簡単な例を示しています。

    # List of items for random generation
    items=*radiator *engine *door window
    
    # Marker to identify priority items
    priority-marker=*
  2. プロパティーファイルに定義されたプロパティーを使用する Camel インテグレーションを開発します。次の Routing.java 統合の例では、{{items}} および {{priority-marker}} プロパティープレースホルダーを使用しています。

    ...
    from("timer:java?period=6000")
        .id("generator")
        .bean(this, "generateRandomItem({{items}})")
        .choice()
          .when().simple("${body.startsWith('{{priority-marker}}')}")
            .transform().body(String.class, item -> item.substring(priorityMarker.length()))
            .to("direct:priorityQueue")
          .otherwise()
            .to("direct:standardQueue");
    ...
  3. --property-file オプションを指定して kamel run コマンドを入力します。以下に例を示します。

    kamel run Routing.java --property-file routing.properties --dev

    以下のような出力が返されます。

    ...
    [1] 2020-04-13 15:20:30.424 INFO  [main] ApplicationRuntime - Listener org.apache.camel.k.listener.RoutesDumper@6e0dec4a executed in phase Started
    [1] 2020-04-13 15:20:31.461 INFO  [Camel (camel-k) thread #1 - timer://java] priority - !!Priority item: engine
    [1] 2020-04-13 15:20:37.426 INFO  [Camel (camel-k) thread #1 - timer://java] standard - Standard item: window
    [1] 2020-04-13 15:20:43.429 INFO  [Camel (camel-k) thread #1 - timer://java] priority - !!Priority item: door
    ...
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.