2.25. ファイル
ファイルの読み取りと書き込みをします。
2.25.1. 含まれるもの リンクのコピーリンクがクリップボードにコピーされました!
-
File コンポーネント、URI 構文:
file:directoryName
使用方法と設定の詳細については、上記リンクを参照してください。
2.25.2. Maven コーディネート リンクのコピーリンクがクリップボードにコピーされました!
code.quarkus.redhat.com でこのエクステンションを使用して新しいプロジェクトの作成
または、既存のプロジェクトに座標を追加します。
<dependency> <groupId>org.apache.camel.quarkus</groupId> <artifactId>camel-quarkus-file</artifactId> </dependency>
<dependency>
<groupId>org.apache.camel.quarkus</groupId>
<artifactId>camel-quarkus-file</artifactId>
</dependency>
2.25.3. 追加の Camel Quarkus 設定 リンクのコピーリンクがクリップボードにコピーされました!
2.25.3.1. 特定のエンドポイントから消費するコンシューマがクラスタ内で 1 つだけであること リンクのコピーリンクがクリップボードにコピーされました!
同じルートが複数の JVM にデプロイされている場合、このエクステンションを マスターのエクステンション と組み合わせて使用すると便利な場合があります。このようなセットアップでは、キャメルマスター namespace 全体で一度に 1 つのコンシューマーがアクティブになります。
たとえば、以下のルートを複数の JVM にデプロイするとします。
from("master:ns:timer:test?period=100").log("Timer invoked on a single JVM at a time");
from("master:ns:timer:test?period=100").log("Timer invoked on a single JVM at a time");
以下のようなプロパティーを使用して、ファイルクラスターサービスを有効にすることができます。
quarkus.camel.cluster.file.enabled = true quarkus.camel.cluster.file-root = target/cluster-folder-where-lock-file-will-be-held
quarkus.camel.cluster.file.enabled = true
quarkus.camel.cluster.file-root = target/cluster-folder-where-lock-file-will-be-held
その結果、1 つのコンシューマーが ns
camel マスター namespace 全体でアクティブになります。これは、ある時点で、1 つのタイマーだけがすべての JVM 間でエクスチェンジを生成することを意味します。つまり、メッセージは一度に 1 つの JVM で 100 ミリ秒ごとにログに記録されます。
ファイルクラスターサービスは、quarkus.camel.cluster.file.*
プロパティーを微調整できます。
設定プロパティー | タイプ | デフォルト |
---|---|---|
quarkus.camel.cluster.file.* 設定に従って、ファイルロッククラスターサービスを自動的に設定するかどうか。 |
|
|
クラスターサービス ID (デフォルトは null)。 |
| |
ルートパス (デフォルトは null)。 |
| |
サービス検索の順序/優先度 (デフォルトは 2147482647)。 |
| |
ロックの取得を開始するまでの待機時間 (デフォルトは 1000 ミリ秒)。 |
| |
ロックの取得を試みるまでの待機時間 (デフォルトは 10000 ミリ秒)。 |
| |
サービスに関連付けられたカスタム属性 (デフォルトは空のマップ)。 |
|
ビルド時に修正される設定プロパティー。その他の設定プロパティーはすべて、ランタイム時にオーバーライドが可能です。