検索

第280章 SFTP コンポーネント

download PDF

Camel バージョン 1.1 で利用可能

このコンポーネントは、FTP プロトコルおよび SFTP プロトコルを介してリモートファイルシステムへのアクセスを提供します。

Maven ユーザーは、このコンポーネントの pom.xml に以下の依存関係を追加する必要があります。

<dependency>
    <groupId>org.apache.camel</groupId>
    <artifactId>camel-ftp</artifactId>
    <version>x.x.x</version>
    <!-- use the same version as your Camel core version -->
</dependency>

詳細は、FTP コンポーネントを参照してください。

280.1. URI オプション

以下のオプションは、FTPS コンポーネント専用です。

SFTP コンポーネントにはオプションがありません。

SFTP エンドポイントは、URI 構文を使用して設定されます。

sftp:host:port/directoryName

以下の path パラメーターおよびクエリーパラメーターを使用します。

280.1.1. パスパラメーター(3 パラメーター):

Name説明デフォルトType

host

FTP サーバーに 必要な ホスト名

 

文字列

port

FTP サーバーのポート

 

int

directoryName

起動ディレクトリー

 

文字列

280.1.2. クエリーパラメーター(111 パラメーター):

Name説明デフォルトType

charset (common)

このオプションは、ファイルのエンコーディングを指定するために使用されます。これはコンシューマーで使用して、ファイルのエンコーディングを指定できます。これにより、Camel はファイルの内容にアクセスした場合にファイルの内容を読み込む必要があります。ファイルを書き込む場合も同様に、このオプションを使用して、ファイルを書き込む文字を指定することもできます。ファイルを書くときには、メッセージの内容をメモリーに読み込んで、データを設定済みの文字セットに変換しなければならない場合があります。そのため、大きなメッセージがある場合は使用しないでください。

 

文字列

切断 (共通)

使用後にリモートの FTP サーバーから適切な接続を解除するかどうか。切断すると、現在の FTP サーバーへの接続が切断されるだけです。停止するコンシューマーがある場合は、代わりにコンシューマー/ルートを停止する必要があります。

false

boolean

doneFileName (common)

プロデューサー: 指定された場合、元のファイルが書き込まれると、Camel は 2 番目に完了したファイルを書き込みます。完了ファイルは空になります。このオプションは、使用するファイル名を設定します。固定名を指定できます。または、動的プレースホルダーを使用することもできます。done ファイルは、常に元のファイルと同じフォルダーに書き込まれます。コンシューマー: 提供された場合、Camel は完了したファイルが存在する場合にのみファイルを消費します。このオプションは、使用するファイル名を設定します。固定名を指定できます。または、動的プレースホルダーを使用することもできます。完成したファイルは、常に元のファイルと同じフォルダーに期待されます。$file.name および $file.name.noext のみが動的プレースホルダーとしてサポートされます。

 

文字列

fileName (common)

File Language などの式を使用して、ファイル名を動的に設定します。コンシューマーの場合は、ファイル名フィルターとして使用されます。プロデューサーの場合、書き込みするファイル名を評価するために使用されます。式が設定されている場合は、CamelFileName ヘッダーよりも優先されます。(注記: ヘッダー自体は式にすることもできます。式オプションは String タイプと Expression 型の両方をサポートします。式が String タイプである場合、これは常に File 言語を使用して評価されます。式が Expression タイプである場合、指定された式タイプが使用されます。たとえば、OGNL 式を使用できます。コンシューマーの場合は、これを使用してファイル名を絞り込むことができます。そのため、インスタンスは File Language 構文 mydata-$date:yyyyMMdd.txt を使用して現在のファイルを使用できます。プロデューサーは、既存の CamelFileName ヘッダーよりも優先される CamelOverruleFileName ヘッダーをサポートします。CamelOverruleFileName は 1 度だけ使用されるヘッダーで、CamelFileName を一時的に保存し、後で復元する必要があるため、より簡単に使用できます。

 

文字列

jschLoggingLevel (common)

JSCH アクティビティーロギングに使用するロギングレベル。JSCH はデフォルトで INFO レベルで詳細なため、しきい値はデフォルトで WARN になります。

WARN

LoggingLevel

セパレーター (共通)

使用するパス区切り文字を設定します。UNIX = Uses unix スタイルの path separator Windows = Uses windows style path separator Auto =(is default)Use existing path separator in file name

UNIX

PathSeparator

fastExistsCheck (common)

このオプションを true に設定すると、camel-ftp はリストファイルを直接使用してファイルが存在するかどうかを確認します。一部の FTP サーバーはファイルを直接一覧表示できない可能性があるため、オプションが false の場合、camel-ftp は古い方法でディレクトリーを一覧表示し、ファイルが存在するかどうかを確認します。また、このオプションは readLock=changed にも影響し、ファイル情報を更新する高速チェックを実行するかどうかを制御します。FTP サーバーに多くのファイルがある場合に、このプロセスを迅速化するために使用できます。

false

boolean

bridgeErrorHandler (consumer)

コンシューマーの Camel ルーティングエラーハンドラーへのブリッジを許可します。よって、コンシューマーが受信メッセージなどの取得を試行している間に発生した例外は、メッセージとして処理され、ルーティングエラーハンドラーによって処理されます。デフォルトでは、コンシューマーは org.apache.camel.spi.ExceptionHandler を使用して例外に対応し、WARN または ERROR レベルでログに記録され、無視されます。

false

boolean

Delete (コンシューマー)

true の場合、ファイルは正常に処理された後に削除されます。

false

boolean

moveFailed (consumer)

Simple 言語に基づいて移動失敗式を設定します。たとえば、.error サブディレクトリーにファイルを移動するには、.error を使用します。注記: 失敗した場所にファイルを移動すると Camel はエラーを処理し、再度ファイルを取得しません。

 

文字列

noop (コンシューマー)

true の場合、ファイルは移動または削除されません。このオプションは、読み取り専用データまたは ETL タイプの要件に適しています。noop=true の場合、Camel はべき等=true も設定し、同じファイルを何度も消費しないようにします。

false

boolean

preMove (consumer)

処理前にファイル名を動的に設定するために使用される式(ファイル言語など)。たとえば、進行中のファイルを order ディレクトリーに移動するには、この値を order に設定します。

 

文字列

preSort (consumer)

pre-sort を有効にすると、コンシューマーはポーリング中にファイルとディレクトリー名をソートし、ファイルシステムから取得されたものになります。これは、ソートされた順序でファイルで操作する必要がある場合があります。pre-sort は、コンシューマーがフィルターをかけ、Camel が処理するファイルを受け入れる前に実行されます。このオプションは、無効を意味する default=false です。

false

boolean

再帰的 (コンシューマー)

ディレクトリーの場合は、すべてのサブディレクトリー内のファイルも検索します。

false

boolean

sendEmptyMessageWhenIdle (consumer)

ポーリングコンシューマーがファイルをポーリングしなかった場合、このオプションを有効にして、代わりに空のメッセージ (ボディーなし) を送信できます。

false

boolean

streamDownload (consumer)

ローカルの作業ディレクトリーを使用しない場合に使用するダウンロード方法を設定します。true に設定すると、リモートファイルは読み取り時にルートにストリーミングされます。false に設定すると、リモートファイルはルートに送信される前にメモリーに読み込まれます。

false

boolean

directoryMustExist (consumer)

startingDirectoryMustExist と同様ですが、再帰的なサブディレクトリーのポーリング時に適用されます。

false

boolean

download (consumer)

FTP コンシューマーがファイルをダウンロードするかどうか。このオプションを false に設定すると、メッセージボディーは null になりますが、コンシューマーはファイル名、ファイルサイズなどのファイルの詳細が含まれる Camel Exchange のトリガーになります。ファイルはダウンロードされないだけです。

false

boolean

exceptionHandler (consumer)

コンシューマーによるカスタム ExceptionHandler の使用を許可します。bridgeErrorHandler オプションが有効な場合は、このオプションは使用されていないことに注意してください。デフォルトでは、コンシューマーは例外に対応し、WARN または ERROR レベルでログに記録され、無視されます。

 

ExceptionHandler

exchangePattern (consumer)

コンシューマーがエクスチェンジを作成する際に交換パターンを設定します。

 

ExchangePattern

ignoreFileNotFoundOr PermissionError (consumer)

いつ無視するか(ディレクトリー内のファイルを一覧表示しようとするか、またはファイルをダウンロードする際に)無視するかどうか。これは存在しないか、パーミッションエラーが原因です。デフォルトでは、ディレクトリーまたはファイルが存在しないか、パーミッションが不十分な場合に、例外が発生します。このオプションを true に設定すると、代わりにこれを無視することができます。

false

boolean

inProgressRepository (consumer)

プラグ可能な in-progress リポジトリー org.apache.camel.spi.IdempotentRepository。進行中のリポジトリーは、現在使用中の進行中のファイルを考慮するために使用されます。デフォルトでは、メモリーベースのリポジトリーが使用されます。

 

String>

localWorkDirectory (consumer)

使用する場合は、ローカルの作業ディレクトリーを使用してリモートファイルの内容を直接ローカルファイルに保存し、コンテンツをメモリーにロードしないようにできます。これは、非常に大きなリモートファイルを使用しているため、メモリーを節約できることに有益です。

 

文字列

onCompletionException Handler (consumer)

カスタムの org.apache.camel.spi.ExceptionHandler を使用して、コンシューマーがコミットまたはロールバックを行う完了プロセス時に発生する例外を処理します。デフォルトの実装は、WARN レベルですべての例外をログに記録し、無視されます。

 

ExceptionHandler

pollStrategy (consumer)

プラグ可能な org.apache.camel.PollingConsumerPollingStrategy を使用すると、エクスチェンジが作成され、Camel でルーティングされる前に、通常はポーリング操作中に発生するエラー処理を制御するカスタム実装が提供できます。

 

PollingConsumerPoll Strategy

processStrategy (consumer)

プラグ可能な org.apache.camel.component.file.GenericFileProcessStrategy を使用すると、独自の readLock オプションまたは同様のものを実装できます。また、特別な対応ファイルが存在するなど、ファイルを使用する前に特別な条件が満たされなければならない場合にも使用できます。このオプションを設定すると、readLock オプションが適用されません。

 

GenericFileProcess Strategy<T>

startingDirectoryMustExist (consumer)

開始ディレクトリーが存在するかどうか。autoCreate オプションはデフォルトで有効になっています。つまり、開始ディレクトリーが存在しない場合には、通常、起動ディレクトリーが作成されます。autoCreate を無効にして、これを有効にして、開始ディレクトリーが存在することを確認できます。ディレクトリーが存在しない場合は例外が発生します。

false

boolean

useList (consumer)

ファイルのダウンロード時に LIST コマンドの使用を許可するかどうか。デフォルトは true です。ユースケースによっては、特定のファイルをダウンロードし、LIST コマンドを使用できないことがあるため、このオプションを false に設定します。このオプションを使用すると、ダウンロードする特定のファイルには、ファイルサイズ、タイムスタンプ、パーミッションなどのメタデータ情報が含まれません。これらの情報は、LIST コマンドが使用されている場合のみ取得できるためです。

true

boolean

fileExist (producer)

同じ名前のファイルがすでに存在する場合のアクション。デフォルトのオーバーライドは、既存のファイルを置き換えます。append: 既存のファイルにコンテンツを追加します。fail: GenericFileOperationException をスローし、既存のファイルがあることを示します。ignore: 問題を警告なしで無視し、既存のファイルは上書きしませんが、すべてが問題であることを前提としています。move - オプションでは、moveExisting オプションも設定する必要があります。eagerDeleteTargetFile オプションを使用して、ファイルの移動や既存のファイルがすでに存在する場合に実行内容を制御できます。それ以外の場合は、移動操作が失敗します。Move オプションは、ターゲットファイルを書き込む前に既存のファイルを移動します。TryRename は、tempFileName オプションが使用されている場合にのみ適用されます。これにより、存在チェックを実行せずに、一時的な名前から実際の名前へのファイルの名前変更を試すことができます。一部のファイルシステムや、特に FTP サーバーでは、このチェックの方が高速である場合があります。

オーバーライド

GenericFileExist

flatten (producer)

フラット化は、ファイル名パスをフラット化して先頭のパスを削除するために使用されるので、ファイル名だけになります。これにより、サブディレクトリーに再帰的に消費できますが、たとえば別のディレクトリーにファイルを書き込むと、それらのファイルは単一のディレクトリーに書き込まれます。これをプロデューサーで true に設定すると、CamelFileName ヘッダーのファイル名が任意の先頭パスに対して削除されます。

false

boolean

moveExisting (producer)

fileExist=Move が設定されている場合に使用するファイル名の計算に使用される式(ファイル言語など)。ファイルをバックアップサブディレクトリーに移動するには、バックアップを入力します。このオプションは、file:name、file:name.ext、file:name.noext、file:onlyname、file:onlyname.noext、file:ext、および file:parent の File Language トークンのみをサポートします。FTP コンポーネントは既存のファイルをベースとして、相対ディレクトリーにのみ移動できるため、file:parent は FTP コンポーネントではサポートされないことに注意してください。

 

文字列

tempFileName (producer)

tempPrefix オプションと同じですが、File 言語を使用する一時的なファイル名の命名をより細かく制御できます。

 

文字列

tempPrefix (producer)

このオプションは、一時的な名前を使用してファイルを書き込むために使用されます。次に、書き込みが完了したら、その名前を変更します。書き込まれているファイルを特定し、進行中のファイルで読み取るコンシューマー(排他的読み取りロックを使用しない)も回避できます。大容量のファイルをアップロードする場合に FTP が使用することがよくあります。

 

文字列

allowNullBody (producer)

ファイルの書き込み中に null ボディーを許可するかどうかを指定するのに使用します。true に設定すると、空のファイルが作成され、false に設定され、null ボディーを file コンポーネントに送信しようとすると、'Cannot write null body to file.' の GenericFileWriteException がスローされます。fileExist オプションを 'Override' に設定すると、ファイルが切り捨てられます。追加する場合は、ファイルは変更されません。

false

boolean

chmod (プロデューサー)

保存したファイルで chmod を設定できます。例: chmod=640

 

文字列

disconnectOnBatchComplete (producer)

Batch アップロードの完了後にリモート FTP サーバーから右に切断するかどうか。disconnectOnBatchComplete は、現在の FTP サーバーの接続のみを切断します。

false

boolean

eagerDeleteTargetFile (producer)

既存のターゲットファイルを活発に削除するかどうか。このオプションは、fileExists=Override オプションおよび tempFileName オプションを使用している場合にのみ適用されます。このパラメーターを使用して、一時ファイルが書き込まれる前にターゲットファイルを削除する(false に設定します)ことができます。たとえば、大きなファイルを作成し、一時ファイルが書き込まれている間にターゲットファイルを存在させたいとします。これにより、一時ファイルの名前がターゲットファイル名に変更される直前に、ターゲットファイルが最後の時点までのみ削除されます。また、このオプションは、fileExist=Move が有効で、既存のファイルが存在すると、既存のファイルを削除するかどうかを制御することもできます。このオプションの copyAndDeleteOnRenameFails false を指定した場合、既存のファイルが存在する場合は、移動操作の前に既存のファイルが削除されます。

true

boolean

keepLastModified (producer)

ソースファイルから最後に変更したタイムスタンプを保持します(存在する場合)。Exchange.FILE_LAST_MODIFIED ヘッダーを使用してタイムスタンプを見つけます。このヘッダーには java.util.Date またはタイムスタンプの long を含めることができます。タイムスタンプが存在し、オプションが有効な場合は、書き込まれたファイルにこのタイムスタンプを設定します。注記: このオプションは、ファイルプロデューサーにのみ適用されます。このオプションは、ftp プロデューサーでは使用できません。

false

boolean

sendNoop (producer)

FTP サーバーにファイルをアップロードする前に、事前書き込みチェックとして noop コマンドを送信するかどうか。これは、接続の検証がまだ有効であるため、デフォルトでは、ファイルのアップロードを警告なしで再接続できます。ただし、これにより問題が発生する場合は、このオプションをオフにすることができます。

true

boolean

autocreate( advanced)

ファイルのパス名に不足しているディレクトリーを自動的に作成します。ファイルコンシューマーの場合は、開始ディレクトリーを作成することを意味します。ファイルプロデューサーの場合、ファイルが書き込まれるディレクトリーを意味します。

true

boolean

bufferSize (advanced)

バイト単位で書き込みバッファーサイズを書き込みます。

131072

int

bulkRequests (advanced)

一度に処理できるリクエスト数を指定します。この値を増やすと、ファイル転送速度が若干向上しますが、メモリー使用量が増えます。

 

整数

圧縮 (詳細)

圧縮を使用するには、以下を行います。1 から 10 にレベルを指定します。重要: 圧縮サポートのために、必要な JSCH zlib JAR を手動でクラスパスに追加する必要があります。

 

int

connectTimeout (advanced)

FTPClient と JSCH の両方によって接続が確立されるまでの接続タイムアウトを設定します。

10000

int

maximumReconnectAttempts (advanced)

リモート FTP サーバーに接続しようとすると Camel が実行を試行する最大再接続試行を指定します。この動作を無効にするには 0 を使用します。

 

int

proxy (advanced)

カスタムに設定された com.j Creation.jsch.Proxy を使用します。このプロキシーは、ターゲット SFTP ホストからメッセージを消費/送信するために使用されます。

 

Proxy

reconnectDelay (advanced)

Camel は再接続を試みる前に待機します。

 

Long

serverAliveCountMax (advanced)

sftp セッションの serverAliveCountMax を設定できます。

1

int

serverAliveInterval (advanced)

sftp セッションの serverAliveInterval を設定できます。

 

int

soTimeout (advanced)

FTPClient でのみ使用されるようにタイムアウトを設定します。

300000

int

stepwise (advanced)

ファイルのダウンロード時、またはファイルのダウンロード時、またはディレクトリーにファイルをアップロードする場合に、ディレクトリーをステップ的に変更するかどうかを設定します。たとえば、セキュリティー上の理由から FTP サーバーのディレクトリーを変更できない場合は、これを無効にすることができます。

true

boolean

同期 (詳細)

同期処理を厳密に使用するか、Camel が非同期処理を使用できるようにするかを設定します(サポートされている場合)。

false

boolean

throwExceptionOnConnect Failed (advanced)

接続に失敗した場合(すべて)に例外がスローされるかどうか。デフォルトでは例外はスローされず、WARN がログに記録されます。これを使用して、例外がスローされ、org.apache.camel.spi.PollingConsumerPollStrategy ロールバックメソッドから発生した例外を処理できます。

false

boolean

タイムアウト (詳細)

FTPClient のみで使用された応答を待機するデータタイムアウトを設定します。

30000

int

antExclude (filter)

ant スタイルのフィルターの除外。antInclude と antExclude の両方を使用する場合は、antInclude よりも antExclude が優先されます。複数の除外はコンマ区切りの形式で指定できます。

 

文字列

antFilterCaseSensitive (filter)

付与フィルターに大文字と小文字を区別するフラグを設定します。

true

boolean

antInclude (filter)

ant スタイルのフィルターが含まれます。複数の包含は、コンマ区切りの形式で指定できます。

 

文字列

eagerMaxMessagesPerPoll (filter)

maxMessagesPerPoll の制限が Eager かどうかを制御できます。Eager が Eager の場合は、制限がファイルのスキャン中になります。false の場合、すべてのファイルをスキャンし、並び替えを実行します。このオプションを false に設定すると、すべてのファイルを最初にソートし、ポーリングを制限できます。ソートを実行するには、すべてのファイルの詳細がメモリー内にあるため、メモリー使用量を高くする必要があることに注意してください。

true

boolean

exclude (フィルター)

ファイルを除外するために使用されます(ファイル名が正規表現パターンと一致する場合)。プラス記号などのシンボルを使用する場合は、エンドポイント URI としてこれを設定する場合は RAW()構文を使用してこれを設定する必要があります。エンドポイント URI の設定に関する詳細は、「エンドポイント URI の設定」を参照してください。

 

文字列

Filter (フィルター)

プラグ可能なフィルター(org.apache.camel.component.file.GenericFileFilter クラス)フィルターが accept()メソッドで false を返すと、ファイルをスキップします。

 

GenericFileFilter<T>

filterDirectory (filter)

Simple 言語に基づいてディレクトリーをフィルタリングします。たとえば、現在の日付でフィルタリングするには、$date:now:yyMMdd などの単純な日付パターンを使用できます。

 

文字列

filterFile (filter)

Simple 言語に基づいてファイルをフィルタリングします。たとえば、ファイルサイズで絞り込むには、$file:size 5000 を使用できます。

 

文字列

idempotent (filter)

Idempotent Consumer EIP パターンを使用して、Camel がすでに処理されたファイルをスキップするオプション。デフォルトでは、1000 エントリーを保持するメモリーベースの LRUCache を使用します。noop=true の場合は、同じファイルを何度も使用することを回避するため、べき等性も有効になります。

false

ブール値

idempotentKey (filter)

カスタムのべき等キーを使用するには、以下を行います。デフォルトでは、ファイルの絶対パスが使用されます。File 言語を使用すると、ファイル名とファイルサイズを使用できます(idempotentKey=$file:name-$file:size)。

 

文字列

idempotentRepository (filter)

何も指定されておらず、べき等性が true の場合、デフォルトでは MemoryMessageIdRepository を使用するプラグ可能なリポジトリー org.apache.camel.spi.IdempotentRepository。

 

String>

include (フィルター)

ファイルを含めるために使用されます。ファイル名が正規表現パターンと一致する場合(一致する場合は大文字と小文字が区別されます)。プラス記号などのシンボルを使用する場合は、エンドポイント URI としてこれを設定する場合は RAW()構文を使用してこれを設定する必要があります。エンドポイント URI の設定に関する詳細は、「エンドポイント URI の設定」を参照してください。

 

文字列

maxDepth (filter)

ディレクトリーを再帰的に処理する際に通過する最大深度。

2147483647

int

maxMessagesPerPoll (filter)

ポーリングごとに収集する最大メッセージを定義します。デフォルトでは最大値は設定されません。1000 などの制限を設定して、数千のファイルがあるサーバーを起動すると回避できます。無効にするには、0 または negative の値を設定します。注記: このオプションが使用されている場合、File および FTP コンポーネントはソート前に制限されます。たとえば、100000 ファイルがあり、maxMessagesPerPoll=500 を使用する場合は、最初の 500 ファイルのみが選択され、その後にソートされます。eagerMaxMessagesPerPoll オプションを使用して、これを false に設定すると、最初にすべてのファイルをスキャンし、後でソートできます。

 

int

minDepth (filter)

ディレクトリーを再帰的に処理する際に処理を開始する最小深度。minDepth=1 を使用すると、ベースディレクトリーを意味します。minDepth=2 を使用すると、最初のサブディレクトリーを意味します。

 

int

Move (フィルター)

処理後にファイル名を動的に設定するために使用される式(Simple Language など)。ファイルを .done サブディレクトリーに移動するには、.done と入力します。

 

文字列

exclusiveReadLockStrategy (lock)

プラグ可能な read-lock を org.apache.camel.component.file.GenericFileExclusiveReadLockStrategy 実装とする。

 

GenericFileExclusive ReadLockStrategy<T>

readLock (lock)

ファイルに read-lock が排他的な場合にのみファイルをポーリングするために、コンシューマーによって使用されます(ファイルが進行中の場合や書き込みされていません)。Camel はファイルロックが許可されるまで待機します。このオプションは、ストラテジーでビルドを提供します。none - No read lock is in use markerFile - Camel はマーカーファイル(fileName.camelLock)を作成し、そのロックを保持します。このオプションは、FTP コンポーネントの変更には使用できません。Changed は、ファイルの長さ/変更タイムスタンプを使用して、ファイルがすでにコピーされているかどうかを検出します。少なくとも 1 つのセクションを使用してこれを判断するため、このオプションはファイルを他のプロセスとしてすぐに消費できませんが、JDK IO API はファイルを別のプロセスで現在使用しているかどうかを判断することができないため、信頼性が高まります。readLockCheckInterval オプションを使用してチェック頻度を設定できます。fileLock - は java.nio.channels.FileLock 用です。このオプションは FTP コンポーネントでは使用できません。この方法は、ファイルシステムが分散ファイルロックに対応している場合を除き、マウント/共有経由でリモートファイルシステムにアクセスするときに回避する必要があります。名前変更は、読み取り専用で読み取りロックを取得できる場合に、テストとしてファイルの名前を変更するためのものです。べき等性 -(ファイルコンポーネントのみ)べき等性は、idempotentRepository を read-lock として使用することです。これにより、べき等リポジトリーの実装がサポートする場合、クラスタリングをサポートする読み取りロックを使用できます。idempotent-changed -(ファイルコンポーネントのみ)idempotent-changed はidempotentRepository を使用し、結合された read-lock として変更されます。これにより、べき等リポジトリー実装がこれをサポートする場合、クラスタリングをサポートする読み取りロックを使用できます。idempotent-rename -(ファイルコンポーネントのみ)idempotent-rename はidempotentRepository を使用し、結合された read-lock として名前を変更します。これにより、べき等リポジトリーの実装がサポートしている場合、クラスタリングをサポートする読み取りロックを使用できます。注記: 各種の読み取りロックは、クラスターモードですべて機能する訳ではありません。この場合、異なるノードの同時コンシューマーは共有ファイルシステムの同じファイルに対して競合しています。atomic 操作を使用して空のマーカーファイルを作成しますが、クラスター内での動作が保証されません。fileLock の方が良好に機能しますが、ファイルシステムは分散ファイルロックなどに対応する必要があります。べき等リポジトリーが Hazelcast コンポーネントや Infinispan などのクラスタリングに対応している場合、べき等リポジトリーがクラスタリングをサポートする場合は、べき等読み取りロックを使用できます。

none

文字列

readLockCheckInterval (lock)

読み取りロックでサポートされている場合は、read-lock の間隔(ミリ秒単位)。この間隔は、読み取りロックの取得を試みる間にスリープするために使用されます。たとえば、変更した読み取りロックを使用する場合は、低速な書き込みのために、間隔をcater に設定できます。デフォルトの 1 秒。プロデューサーがファイルを書き込む速度が非常に遅い場合は、速度が長すぎる可能性があります。注記: FTP の場合、デフォルトの readLockCheckInterval は 5000 です。readLockTimeout の値は readLockCheckInterval よりも大きくなければなりませんが、thumb のルールは readLockCheckInterval よりも少なくとも 2 倍以上タイムアウトになるようにします。これは、読み取りロックプロセスでタイムアウトがヒットするまでにロックの取得を試行するために バブル時間が許可されるようにするために必要です。

1000

Long

readLockDeleteOrphanLock Files (lock)

Camel が適切にシャットダウンされない場合(JVM クラッシュなど)、ファイルシステム上に残っている可能性のある孤立した読み取りロックファイルを削除する際にマーカーファイルを使用したロックを削除するかどうか。このオプションを false に指定すると、孤立したロックファイルがあると、Camel がそのファイルを取得しようとしません。また、別のノードが同じ共有ディレクトリーからファイルを同時に読み取ることが原因として考えられます。

true

boolean

readLockLoggingLevel (lock)

読み取りロックを取得できなかったときに使用されるロギングレベル。デフォルトでは、WARN がログに記録されます。このレベルは OFF でロギングを持たずに変更できます。このオプションは、type の readLock(changed、fileLock、idempotent、idempotent-changed、idempotent-rename、rename)にのみ適用できます。

DEBUG

LoggingLevel

readLockMarkerFile (lock)

変更、名前変更、または排他的読み取りロックタイプでマーカーファイルを使用するかどうか。デフォルトでは、マーカーファイルが使用されるだけでなく、同じファイルを選択する他のプロセスに対して保護されます。このオプションを false に設定すると、この動作をオフにすることができます。たとえば、Camel アプリケーションによってマーカーファイルをファイルシステムに書き込みます。

true

boolean

readLockMinAge (lock)

このオプションは、readLock=change にのみ適用されます。このオプションでは、読み取りロックの取得を試行する前にファイルに必要な最小期間を指定できます。たとえば、readLockMinAge=300s を使用して、ファイルを最後の 5 分前とする必要があります。これにより、指定された期間以上のファイルの取得を試みるため、変更した読み取りロックが高速化されます。

0

Long

readLockMinLength (lock)

このオプションは、readLock=changed にのみ適用されます。このオプションを使用すると、最小限のファイルの長さを設定できます。デフォルトでは、Camel はファイルにデータが含まれることを想定するため、デフォルト値は 1 です。このオプションをゼロに設定するには、ゼロ長のファイルを使用できます。

1

Long

readLockRemoveOnCommit (lock)

このオプションは、readLock=idempotent にのみ適用されます。このオプションでは、ファイルの処理に成功し、コミットが行われるときに、べき等リポジトリーからファイル名のエントリーを削除するかどうかを指定できます。デフォルトでは、このファイルは削除されません。これにより、競合状態が発生しないため、別のアクティブなノードがファイルを取得できなくなります。代わりに、べき等リポジトリーは、X 分後にファイル名のエントリーをエビクトするように設定するエビクションストラテジーをサポートする可能性があります。これにより、競合状態に関する問題がなくなります。

false

boolean

readLockRemoveOnRollback (lock)

このオプションは、readLock=idempotent にのみ適用されます。このオプションでは、ファイルの処理に失敗し、ロールバックが行われるときに、べき等リポジトリーからファイル名のエントリーを削除するかどうかを指定できます。このオプションが false の場合、ファイル名のエントリーが確認されます(ファイルがコミットしたかのように)。

true

boolean

readLockTimeout (lock)

read-lock で対応している場合は、read-lock のオプションのタイムアウト(ミリ秒単位)。read-lock が許可されず、タイムアウトが発生すると、Camel はファイルをスキップします。次回のポーリング Camel はファイルを再度試行し、今回は読み取りロックが付与される可能性があります。0 以下の値を使用して、永久に指定します。現在、fileLock、change、および rename はタイムアウトに対応しています。注記: FTP の場合、デフォルトの readLockTimeout 値は 10000 ではなく 20000 です。readLockTimeout の値は readLockCheckInterval よりも大きくなければなりませんが、thumb のルールは readLockCheckInterval よりも少なくとも 2 倍以上タイムアウトになるようにします。これは、読み取りロックプロセスでタイムアウトがヒットするまでにロックの取得を試行するために バブル時間が許可されるようにするために必要です。

10000

Long

backoffErrorThreshold (scheduler)

backoffMultipler が開始する前に発生する必要がある後続のエラーポーリング (エラーによって失敗した) の数。

 

int

backoffIdleThreshold (scheduler)

backoffMultipler が開始する前に発生する必要がある後続のアイドルポーリングの数。

 

int

backoffMultiplier (scheduler)

後続のアイドル状態/エラーが連続して発生した場合に、スケジュールされたポーリングコンシューマーのバックオフを許可します。乗数は、実際に次の試行が行われる前にスキップされるポーリングの数です。このオプションが使用されている場合は、backoffIdleThreshold や backoffErrorThreshold も設定する必要があります。

 

int

遅延 (スケジューラー)

次のポーリングまでの時間 (ミリ秒単位)。また、60 秒(60 秒)、5m30s(5 分と 30 秒)、および 1h(1 時間)などの単位を使用して時間の値を指定することもできます。

500

Long

greedy (scheduler)

greedy が有効で、以前の実行が 1 つ以上のメッセージをポーリングした場合、ScheduledPollConsumer は即座に再度実行されます。

false

boolean

initialDelay (scheduler)

最初のポーリングが開始されるまでの時間 (ミリ秒単位)。また、60 秒(60 秒)、5m30s(5 分と 30 秒)、および 1h(1 時間)などの単位を使用して時間の値を指定することもできます。

1000

Long

runLoggingLevel (scheduler)

コンシューマーはポーリング時に開始/完了のログ行を記録します。このオプションを使用すると、ログレベルを設定できます。

TRACE

LoggingLevel

scheduledExecutorService (scheduler)

コンシューマーに使用するカスタム/共有スレッドプールを設定できます。デフォルトでは、各コンシューマーに独自の単一スレッドのスレッドプールがあります。

 

ScheduledExecutor Service

scheduler (scheduler)

camel-spring または camel-quartz2 コンポーネントからの cron スケジューラーを使用するには、以下を実行します。

none

ScheduledPollConsumer Scheduler

schedulerProperties (scheduler)

カスタムスケジューラーまたは Quartz2、Spring ベースのスケジューラーを使用する場合に追加のプロパティーを設定します。

 

マップ

startScheduler (scheduler)

スケジューラーを自動起動するかどうか。

true

boolean

timeUnit (scheduler)

initialDelay および delay オプションの時間単位。

ミリ秒

TimeUnit

useFixedDelay (scheduler)

固定遅延または固定レートを使用するかどうかを制御します。詳細は、JDK の ScheduledExecutorService を参照してください。

true

boolean

shuffle (sort)

ファイルの一覧をシャッフルする方法(ランダムな順序など)

false

boolean

sortBy (sort)

File 言語を使用した組み込みソート。入れ子のソートをサポートするため、ファイル名でソートされ、2 番目にグループの種類を変更した日付でソートできます。

 

文字列

sorter (sort)

java.util.Comparator クラスとしてのプラグ可能なソーター。

 

GenericFile<T>>

暗号 化(セキュリティー)

優先順に使用する暗号のコンマ区切りリストを設定します。可能な暗号名は JCraft JSCH で定義されます。例として、aes128-ctr,aes128-cbc,3des-ctr,3des-cbc,blowfish-cbc,aes192-cbc,aes256-cbc,aes256-cbc などがあります。指定されていない場合は、JSCH のデフォルト一覧が使用されます。

 

文字列

keyPair (security)

SFTP エンドポイントが公開鍵と秘密鍵の検証を実行できるように、公開鍵と秘密鍵のペアを設定します。

 

KeyPair

knownHosts (security)

SFTP エンドポイントがホストキーの検証を実行できるように、バイトアレイの known_hosts を設定します。

 

byte[]

knownHostsFile (security)

SFTP エンドポイントが鍵の検証をホストできるように known_hosts ファイルを設定します。

 

文字列

knownHostsUri (security)

SFTP エンドポイントが鍵の検証をホストできるように known_hosts ファイル(デフォルトではクラスパスからロードされる)を設定します。

 

文字列

パスワード (セキュリティー)

ログインに使用するパスワード

 

文字列

preferredAuthentications (security)

SFTP エンドポイントが使用される優先認証を設定します。例としては、password、publickey などがあります。指定されていない場合は、JSCH のデフォルト一覧が使用されます。

 

文字列

privateKey (security)

SFTP エンドポイントが秘密鍵の検証を実行できるように、秘密鍵をバイトとして設定します。

 

byte[]

privateKeyFile (security)

SFTP エンドポイントが秘密鍵の検証を実行できるように、秘密鍵ファイルを設定します。

 

文字列

privateKeyPassphrase (security)

SFTP エンドポイントが秘密鍵の検証を実行できるように、秘密鍵ファイルのパスフレーズを設定します。

 

文字列

privateKeyUri (security)

SFTP エンドポイントが秘密鍵の検証を実行できるように、秘密鍵ファイル(デフォルトではクラスパスからロードされる)を設定します。

 

文字列

strictHostKeyChecking (security)

厳密なホストキーチェックを使用するかどうかを設定します。

いいえ

文字列

ユーザー名 (セキュリティー)

ログインに使用するユーザー名

 

文字列

useUserKnownHostsFile (security)

knownHostFile が明示的に設定されていない場合は、System.getProperty(user.home)/.ssh/known_hosts のホストファイルを使用します。

true

boolean

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.