第108章 FTPS コンポーネント
Camel バージョン 2.2 以降で利用可能
このコンポーネントは、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 コンポーネント を参照してください。
108.1. URI オプション
以下のオプションは、FTPS コンポーネント専用です。
FTSP コンポーネントは、以下に示す 2 個のオプションをサポートしています。
名前 | 説明 | デフォルト | タイプ |
---|---|---|---|
useGlobalSslContext Parameters (security) | グローバル SSL コンテキストパラメーターの使用を有効にします。 | false | boolean |
resolveProperty Placeholders (advanced) | 起動時にコンポーネントがプロパティープレースホルダーを解決するかどうか。String タイプのプロパティーのみがプロパティープレースホルダーを使用できます。 | true | boolean |
FTPS エンドポイントは、URI 構文を使用して設定されます。
ftps:host:port/directoryName
パスおよびクエリーパラメーターを使用します。
108.1.1. パスパラメーター (3 パラメーター):
名前 | 説明 | デフォルト | タイプ |
---|---|---|---|
host | 必須 FTP サーバーのホスト名 | String | |
port | FTP サーバーのポート | int | |
directoryName | 開始ディレクトリー | 文字列 |
108.1.2. クエリーパラメーター (116 パラメーター)
名前 | 説明 | デフォルト | タイプ |
---|---|---|---|
binary (Common) | ファイル転送モードを BINARY または ASCII で指定します。デフォルトは ASCII (false) です。 | false | boolean |
charset (Common) | このオプションは、ファイルのエンコーディングを指定するために使用されます。コンシューマーでこれを使用して、ファイルのエンコーディングを指定できます。これにより、Camel は、ファイルコンテンツがアクセスされている場合にファイルコンテンツをロードする必要がある charset を知ることができます。ファイルを書き込む場合も同様に、このオプションを使用して、ファイルを書き込む charset を指定できます。ファイルを書き込むとき、Camel はメッセージの内容をメモリーに読み込んで、データを設定された charset に変換できるようにする必要があることに注意してください。つまり、メッセージが大きい場合は、これを使用しないでください。 | String | |
disconnect (Common) | 使用直後にリモート FTP サーバーから切断するかどうか。切断は、FTP サーバーへの現在の接続のみを切断します。停止したいコンシューマーがある場合は、代わりにコンシューマー/ルートを停止する必要があります。 | false | boolean |
doneFileName (Common) | Producer: 指定された場合、元のファイルが書き込まれると、Camel は 2 番目の完了ファイルを書き込みます。完了ファイルは空になります。このオプションは、使用するファイル名を設定します。固定の名前を指定できます。または、動的プレースホルダーを使用することもできます。完了ファイルは、常に元のファイルと同じフォルダーに書き込まれます。Consumer: 指定すると、Camel は完了ファイルが存在する場合にのみファイルを消費します。このオプションは、使用するファイル名を設定します。固定の名前を指定できます。または、動的なプレースホルダーを使用できます。完了ファイルは、常に元のファイルと同じフォルダーにあると想定されます。$file.name および $file.name.noext のみが動的プレースホルダーとしてサポートされます。 | String | |
fileName (Common) | File Language などの式を使用して、ファイル名を動的に設定します。コンシューマーの場合は、ファイル名フィルターとして使用されます。プロデューサーの場合、書き込むファイル名を評価するために使用されます。式が設定されている場合は、CamelFileName ヘッダーよりも優先されます。(注: ヘッダー自体を式にすることもできます)。式オプションは String タイプと Expression タイプの両方をサポートします。式が String タイプである場合、これは常にファイル言語を使用して評価されます。式が Expression タイプである場合、指定された Expression タイプが使用されます。これにより、たとえば OGNL 式を使用できます。コンシューマーの場合、これを使用してファイル名をフィルタリングできるため、たとえば、ファイル言語構文 mydata-$date:now:yyyyMMdd.txt を使用して今日のファイルを消費できます。プロデューサーは、既存の CamelFileName ヘッダーよりも優先される CamelOverruleFileName ヘッダーをサポートします。CamelOverruleFileName は一度だけ使用されるヘッダーであり、CamelFileName を一時的に保存して後で復元する必要がなくなるため、簡単になります。 | String | |
passiveMode (Common) | パッシブモード接続の設定デフォルトはアクティブモード接続です。 | false | boolean |
separator (common) | 使用するパス区切りを設定します。UNIX = UNIX スタイルのパス区切りを使用 Windows = Windows スタイルのパス区切りを使用 Auto = (デフォルト) ファイル名に既存のパス区切りを使用します | UNIX | PathSeparator |
transferLoggingInterval Seconds (Common) | 進行中のアップロードおよびダウンロード操作の進行状況をログに記録するときに使用する間隔を秒単位で設定します。これは、操作に時間がかかる場合に進行状況を記録するために使用されます。 | 5 | int |
transferLoggingLevel (Common) | アップロードおよびダウンロード操作の進行状況をログに記録するときに使用するログレベルを設定します。 | DEBUG | LoggingLevel |
transferLoggingVerbose (Common) | がアップロードおよびダウンロード操作の進行状況の詳細な (詳細な) ログを実行するかどうかを設定します。 | false | boolean |
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 (consumer) | true の場合、ファイルは正常に処理された後に削除されます。 | false | boolean |
moveFailed (consumer) | Simple 言語に基づいて move failure 式を設定します。たとえば、ファイルを .error サブディレクトリーに移動するには、.error を使用します。注: ファイルを失敗したロケーションに移動すると、Camel はエラーを処理し、ファイルを再度取得しません。 | String | |
noop (consumer) | true の場合、ファイルは移動または削除されません。このオプションは、読み取り専用データまたは ETL タイプの要件に適しています。noop=true の場合、Camel は idempotent=true も設定し、同じファイルを繰り返し消費しないようにします。 | false | boolean |
preMove (consumer) | 処理前に移動する場合にファイル名を動的に設定するために使用される式 (File 言語など)。たとえば、進行中のファイルを order ディレクトリーに移動するには、この値を order に設定します。 | String | |
preSort (consumer) | pre-sort が有効になっている場合、コンシューマーはポーリング中に、ファイルシステムから取得されたファイル名とディレクトリー名を並べ替えます。ソートされた順序でファイルを操作する必要がある場合に、これを行うことができます。pre-sort は、コンシューマーがフィルタリングを開始する前に実行され、Camel によって処理されるファイルを受け入れます。このオプション default=false で無効になっています。 | false | boolean |
recursive (consumer) | ディレクトリーの場合は、すべてのサブディレクトリー内のファイルも検索します。 | false | boolean |
resumeDownload (consumer) | ダウンロードの再開を有効にするかどうかを設定します。これは、FTP サーバーでサポートされている必要があります (ほとんどすべての FTP サーバーがサポートしています)。さらに、オプション localWorkDirectory を設定して、ダウンロードしたファイルがローカルディレクトリーに保存されるようにし、オプションバイナリーを有効にする必要があります。これは、ダウンロードの再開をサポートするために必要です。 | 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 | |
handleDirectoryParser AbsoluteResult (consumer) | ディレクトリーパーサーの結果が絶対パスである場合に、コンシューマーがパス内のサブフォルダーとファイルを処理する方法を設定できます。この理由は、一部の FTP サーバーが絶対パスでファイル名を返す場合があるためです。その場合、FTP コンポーネントは返されたパスを相対パスに変換することでこれを処理します。 | false | boolean |
ignoreFileNotFoundOr PermissionError (consumer) | (ディレクトリー内のファイルを一覧表示しようとするとき、またはファイルをダウンロードするとき)、存在しない場合、またはアクセス許可エラーが原因である場合に無視するかどうか。デフォルトでは、ディレクトリーまたはファイルが存在しないか、権限が不十分な場合、例外が出力されます。このオプションを true に設定すると、代わりにそれを無視できます。 | false | boolean |
inProgressRepository (consumer) | プラグ可能な in-progress リポジトリー org.apache.camel.spi.IdempotentRepository。in-progress リポジトリーは、現在進行中のファイルが消費されていることを示すために使用されます。デフォルトでは、メモリーベースのリポジトリーが使用されます。 | String> | |
localWorkDirectory (consumer) | 使用する場合、ローカルの作業ディレクトリーを使用して、リモートファイルのコンテンツをローカルファイルに直接保存し、コンテンツがメモリーに読み込まれないようにできます。これは、非常に大きなリモートファイルを使用している場合に、メモリーを節約するために役立ちます。 | String | |
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> | |
receiveBufferSize (consumer) | 受信 (ダウンロード) バッファーサイズ FTPClient のみが使用 | 32768 | int |
startingDirectoryMustExist (consumer) | 開始ディレクトリーの存在が必要かどうか。autoCreate オプションがデフォルトで有効になっていることに注意してください。これは、開始ディレクトリーが存在しない場合、通常は自動作成されることを意味します。autoCreate を無効にして有効にすると、開始ディレクトリーの存在が必要なことを確認できます。ディレクトリーが存在しない場合は例外が発生します。 | false | boolean |
useList (consumer) | ファイルのダウンロード時に LIST コマンドの使用を許可するかどうか。デフォルトは true です。場合によっては、特定のファイルをダウンロードする必要があり、LIST コマンドの使用が許可されていない場合があるため、このオプションを false に設定できます。このオプションを使用する場合、ダウンロードする特定のファイルには、ファイルサイズ、タイムスタンプ、権限などのメタデータ情報が含まれないことに注意してください。これらの情報は、LIST コマンドを使用している場合にのみ取得できるためです。 | true | boolean |
fileExist (producer) | 同じ名前のファイルがすでに存在する場合のアクション。Override: これがデフォルトで、既存のファイルを置き換えます。append: 既存ファイルにコンテンツを追加します。fail: GenericFileOperationException を出力し、既存ファイルがあることを示します。ignore: 問題を警告なしで無視して既存のファイルは上書きしませんが、問題は発生していないと想定します。move: オプションを設定するには、moveExisting オプションも使用する必要があります。オプション eagerDeleteTargetFile を使用して、ファイルを移動する際に既存ファイルが存在する場合に何をすべきか制御でき、そうでない場合は移動操作が失敗します。Move オプションは、ターゲットファイルを書き込む前に既存のファイルを移動します。TryRename は、tempFileName オプションが使用されている場合にのみ適用できます。これにより、存在チェックを実行せずに、一時的なファイル名から実際のファイル名への変更を試みることができます。このチェックは、一部のファイルシステム、特に FTP サーバーでは高速になる場合があります。 | オーバーライド | GenericFileExist |
flatten (producer) | flatten は、ファイル名パスをフラット化して先頭のパスを削除するために使用されるので、ファイル名だけになります。これにより、サブディレクトリーに再帰的に使用できますが、たとえばファイルを別のディレクトリーに書き込む場合、ファイルは単一のディレクトリーに書き込まれます。これをプロデューサーで true に設定すると、CamelFileName ヘッダーのファイル名が先頭パスから削除されます。 | false | boolean |
moveExisting (producer) | fileExist=Move が設定されている場合に使用するファイル名の計算に使用される式 (File 言語など)。ファイルをバックアップサブディレクトリーに移動するには、backup と入力します。このオプションは、file:name、file:name.ext、file:name.noext、file:onlyname、file:onlyname.noext、file:ext、および file:parent の File Language トークンのみをサポートします。FTP コンポーネントでは file:parent がサポートされていないことに注意してください。FTP コンポーネントは、既存のファイルを現在のディレクトリーをベースとする相対ディレクトリーにしか移動できないためです。 | String | |
tempFileName (producer) | tempPrefix オプションと同じですが、ファイル言語を使用するため、一時ファイル名の命名をより細かく制御できます。 | String | |
tempPrefix (producer) | このオプションは、一時的な名前を使用してファイルを書き込み、書き込みが完了した後に、その名前を実際の名前に変更するために使用されます。書き込み中のファイルを識別し、(排他的読み取りロックを使用せずに) コンシューマーが進行中のファイルを読み取らないようにするために使用できます。大きなファイルをアップロードするときに FTP でよく使用されます。 | String | |
allowNullBody (producer) | ファイルの書き込み中に null の本文を許可するかどうかを指定するために使用されます。true に設定すると空のファイルが作成され、false に設定して null の本文をファイルコンポーネントに送信しようとすると、Cannot write null body to file.という GenericFileWriteException が出力されます。fileExist オプションを Override に設定するとファイルは切り捨てられ、append に設定するとファイルは変更されません。 | false | boolean |
chmod (producer) | 保存されたファイルに chmod を設定できます。たとえば、chmod=640 です。 | String | |
disconnectOnBatchComplete (producer) | バッチアップロードが完了した直後にリモート FTP サーバーから切断するかどうか。disconnectOnBatchComplete は、FTP サーバーへの現在の接続のみを切断します。 | false | boolean |
eagerDeleteTargetFile (producer) | 既存のターゲットファイルを先行して削除するかどうか。このオプションは、fileExists=Override および tempFileName オプションを使用している場合にのみ適用されます。これを使用して、一時ファイルが書き込まれる前にターゲットファイルを削除することを無効化 (false に設定) できます。たとえば、大きなファイルを書き込んで、一時ファイルの書き込み中にターゲットファイルを存在させたい場合があります。これにより、一時ファイルの名前がターゲットファイル名に変更される直前まで、ターゲットファイルは削除されません。このオプションは、fileExist=Move が有効で、既存のファイルが存在する場合に、既存のファイルを削除するかどうかを制御するためにも使用されます。このオプション copyAndDeleteOnRenameFails が false の場合、既存のファイルが存在する場合は例外が出力されます。true の場合、移動操作の前に既存のファイルが削除されます。 | true | boolean |
keepLastModified (producer) | ソースファイル (存在する場合) からの最終変更のタイムスタンプを保持します。Exchange.FILE_LAST_MODIFIED ヘッダーを使用してタイムスタンプを見つけます。このヘッダーには、java.util.Date またはタイムスタンプ付きの long を含めることができます。タイムスタンプが存在し、オプションが有効な場合は、書き込まれたファイルにこのタイムスタンプが設定されます。注記: このオプションは、ファイルプロデューサーにのみ適用されます。このオプションは、ftp プロデューサーでは使用できません。 | false | boolean |
sendNoop (producer) | ファイルを FTP サーバーにアップロードする前に書き込み前チェックとして noop コマンドを送信するかどうか。接続の検証がまだ有効であるため、これはデフォルトで有効になっています。これにより、サイレントに再接続してファイルをアップロードできるようになります。ただし、これにより問題が発生する場合は、このオプションをオフにすることができます。 | true | boolean |
activePortRange (advanced) | アクティブモードでクライアント側のポート範囲を設定します。構文は minPort-maxPort です。両方のポート番号が含まれます。たとえば、すべての 1xxxx ポートを含めるには 10000-19999 です。 | String | |
autoCreate (advanced) | ファイルのパス名に不足しているディレクトリーを自動的に作成します。ファイルコンシューマーの場合は、開始ディレクトリーを作成することを意味します。ファイルプロデューサーの場合、ファイルが書き込まれるディレクトリーを意味します。 | true | boolean |
bufferSize (advanced) | 書き込みバッファーのサイズ (バイト単位)。 | 131072 | int |
connectTimeout (advanced) | 接続が確立されるのを待つための接続タイムアウトを設定します。FTPClient と JSCH の両方で使用されます | 10000 | int |
ftpClient (advanced) | FTPClient のカスタムインスタンスを使用します | FTPClient | |
ftpClientConfig (advanced) | FTPClientConfig のカスタムインスタンスを使用して、エンドポイントが使用する FTP クライアントを設定するには。 | FTPClientConfig | |
ftpClientConfigParameters (advanced) | FtpClientConfig. に追加パラメーターを提供するために FtpComponent によって使用されます | Map | |
ftpClientParameters (advanced) | FTPClient に追加のパラメーターを提供するために FtpComponent によって使用されます | Map | |
maximumReconnectAttempts (advanced) | Camel がリモート FTP サーバーへの接続を試行するときに実行する再接続の最大試行回数を指定します。この動作を無効にするには、0 を使用します。 | int | |
reconnectDelay (advanced) | ミリ秒単位の遅延 Camel は、再接続試行を実行する前に待機します。 | long | |
siteCommand (advanced) | ログインの成功後に実行されるオプションのサイトコマンドを設定します。複数のサイトコマンドは、改行文字を使用して区切ることができます。 | String | |
soTimeout (advanced) | Camel 2.4 の so タイムアウト FTP および FTPS のみを設定します。Camel 2.14.3/2.15.3/2.16 以降の SFTP。ミリ秒単位の SocketOptions.SO_TIMEOUT 値です。接続がハングしないように、これを 300000 に設定することをお勧めします。SFTP では、このオプションは JSCH セッションインスタンスのタイムアウトとして設定されます。 | 300000 | int |
stepwise (advanced) | ファイルをダウンロードするとき、またはファイルをディレクトリーにアップロードするときに、ファイル構造をトラバースしながらディレクトリーを段階的に変更するかどうかを設定します。たとえば、セキュリティー上の理由で FTP サーバーのディレクトリーを変更できない場合は、これを無効にすることができます。 | true | boolean |
synchronous (advanced) | 同期処理を厳密に使用するか、Camel が非同期処理を使用できるかどうかを設定します (サポートされている場合)。 | false | boolean |
throwExceptionOnConnect Failed (advanced) | 接続が失敗した (使い果たされた) 場合に例外を出力する必要があります。デフォルトでは、例外は出力されず、WARN がログに記録されます。これを使用して、例外の出力を有効にし、org.apache.camel.spi.PollingConsumerPollStrategy ロールバックメソッドから出力された例外を処理できます。 | false | boolean |
timeout (advanced) | 応答を待つためのデータタイムアウトを設定します。FTPClient だけが使用します | 30000 | int |
antExclude (filter) | ant スタイルのフィルターの除外。antInclude と antExclude の両方を使用する場合は、antInclude よりも antExclude が優先されます。コンマ区切り形式で複数の除外を指定できます。 | String | |
antFilterCaseSensitive (filter) | ant フィルターに大文字と小文字を区別するフラグを設定します | true | boolean |
antInclude (filter) | Ant スタイルフィルターの組み込み。コンマ区切り形式で複数の組み込みを指定できます。 | String | |
eagerMaxMessagesPerPoll (filter) | maxMessagesPerPoll の制限が eager かどうかを制御できます。eager の場合、ファイルのスキャン中に制限されます。false の場合、すべてのファイルをスキャンし、並び替えを実行します。このオプションを false に設定すると、すべてのファイルを最初にソートしてからポーリングを制限できます。ソートのためにすべてのファイルの詳細がメモリー内にあるため、メモリー使用量が大きくなることに注意してください。 | true | boolean |
exclude (filter) | ファイル名が正規表現パターンに一致する場合にファイルを除外するために使用されます (照合では大文字と小文字を区別します)。プラス記号などのシンボルを使用する場合は、エンドポイント URI としてこれを設定する場合は RAW() 構文を使用して設定する必要があります。詳細はエンドポイント URI の設定を参照してください。 | String | |
filter (filter) | org.apache.camel.component.file.GenericFileFilter クラスとしてのプラグ可能なフィルター。フィルターがその accept () メソッドで false を返す場合、ファイルをスキップします。 | GenericFileFilter<T> | |
filterDirectory (filter) | Simple 言語に基づいてディレクトリーをフィルタリングします。たとえば、現在の日付でフィルタリングするには、$date:now:yyMMdd などの単純な日付パターンを使用できます。 | String | |
filterFile (filter) | Simple 言語に基づいてファイルをフィルタリングします。たとえば、ファイルサイズでフィルタリングするには、$file:size 5000 を使用できます。 | String | |
idempotent (filter) | Camel が既に処理されたファイルをスキップできるように、Idempotent Consumer EIP パターンを使用するオプション。デフォルトでは、1000 エントリーを保持するメモリーベースの LRUCache を使用します。noop=true の場合は、同じファイルを何度も使用することを回避するため、べき等性も有効になります。 | false | Boolean |
idempotentKey (filter) | カスタムのべき等性キーを使用するには、以下を行います。デフォルトでは、ファイルの絶対パスが使用されます。File 言語を使用できます。たとえば、ファイル名とファイルサイズを使用するには idempotentKey=$file:name-$file:size となります。 | String | |
idempotentRepository (filter) | 何も指定されておらず、べき等性が true の場合、プラグ可能なリポジトリー org.apache.camel.spi.IdempotentRepository はデフォルトで MemoryMessageIdRepository を使用します。 | String> | |
include (filter) | ファイル名が正規表現パターンに一致する場合にファイルを含めるために使用されます (照合では大文字と小文字を区別します)。プラス記号などのシンボルを使用する場合は、エンドポイント URI としてこれを設定する場合は RAW() 構文を使用して設定する必要があります。詳細はエンドポイント URI の設定を参照してください。 | String | |
maxDepth (filter) | ディレクトリーを再帰的に処理する際にトラバースする最大深度。 | 2147483647 | int |
maxMessagesPerPoll (filter) | ポーリングごとに収集する最大メッセージを定義します。デフォルトでは最大値は設定されていません。たとえば制限を 1000 などに設定して、数千のファイルがあるサーバーの起動を回避できます。無効にするには、0 または負の値を設定します。注記: このオプションが使用されている場合、File および FTP コンポーネントはソート前に制限されます。たとえば、100000 個のファイルがある場合に maxMessagesPerPoll=500 を使用すると、最初の 500 個のファイルのみ選択され、ソートされます。eagerMaxMessagesPerPoll オプションを使用して、これを false に設定すると、最初にすべてのファイルをスキャンし、後でソートできます。 | int | |
minDepth (filter) | ディレクトリーを再帰的に処理する際に処理を開始する最小深度。minDepth=1 はベースディレクトリーを意味します。minDepth=2 は最初のサブディレクトリーを意味します。 | int | |
move (filter) | 処理後に移動する場合にファイル名を動的に設定するために使用される式 (Simple 言語など)。ファイルを .done サブディレクトリーに移動するには、.done と入力します。 | String | |
exclusiveReadLockStrategy (lock) | org.apache.camel.component.file.GenericFileExclusiveReadLockStrategy 実装としてのプラグ可能な読み取りロック。 | GenericFileExclusive ReadLockStrategy<T> | |
readLock (lock) | ファイルに排他的な読み取りロックがある (つまり、ファイルが進行中または書き込み中ではない) 場合にのみファイルをポーリングするために、コンシューマーが使用します。Camel はファイルロックが許可されるまで待機します。このオプションは、ストラテジーでビルドを提供します。none: 読み取りロックは使用されていません。markerFile: Camel はマーカーファイル (fileName.camelLock) を作成してロックを保持します。このオプションは、FTP コンポーネント changed では使用できません。changed は、ファイルの長さ/変更のタイムスタンプを使用して、ファイルが現在コピーされているかどうかを検出します。この判断には 1 秒以上かかるため、このオプションは他のオプションほど速くファイルを消費できませんが、JDK IO API はファイルが別のプロセスで使用中かどうか判断できないため、信頼性が高くなります。readLockCheckInterval オプションを使用してチェック頻度を設定できます。fileLock は java.nio.channels.FileLock 用です。このオプションは FTP コンポーネントでは使用できません。ファイルシステムが分散ファイルロックをサポートしていない限り、マウント/共有によりリモートファイルシステムにアクセスする場合、このアプローチは避ける必要があります。rename: 排他的な読み取りロックを取得できるかどうかのテストとしてファイル名の変更を試みるために使用します。idempotent: (ファイルコンポーネントのみ) 読み取りロックとして idempotentRepository を使用するためのものです。これにより、べき等性リポジトリーの実装がサポートする場合に、クラスターリングをサポートする読み取りロックを使用できます。idempotent-changed: (ファイルコンポーネントのみ) idempotentRepository および changed を結合された read-lock として使用するためのものです。これにより、べき等性リポジトリーの実装がサポートする場合に、クラスターリングをサポートする読み取りロックを使用できます。idempotent-rename: (ファイルコンポーネントのみ) idempotentRepository および rename を結合された読み取りロックとして使用するためのものです。これにより、べき等性リポジトリーの実装がサポートしている場合、クラスターリングをサポートする読み取りロックを使用できます。注記: さまざまな読み取りロックは、異なるノード上の同時コンシューマーが共有ファイルシステム上の同じファイルを求めて競合するクラスターモードでの動作にすべて適しているわけではありません。アトミックに近い操作を使用して空のマーカーファイルを作成する markerFile ですが、クラスターでの動作は保証されていません。fileLock の方が良好に機能しますが、ファイルシステムは分散ファイルロックなどに対応する必要があります。べき等性リポジトリーが Hazelcast コンポーネントや Infinispan などのクラスターリングに対応している場合、べき等性等読み取りロックを使用できます。 | none | String |
readLockCheckInterval (lock) | 読み取りロックでサポートされている場合、読み取りロックの間隔 (ミリ単位)。この間隔は、読み取りロックを取得する試行間のスリープに使用されます。たとえば、changed 読み取りロックを使用する場合、遅い書き込みに対応するために間隔を長く設定できます。デフォルトは 1 秒ですが、プロデューサーによるファイルの書き込みが非常に遅い場合は短すぎる可能性があります。注記: FTP の場合、デフォルトの readLockCheckInterval は 5000 です。readLockTimeout の値は readLockCheckInterval よりも大きくする必要がありますが、thumb のルールではタイムアウトは readLockCheckInterval の 2 倍以上にする必要があります。これは、タイムアウトに達する前に読み取りロックプロセスがロックを取得しようとするためのアンブル時間を確保するために必要です。 | 1000 | long |
readLockDeleteOrphanLock Files (lock) | Camel が適切にシャットダウンされなかった場合 (JVM クラッシュなど)、マーカーファイルを使用した読み取りロックが、ファイルシステムに残っている可能性のある孤立した読み取りロックファイルを起動時に削除する必要があるかどうか。このオプションを false にすると、孤立したロックファイルがあると Camel はそのファイルを取得しようとしなくなります。これは、別のノードが同じ共有ディレクトリーから同時にファイルを読み取っているが原因である可能性もあります。 | true | boolean |
readLockLoggingLevel (lock) | 読み取りロックを取得できなかったときに使用されるロギングレベル。デフォルトでは、WARN がログに記録されます。このレベルを変更できます。たとえば、ログを記録しないように OFF に設定できます。このオプションを適用できる readLock タイプは、changed、fileLock、idempotent、idempotent-changed、idempotent-rename、rename のみです。 | DEBUG | LoggingLevel |
readLockMarkerFile (lock) | changed、rename、exclusive の読み取りロックタイプでマーカーファイルを使用するかどうか。デフォルトでは、他のプロセスが同じファイルを取得するのを防ぐために、マーカーファイルも使用されます。このオプションを false に設定すると、この動作をオフにできます。たとえば、Camel アプリケーションによってマーカーファイルをファイルシステムに書き込みたくない場合などです。 | true | boolean |
readLockMinAge (lock) | このオプションは、readLock=change にのみ適用されます。このオプションは、読み取りロックを取得しようとする前に、ファイルが経過しなければならない最小期間を指定できます。たとえば、readLockMinAge=300s を使用して、ファイルに 5 分以上の経過を要求します。これにより、指定された期間以上のファイルの取得を試みるため、changed 読み取りロックが高速化されます。 | 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) | 読み取りロックでサポートされている場合、読み取りロックのオプションのタイムアウト (ミリ秒単位)。読み取りロックを許可できず、タイムアウトがトリガーされた場合、Camel はファイルをスキップします。次のポーリングで、Camel はファイルを再試行します。このときに、読み取りロックが許可される可能性があります。無期限を指定するには、0 以下の値を使用します。現在、fileLock、changed、および 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 | |
delay (scheduler) | 次のポーリングまでの時間 (ミリ秒単位)。60s (60 秒)、5m30s (5 分 30 秒)、1h (1 時間) などの単位を使用して時間値を指定することもできます。 | 500 | long |
greedy (scheduler) | greedy が有効で、以前の実行が 1 つ以上のメッセージをポーリングした場合、ScheduledPollConsumer は即座に再度実行されます。 | false | boolean |
initialDelay (scheduler) | 最初のポーリングが開始されるまでの時間 (ミリ秒単位)。60s (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 ベースのスケジューラーを使用する場合に、追加のプロパティーを設定します。 | Map | |
startScheduler (scheduler) | スケジューラーを自動起動するかどうか。 | true | boolean |
timeUnit (scheduler) | initialDelay および delay オプションの時間単位。 | MILLISECONDS | TimeUnit |
useFixedDelay (scheduler) | 固定遅延または固定レートを使用するかどうかを制御します。詳細は、JDK の ScheduledExecutorService を参照してください。 | true | boolean |
shuffle (sort) | ファイルの一覧をシャッフルします (ランダムな順序でのソート) | false | boolean |
sortBy (sort) | File 言語を使用したビルトインソート。ネストされたソートをサポートしているため、ファイル名でのソートと、2 つ目のグループとして変更日でソートできます。 | String | |
sorter (sort) | java.util.Comparator クラスとしてのプラグ可能なソーター。 | GenericFile<T>> | |
アカウント (security) | ログインに使用するアカウント | String | |
disableSecureDataChannel Defaults (security) | このオプションを使用して、安全なデータチャネルを使用する場合のデフォルトオプションを無効にします。これにより、使用する execPbsz および execProt 設定を完全に制御できます。デフォルトは false です。 | false | boolean |
execPbsz (security) | セキュアなデータチャネルを使用する場合、実行保護バッファーサイズを設定できます。 | Long | |
execProt (security) | 実行保護レベル PROT コマンド。C - クリア S - 安全 (SSL プロトコルのみ) E - 社外秘 (SSL プロトコルのみ) P - プライベート | String | |
ftpClientKeyStore Parameters (security) | キーストアのパラメーターを設定する | Map | |
ftpClientTrustStore Parameters (security) | トラストストアパラメーターを設定する | Map | |
isImplicit (security) | セキュリティーモード (Implicit/Explicit) を設定します。true - 暗黙モード/False - 明示モード | false | boolean |
password (security) | ログインに使用するパスワード | String | |
securityProtocol (security) | 基礎となるセキュリティープロトコルを設定します。 | TLS | String |
sslContextParameters (security) | リンク FtpsEndpointftpClientKeyStoreParameters、リンク ftpClientTrustStoreParameters、およびリンク FtpsConfigurationgetSecurityProtocol() の設定をオーバーライドする JSSE 設定を取得します。 | SSLContextParameters | |
username (security) | ログインに使用するユーザー名 | 文字列 |