You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2023/12/01 11:34:51 UTC

(camel) branch main updated: CAMEL-20172: Regen

This is an automated email from the ASF dual-hosted git repository.

davsclaus pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel.git


The following commit(s) were added to refs/heads/main by this push:
     new 1ba2c83a29e CAMEL-20172: Regen
1ba2c83a29e is described below

commit 1ba2c83a29ee97b98068ca18da6a72da6bb885df
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Fri Dec 1 12:34:38 2023 +0100

    CAMEL-20172: Regen
---
 .../camel/catalog/components/azure-files.json      | 153 ++++++++--------
 .../org/apache/camel/catalog/components/file.json  | 139 +++++++--------
 .../org/apache/camel/catalog/components/ftp.json   | 157 ++++++++--------
 .../org/apache/camel/catalog/components/ftps.json  | 173 +++++++++---------
 .../org/apache/camel/catalog/components/scp.json   |  41 ++---
 .../org/apache/camel/catalog/components/sftp.json  | 197 +++++++++++----------
 .../file/azure/FilesEndpointConfigurer.java        |   6 +
 .../file/azure/FilesEndpointUriFactory.java        |   3 +-
 .../camel/component/file/azure/azure-files.json    | 153 ++++++++--------
 .../component/file/FileEndpointConfigurer.java     |   6 +
 .../component/file/FileEndpointUriFactory.java     |   3 +-
 .../org/apache/camel/component/file/file.json      | 139 +++++++--------
 .../file/remote/FtpEndpointConfigurer.java         |   6 +
 .../file/remote/FtpEndpointUriFactory.java         |   3 +-
 .../file/remote/FtpsEndpointUriFactory.java        |   3 +-
 .../file/remote/SftpEndpointConfigurer.java        |   6 +
 .../file/remote/SftpEndpointUriFactory.java        |   3 +-
 .../apache/camel/component/file/remote/ftp.json    | 157 ++++++++--------
 .../apache/camel/component/file/remote/ftps.json   | 173 +++++++++---------
 .../apache/camel/component/file/remote/sftp.json   | 197 +++++++++++----------
 .../camel/component/scp/ScpEndpointConfigurer.java |   6 +
 .../camel/component/scp/ScpEndpointUriFactory.java |   3 +-
 .../org/apache/camel/component/scp/scp.json        |  41 ++---
 23 files changed, 908 insertions(+), 860 deletions(-)

diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/azure-files.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/azure-files.json
index bc871ef79ed..a5bf806001e 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/azure-files.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/azure-files.json
@@ -64,81 +64,82 @@
     "onCompletionExceptionHandler": { "index": 22, "kind": "parameter", "displayName": "On Completion Exception Handler", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "object", "javaType": "org.apache.camel.spi.ExceptionHandler", "deprecated": false, "autowired": false, "secret": false, "description": "To use a custom org.apache.camel.spi.ExceptionHandler to handle any thrown exceptions that happens during the file on completion process where t [...]
     "pollStrategy": { "index": 23, "kind": "parameter", "displayName": "Poll Strategy", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "object", "javaType": "org.apache.camel.spi.PollingConsumerPollStrategy", "deprecated": false, "autowired": false, "secret": false, "description": "A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the po [...]
     "processStrategy": { "index": 24, "kind": "parameter", "displayName": "Process Strategy", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "object", "javaType": "org.apache.camel.component.file.GenericFileProcessStrategy<com.azure.storage.file.share.models.ShareFileItem>", "deprecated": false, "autowired": false, "secret": false, "description": "A pluggable org.apache.camel.component.file.GenericFileProcessStrategy allowing you to implement you [...]
-    "fileExist": { "index": 25, "kind": "parameter", "displayName": "File Exist", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "org.apache.camel.component.file.GenericFileExist", "enum": [ "Override", "Append", "Fail", "Ignore", "Move", "TryRename" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "Override", "description": "What to do if a file already exists with the same name. Override, which is the default, repl [...]
-    "flatten": { "index": 26, "kind": "parameter", "displayName": "Flatten", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Flatten is used to flatten the file name path to strip any leading paths, so it's just the file name. This allows you to consume recursively into sub-directories, but when you eg write the files to another directory [...]
-    "jailStartingDirectory": { "index": 27, "kind": "parameter", "displayName": "Jail Starting Directory", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Used for jailing (restricting) writing files to the starting directory (and sub) only. This is enabled by default to not allow Camel to write files to outside directories (to be more sec [...]
-    "tempFileName": { "index": 28, "kind": "parameter", "displayName": "Temp File Name", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "The same as tempPrefix option but offering a more fine grained control on the naming of the temporary filename as it uses the File Language. The location for tempFilename is relative to the final file location in the o [...]
-    "tempPrefix": { "index": 29, "kind": "parameter", "displayName": "Temp Prefix", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "This option is used to write the file using a temporary name and then, after the write is complete, rename it to the real name. Can be used to identify files being written and also avoid consumers (not using exclusive read  [...]
-    "allowNullBody": { "index": 30, "kind": "parameter", "displayName": "Allow Null Body", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Used to specify if a null body is allowed during file writing. If set to true then an empty file will be created, when set to false, and attempting to send a null body to the file c [...]
-    "disconnectOnBatchComplete": { "index": 31, "kind": "parameter", "displayName": "Disconnect On Batch Complete", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether or not to disconnect from remote FTP server right after a Batch upload is complete. disconnectOnBatchComplete will only disconnect the current conne [...]
-    "eagerDeleteTargetFile": { "index": 32, "kind": "parameter", "displayName": "Eager Delete Target File", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether or not to eagerly delete any existing target file. This option only applies when you use fileExists=Override and the tempFileName option as well. You can use [...]
-    "keepLastModified": { "index": 33, "kind": "parameter", "displayName": "Keep Last Modified", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Will keep the last modified timestamp from the source file (if any). Will use the FileConstants.FILE_LAST_MODIFIED header to located the timestamp. This header can contain eit [...]
-    "lazyStartProducer": { "index": 34, "kind": "parameter", "displayName": "Lazy Start Producer", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a produ [...]
-    "moveExistingFileStrategy": { "index": 35, "kind": "parameter", "displayName": "Move Existing File Strategy", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "object", "javaType": "org.apache.camel.component.file.strategy.FileMoveExistingStrategy", "deprecated": false, "autowired": false, "secret": false, "description": "Strategy (Custom Strategy) used to move file with special naming token to use when fileExist=Move is configured. By default, [...]
-    "autoCreate": { "index": 36, "kind": "parameter", "displayName": "Auto Create", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Automatically create missing directories in the file's pathname. For the file consumer, that means creating the starting directory. For the file producer, it means the directory the files should be written to." },
-    "connectTimeout": { "index": 37, "kind": "parameter", "displayName": "Connect Timeout", "group": "advanced", "label": "advanced", "required": false, "type": "duration", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "10000", "configurationClass": "org.apache.camel.component.file.azure.FilesConfiguration", "configurationField": "configuration", "description": "Sets the connect timeout for waiting for a connection to be established Used by  [...]
-    "maximumReconnectAttempts": { "index": 38, "kind": "parameter", "displayName": "Maximum Reconnect Attempts", "group": "advanced", "label": "advanced", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "description": "Specifies the maximum reconnect attempts Camel performs when it tries to connect to the remote FTP server. Use 0 to disable this behavior." },
-    "reconnectDelay": { "index": 39, "kind": "parameter", "displayName": "Reconnect Delay", "group": "advanced", "label": "advanced", "required": false, "type": "duration", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "1000", "description": "Delay in millis Camel will wait before performing a reconnect attempt." },
-    "throwExceptionOnConnectFailed": { "index": 40, "kind": "parameter", "displayName": "Throw Exception On Connect Failed", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.file.azure.FilesConfiguration", "configurationField": "configuration", "description": "Should an exception be thrown if connection fa [...]
-    "timeout": { "index": 41, "kind": "parameter", "displayName": "Timeout", "group": "advanced", "label": "advanced", "required": false, "type": "duration", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "30000", "configurationClass": "org.apache.camel.component.file.azure.FilesConfiguration", "configurationField": "configuration", "description": "Sets the data timeout for waiting for reply Used only by FTPClient" },
-    "sharedKey": { "index": 42, "kind": "parameter", "displayName": "Shared Key", "group": "both", "label": "both", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.file.azure.FilesConfiguration", "configurationField": "configuration", "description": "Shared key (storage account key)" },
-    "antExclude": { "index": 43, "kind": "parameter", "displayName": "Ant Exclude", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Ant style filter exclusion. If both antInclude and antExclude are used, antExclude takes precedence over antInclude. Multiple exclusions may be specified in comma-delimited format." },
-    "antFilterCaseSensitive": { "index": 44, "kind": "parameter", "displayName": "Ant Filter Case Sensitive", "group": "filter", "label": "consumer,filter", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Sets case sensitive flag on ant filter." },
-    "antInclude": { "index": 45, "kind": "parameter", "displayName": "Ant Include", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Ant style filter inclusion. Multiple inclusions may be specified in comma-delimited format." },
-    "eagerMaxMessagesPerPoll": { "index": 46, "kind": "parameter", "displayName": "Eager Max Messages Per Poll", "group": "filter", "label": "consumer,filter", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Allows for controlling whether the limit from maxMessagesPerPoll is eager or not. If eager then the limit is during the scanning of files. Where as false would scan all files, [...]
-    "exclude": { "index": 47, "kind": "parameter", "displayName": "Exclude", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Is used to exclude files, if filename matches the regex pattern (matching is case in-sensitive). Notice if you use symbols such as plus sign and others you would need to configure this using the RAW() syntax if configuring th [...]
-    "excludeExt": { "index": 48, "kind": "parameter", "displayName": "Exclude Ext", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Is used to exclude files matching file extension name (case insensitive). For example to exclude bak files, then use excludeExt=bak. Multiple extensions can be separated by comma, for example to exclude bak and dat fil [...]
-    "filter": { "index": 49, "kind": "parameter", "displayName": "Filter", "group": "filter", "label": "consumer,filter", "required": false, "type": "object", "javaType": "org.apache.camel.component.file.GenericFileFilter<com.azure.storage.file.share.models.ShareFileItem>", "deprecated": false, "autowired": false, "secret": false, "description": "Pluggable filter as a org.apache.camel.component.file.GenericFileFilter class. Will skip files if filter returns false in its accept() method." },
-    "filterDirectory": { "index": 50, "kind": "parameter", "displayName": "Filter Directory", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Filters the directory based on Simple language. For example to filter on current date, you can use a simple date pattern such as ${date:now:yyyMMdd}" },
-    "filterFile": { "index": 51, "kind": "parameter", "displayName": "Filter File", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Filters the file based on Simple language. For example to filter on file size, you can use ${file:size} 5000" },
-    "idempotent": { "index": 52, "kind": "parameter", "displayName": "Idempotent", "group": "filter", "label": "consumer,filter", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "false", "description": "Option to use the Idempotent Consumer EIP pattern to let Camel skip already processed files. Will by default use a memory based LRUCache that holds 1000 entries. If noop=true then idempotent w [...]
-    "idempotentKey": { "index": 53, "kind": "parameter", "displayName": "Idempotent Key", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "To use a custom idempotent key. By default the absolute path of the file is used. You can use the File Language, for example to use the file name and file size, you can do: idempotentKey=${file:name}-${file:size}" },
-    "idempotentRepository": { "index": 54, "kind": "parameter", "displayName": "Idempotent Repository", "group": "filter", "label": "consumer,filter", "required": false, "type": "object", "javaType": "org.apache.camel.spi.IdempotentRepository", "deprecated": false, "autowired": false, "secret": false, "description": "A pluggable repository org.apache.camel.spi.IdempotentRepository which by default use MemoryIdempotentRepository if none is specified and idempotent is true." },
-    "include": { "index": 55, "kind": "parameter", "displayName": "Include", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Is used to include files, if filename matches the regex pattern (matching is case in-sensitive). Notice if you use symbols such as plus sign and others you would need to configure this using the RAW() syntax if configuring th [...]
-    "includeExt": { "index": 56, "kind": "parameter", "displayName": "Include Ext", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Is used to include files matching file extension name (case insensitive). For example to include txt files, then use includeExt=txt. Multiple extensions can be separated by comma, for example to include txt and xml fil [...]
-    "maxDepth": { "index": 57, "kind": "parameter", "displayName": "Max Depth", "group": "filter", "label": "consumer,filter", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 2147483647, "description": "The maximum depth to traverse when recursively processing a directory." },
-    "maxMessagesPerPoll": { "index": 58, "kind": "parameter", "displayName": "Max Messages Per Poll", "group": "filter", "label": "consumer,filter", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "description": "To define a maximum messages to gather per poll. By default no maximum is set. Can be used to set a limit of e.g. 1000 to avoid when starting up the server that there are thousands of files. Set a value of 0 or n [...]
-    "minDepth": { "index": 59, "kind": "parameter", "displayName": "Min Depth", "group": "filter", "label": "consumer,filter", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "description": "The minimum depth to start processing when recursively processing a directory. Using minDepth=1 means the base directory. Using minDepth=2 means the first sub directory." },
-    "move": { "index": 60, "kind": "parameter", "displayName": "Move", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Expression (such as Simple Language) used to dynamically set the filename when moving it after processing. To move files into a .done subdirectory just enter .done." },
-    "exclusiveReadLockStrategy": { "index": 61, "kind": "parameter", "displayName": "Exclusive Read Lock Strategy", "group": "lock", "label": "consumer,lock", "required": false, "type": "object", "javaType": "org.apache.camel.component.file.GenericFileExclusiveReadLockStrategy<com.azure.storage.file.share.models.ShareFileItem>", "deprecated": false, "autowired": false, "secret": false, "description": "Pluggable read-lock as a org.apache.camel.component.file.GenericFileExclusiveReadLockSt [...]
-    "readLock": { "index": 62, "kind": "parameter", "displayName": "Read Lock", "group": "lock", "label": "consumer,lock", "required": false, "type": "string", "javaType": "java.lang.String", "enum": [ "none", "markerFile", "fileLock", "rename", "changed", "idempotent", "idempotent-changed", "idempotent-rename" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "none", "description": "Used by consumer, to only poll the files if it has exclusive read-lock on the  [...]
-    "readLockCheckInterval": { "index": 63, "kind": "parameter", "displayName": "Read Lock Check Interval", "group": "lock", "label": "consumer,lock", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 1000, "description": "Interval in millis for the read-lock, if supported by the read lock. This interval is used for sleeping between attempts to acquire the read lock. For example when using the changed read  [...]
-    "readLockDeleteOrphanLockFiles": { "index": 64, "kind": "parameter", "displayName": "Read Lock Delete Orphan Lock Files", "group": "lock", "label": "consumer,lock", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether or not read lock with marker files should upon startup delete any orphan read lock files, which may have been left on the file system, if Camel was not proper [...]
-    "readLockLoggingLevel": { "index": 65, "kind": "parameter", "displayName": "Read Lock Logging Level", "group": "lock", "label": "consumer,lock", "required": false, "type": "object", "javaType": "org.apache.camel.LoggingLevel", "enum": [ "TRACE", "DEBUG", "INFO", "WARN", "ERROR", "OFF" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "DEBUG", "description": "Logging level used when a read lock could not be acquired. By default a DEBUG is logged. You can cha [...]
-    "readLockMarkerFile": { "index": 66, "kind": "parameter", "displayName": "Read Lock Marker File", "group": "lock", "label": "consumer,lock", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether to use marker file with the changed, rename, or exclusive read lock types. By default a marker file is used as well to guard against other processes picking up the same files. This b [...]
-    "readLockMinAge": { "index": 67, "kind": "parameter", "displayName": "Read Lock Min Age", "group": "lock", "label": "consumer,lock", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 0, "description": "This option is applied only for readLock=changed. It allows to specify a minimum age the file must be before attempting to acquire the read lock. For example use readLockMinAge=300s to require the file is [...]
-    "readLockMinLength": { "index": 68, "kind": "parameter", "displayName": "Read Lock Min Length", "group": "lock", "label": "consumer,lock", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 1, "description": "This option is applied only for readLock=changed. It allows you to configure a minimum file length. By default Camel expects the file to contain data, and thus the default value is 1. You can set th [...]
-    "readLockRemoveOnCommit": { "index": 69, "kind": "parameter", "displayName": "Read Lock Remove On Commit", "group": "lock", "label": "consumer,lock", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "This option is applied only for readLock=idempotent. It allows to specify whether to remove the file name entry from the idempotent repository when processing the file is succeeded [...]
-    "readLockRemoveOnRollback": { "index": 70, "kind": "parameter", "displayName": "Read Lock Remove On Rollback", "group": "lock", "label": "consumer,lock", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "This option is applied only for readLock=idempotent. It allows to specify whether to remove the file name entry from the idempotent repository when processing the file failed an [...]
-    "readLockTimeout": { "index": 71, "kind": "parameter", "displayName": "Read Lock Timeout", "group": "lock", "label": "consumer,lock", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 10000, "description": "Optional timeout in millis for the read-lock, if supported by the read-lock. If the read-lock could not be granted and the timeout triggered, then Camel will skip the file. At next poll Camel, will t [...]
-    "backoffErrorThreshold": { "index": 72, "kind": "parameter", "displayName": "Backoff Error Threshold", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "description": "The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in." },
-    "backoffIdleThreshold": { "index": 73, "kind": "parameter", "displayName": "Backoff Idle Threshold", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "description": "The number of subsequent idle polls that should happen before the backoffMultipler should kick-in." },
-    "backoffMultiplier": { "index": 74, "kind": "parameter", "displayName": "Backoff Multiplier", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "description": "To let the scheduled polling consumer backoff if there has been a number of subsequent idles\/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is h [...]
-    "delay": { "index": 75, "kind": "parameter", "displayName": "Delay", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 500, "description": "Milliseconds before the next poll." },
-    "greedy": { "index": 76, "kind": "parameter", "displayName": "Greedy", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages." },
-    "initialDelay": { "index": 77, "kind": "parameter", "displayName": "Initial Delay", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 1000, "description": "Milliseconds before the first poll starts." },
-    "repeatCount": { "index": 78, "kind": "parameter", "displayName": "Repeat Count", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 0, "description": "Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only fire once. If you set it to 5, it will only fire five times. A value of zero or negative means fire forever." },
-    "runLoggingLevel": { "index": 79, "kind": "parameter", "displayName": "Run Logging Level", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "object", "javaType": "org.apache.camel.LoggingLevel", "enum": [ "TRACE", "DEBUG", "INFO", "WARN", "ERROR", "OFF" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "TRACE", "description": "The consumer logs a start\/complete log line when it polls. This option allows you to configure the l [...]
-    "scheduledExecutorService": { "index": 80, "kind": "parameter", "displayName": "Scheduled Executor Service", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "object", "javaType": "java.util.concurrent.ScheduledExecutorService", "deprecated": false, "autowired": false, "secret": false, "description": "Allows for configuring a custom\/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool." },
-    "scheduler": { "index": 81, "kind": "parameter", "displayName": "Scheduler", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "object", "javaType": "java.lang.Object", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "none", "description": "To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler" },
-    "schedulerProperties": { "index": 82, "kind": "parameter", "displayName": "Scheduler Properties", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "object", "javaType": "java.util.Map<java.lang.String, java.lang.Object>", "prefix": "scheduler.", "multiValue": true, "deprecated": false, "autowired": false, "secret": false, "description": "To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler." },
-    "startScheduler": { "index": 83, "kind": "parameter", "displayName": "Start Scheduler", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether the scheduler should be auto started." },
-    "timeUnit": { "index": 84, "kind": "parameter", "displayName": "Time Unit", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "object", "javaType": "java.util.concurrent.TimeUnit", "enum": [ "NANOSECONDS", "MICROSECONDS", "MILLISECONDS", "SECONDS", "MINUTES", "HOURS", "DAYS" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "MILLISECONDS", "description": "Time unit for initialDelay and delay options." },
-    "useFixedDelay": { "index": 85, "kind": "parameter", "displayName": "Use Fixed Delay", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details." },
-    "sdd": { "index": 86, "kind": "parameter", "displayName": "Sdd", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.file.azure.FilesToken", "configurationField": "token", "description": "part of service SAS token" },
-    "se": { "index": 87, "kind": "parameter", "displayName": "Se", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.file.azure.FilesToken", "configurationField": "token", "description": "part of SAS token" },
-    "si": { "index": 88, "kind": "parameter", "displayName": "Si", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.file.azure.FilesToken", "configurationField": "token", "description": "part of service SAS token" },
-    "sig": { "index": 89, "kind": "parameter", "displayName": "Sig", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.file.azure.FilesToken", "configurationField": "token", "description": "part of SAS token" },
-    "sip": { "index": 90, "kind": "parameter", "displayName": "Sip", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.file.azure.FilesToken", "configurationField": "token", "description": "part of SAS token" },
-    "sp": { "index": 91, "kind": "parameter", "displayName": "Sp", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.file.azure.FilesToken", "configurationField": "token", "description": "part of SAS token" },
-    "spr": { "index": 92, "kind": "parameter", "displayName": "Spr", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.file.azure.FilesToken", "configurationField": "token", "description": "part of SAS token" },
-    "sr": { "index": 93, "kind": "parameter", "displayName": "Sr", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.file.azure.FilesToken", "configurationField": "token", "description": "part of service SAS token" },
-    "srt": { "index": 94, "kind": "parameter", "displayName": "Srt", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.file.azure.FilesToken", "configurationField": "token", "description": "part of SAS token" },
-    "ss": { "index": 95, "kind": "parameter", "displayName": "Ss", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.file.azure.FilesToken", "configurationField": "token", "description": "part of account SAS token" },
-    "st": { "index": 96, "kind": "parameter", "displayName": "St", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.file.azure.FilesToken", "configurationField": "token", "description": "part of SAS token" },
-    "sv": { "index": 97, "kind": "parameter", "displayName": "Sv", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.file.azure.FilesToken", "configurationField": "token", "description": "part of SAS token" },
-    "shuffle": { "index": 98, "kind": "parameter", "displayName": "Shuffle", "group": "sort", "label": "consumer,sort", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "To shuffle the list of files (sort in random order)" },
-    "sortBy": { "index": 99, "kind": "parameter", "displayName": "Sort By", "group": "sort", "label": "consumer,sort", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Built-in sort by using the File Language. Supports nested sorts, so you can have a sort by file name and as a 2nd group sort by modified date." },
-    "sorter": { "index": 100, "kind": "parameter", "displayName": "Sorter", "group": "sort", "label": "consumer,sort", "required": false, "type": "object", "javaType": "java.util.Comparator<org.apache.camel.component.file.GenericFile<com.azure.storage.file.share.models.ShareFileItem>>", "deprecated": false, "autowired": false, "secret": false, "description": "Pluggable sorter as a java.util.Comparator class." }
+    "checksumFileAlgorithm": { "index": 25, "kind": "parameter", "displayName": "Checksum File Algorithm", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "If provided, then Camel will write a checksum file when the original file has been written. The checksum file will contain the checksum created with the provided algorithm for the original file. The c [...]
+    "fileExist": { "index": 26, "kind": "parameter", "displayName": "File Exist", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "org.apache.camel.component.file.GenericFileExist", "enum": [ "Override", "Append", "Fail", "Ignore", "Move", "TryRename" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "Override", "description": "What to do if a file already exists with the same name. Override, which is the default, repl [...]
+    "flatten": { "index": 27, "kind": "parameter", "displayName": "Flatten", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Flatten is used to flatten the file name path to strip any leading paths, so it's just the file name. This allows you to consume recursively into sub-directories, but when you eg write the files to another directory [...]
+    "jailStartingDirectory": { "index": 28, "kind": "parameter", "displayName": "Jail Starting Directory", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Used for jailing (restricting) writing files to the starting directory (and sub) only. This is enabled by default to not allow Camel to write files to outside directories (to be more sec [...]
+    "tempFileName": { "index": 29, "kind": "parameter", "displayName": "Temp File Name", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "The same as tempPrefix option but offering a more fine grained control on the naming of the temporary filename as it uses the File Language. The location for tempFilename is relative to the final file location in the o [...]
+    "tempPrefix": { "index": 30, "kind": "parameter", "displayName": "Temp Prefix", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "This option is used to write the file using a temporary name and then, after the write is complete, rename it to the real name. Can be used to identify files being written and also avoid consumers (not using exclusive read  [...]
+    "allowNullBody": { "index": 31, "kind": "parameter", "displayName": "Allow Null Body", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Used to specify if a null body is allowed during file writing. If set to true then an empty file will be created, when set to false, and attempting to send a null body to the file c [...]
+    "disconnectOnBatchComplete": { "index": 32, "kind": "parameter", "displayName": "Disconnect On Batch Complete", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether or not to disconnect from remote FTP server right after a Batch upload is complete. disconnectOnBatchComplete will only disconnect the current conne [...]
+    "eagerDeleteTargetFile": { "index": 33, "kind": "parameter", "displayName": "Eager Delete Target File", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether or not to eagerly delete any existing target file. This option only applies when you use fileExists=Override and the tempFileName option as well. You can use [...]
+    "keepLastModified": { "index": 34, "kind": "parameter", "displayName": "Keep Last Modified", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Will keep the last modified timestamp from the source file (if any). Will use the FileConstants.FILE_LAST_MODIFIED header to located the timestamp. This header can contain eit [...]
+    "lazyStartProducer": { "index": 35, "kind": "parameter", "displayName": "Lazy Start Producer", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a produ [...]
+    "moveExistingFileStrategy": { "index": 36, "kind": "parameter", "displayName": "Move Existing File Strategy", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "object", "javaType": "org.apache.camel.component.file.strategy.FileMoveExistingStrategy", "deprecated": false, "autowired": false, "secret": false, "description": "Strategy (Custom Strategy) used to move file with special naming token to use when fileExist=Move is configured. By default, [...]
+    "autoCreate": { "index": 37, "kind": "parameter", "displayName": "Auto Create", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Automatically create missing directories in the file's pathname. For the file consumer, that means creating the starting directory. For the file producer, it means the directory the files should be written to." },
+    "connectTimeout": { "index": 38, "kind": "parameter", "displayName": "Connect Timeout", "group": "advanced", "label": "advanced", "required": false, "type": "duration", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "10000", "configurationClass": "org.apache.camel.component.file.azure.FilesConfiguration", "configurationField": "configuration", "description": "Sets the connect timeout for waiting for a connection to be established Used by  [...]
+    "maximumReconnectAttempts": { "index": 39, "kind": "parameter", "displayName": "Maximum Reconnect Attempts", "group": "advanced", "label": "advanced", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "description": "Specifies the maximum reconnect attempts Camel performs when it tries to connect to the remote FTP server. Use 0 to disable this behavior." },
+    "reconnectDelay": { "index": 40, "kind": "parameter", "displayName": "Reconnect Delay", "group": "advanced", "label": "advanced", "required": false, "type": "duration", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "1000", "description": "Delay in millis Camel will wait before performing a reconnect attempt." },
+    "throwExceptionOnConnectFailed": { "index": 41, "kind": "parameter", "displayName": "Throw Exception On Connect Failed", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.file.azure.FilesConfiguration", "configurationField": "configuration", "description": "Should an exception be thrown if connection fa [...]
+    "timeout": { "index": 42, "kind": "parameter", "displayName": "Timeout", "group": "advanced", "label": "advanced", "required": false, "type": "duration", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "30000", "configurationClass": "org.apache.camel.component.file.azure.FilesConfiguration", "configurationField": "configuration", "description": "Sets the data timeout for waiting for reply Used only by FTPClient" },
+    "sharedKey": { "index": 43, "kind": "parameter", "displayName": "Shared Key", "group": "both", "label": "both", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.file.azure.FilesConfiguration", "configurationField": "configuration", "description": "Shared key (storage account key)" },
+    "antExclude": { "index": 44, "kind": "parameter", "displayName": "Ant Exclude", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Ant style filter exclusion. If both antInclude and antExclude are used, antExclude takes precedence over antInclude. Multiple exclusions may be specified in comma-delimited format." },
+    "antFilterCaseSensitive": { "index": 45, "kind": "parameter", "displayName": "Ant Filter Case Sensitive", "group": "filter", "label": "consumer,filter", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Sets case sensitive flag on ant filter." },
+    "antInclude": { "index": 46, "kind": "parameter", "displayName": "Ant Include", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Ant style filter inclusion. Multiple inclusions may be specified in comma-delimited format." },
+    "eagerMaxMessagesPerPoll": { "index": 47, "kind": "parameter", "displayName": "Eager Max Messages Per Poll", "group": "filter", "label": "consumer,filter", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Allows for controlling whether the limit from maxMessagesPerPoll is eager or not. If eager then the limit is during the scanning of files. Where as false would scan all files, [...]
+    "exclude": { "index": 48, "kind": "parameter", "displayName": "Exclude", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Is used to exclude files, if filename matches the regex pattern (matching is case in-sensitive). Notice if you use symbols such as plus sign and others you would need to configure this using the RAW() syntax if configuring th [...]
+    "excludeExt": { "index": 49, "kind": "parameter", "displayName": "Exclude Ext", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Is used to exclude files matching file extension name (case insensitive). For example to exclude bak files, then use excludeExt=bak. Multiple extensions can be separated by comma, for example to exclude bak and dat fil [...]
+    "filter": { "index": 50, "kind": "parameter", "displayName": "Filter", "group": "filter", "label": "consumer,filter", "required": false, "type": "object", "javaType": "org.apache.camel.component.file.GenericFileFilter<com.azure.storage.file.share.models.ShareFileItem>", "deprecated": false, "autowired": false, "secret": false, "description": "Pluggable filter as a org.apache.camel.component.file.GenericFileFilter class. Will skip files if filter returns false in its accept() method." },
+    "filterDirectory": { "index": 51, "kind": "parameter", "displayName": "Filter Directory", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Filters the directory based on Simple language. For example to filter on current date, you can use a simple date pattern such as ${date:now:yyyMMdd}" },
+    "filterFile": { "index": 52, "kind": "parameter", "displayName": "Filter File", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Filters the file based on Simple language. For example to filter on file size, you can use ${file:size} 5000" },
+    "idempotent": { "index": 53, "kind": "parameter", "displayName": "Idempotent", "group": "filter", "label": "consumer,filter", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "false", "description": "Option to use the Idempotent Consumer EIP pattern to let Camel skip already processed files. Will by default use a memory based LRUCache that holds 1000 entries. If noop=true then idempotent w [...]
+    "idempotentKey": { "index": 54, "kind": "parameter", "displayName": "Idempotent Key", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "To use a custom idempotent key. By default the absolute path of the file is used. You can use the File Language, for example to use the file name and file size, you can do: idempotentKey=${file:name}-${file:size}" },
+    "idempotentRepository": { "index": 55, "kind": "parameter", "displayName": "Idempotent Repository", "group": "filter", "label": "consumer,filter", "required": false, "type": "object", "javaType": "org.apache.camel.spi.IdempotentRepository", "deprecated": false, "autowired": false, "secret": false, "description": "A pluggable repository org.apache.camel.spi.IdempotentRepository which by default use MemoryIdempotentRepository if none is specified and idempotent is true." },
+    "include": { "index": 56, "kind": "parameter", "displayName": "Include", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Is used to include files, if filename matches the regex pattern (matching is case in-sensitive). Notice if you use symbols such as plus sign and others you would need to configure this using the RAW() syntax if configuring th [...]
+    "includeExt": { "index": 57, "kind": "parameter", "displayName": "Include Ext", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Is used to include files matching file extension name (case insensitive). For example to include txt files, then use includeExt=txt. Multiple extensions can be separated by comma, for example to include txt and xml fil [...]
+    "maxDepth": { "index": 58, "kind": "parameter", "displayName": "Max Depth", "group": "filter", "label": "consumer,filter", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 2147483647, "description": "The maximum depth to traverse when recursively processing a directory." },
+    "maxMessagesPerPoll": { "index": 59, "kind": "parameter", "displayName": "Max Messages Per Poll", "group": "filter", "label": "consumer,filter", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "description": "To define a maximum messages to gather per poll. By default no maximum is set. Can be used to set a limit of e.g. 1000 to avoid when starting up the server that there are thousands of files. Set a value of 0 or n [...]
+    "minDepth": { "index": 60, "kind": "parameter", "displayName": "Min Depth", "group": "filter", "label": "consumer,filter", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "description": "The minimum depth to start processing when recursively processing a directory. Using minDepth=1 means the base directory. Using minDepth=2 means the first sub directory." },
+    "move": { "index": 61, "kind": "parameter", "displayName": "Move", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Expression (such as Simple Language) used to dynamically set the filename when moving it after processing. To move files into a .done subdirectory just enter .done." },
+    "exclusiveReadLockStrategy": { "index": 62, "kind": "parameter", "displayName": "Exclusive Read Lock Strategy", "group": "lock", "label": "consumer,lock", "required": false, "type": "object", "javaType": "org.apache.camel.component.file.GenericFileExclusiveReadLockStrategy<com.azure.storage.file.share.models.ShareFileItem>", "deprecated": false, "autowired": false, "secret": false, "description": "Pluggable read-lock as a org.apache.camel.component.file.GenericFileExclusiveReadLockSt [...]
+    "readLock": { "index": 63, "kind": "parameter", "displayName": "Read Lock", "group": "lock", "label": "consumer,lock", "required": false, "type": "string", "javaType": "java.lang.String", "enum": [ "none", "markerFile", "fileLock", "rename", "changed", "idempotent", "idempotent-changed", "idempotent-rename" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "none", "description": "Used by consumer, to only poll the files if it has exclusive read-lock on the  [...]
+    "readLockCheckInterval": { "index": 64, "kind": "parameter", "displayName": "Read Lock Check Interval", "group": "lock", "label": "consumer,lock", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 1000, "description": "Interval in millis for the read-lock, if supported by the read lock. This interval is used for sleeping between attempts to acquire the read lock. For example when using the changed read  [...]
+    "readLockDeleteOrphanLockFiles": { "index": 65, "kind": "parameter", "displayName": "Read Lock Delete Orphan Lock Files", "group": "lock", "label": "consumer,lock", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether or not read lock with marker files should upon startup delete any orphan read lock files, which may have been left on the file system, if Camel was not proper [...]
+    "readLockLoggingLevel": { "index": 66, "kind": "parameter", "displayName": "Read Lock Logging Level", "group": "lock", "label": "consumer,lock", "required": false, "type": "object", "javaType": "org.apache.camel.LoggingLevel", "enum": [ "TRACE", "DEBUG", "INFO", "WARN", "ERROR", "OFF" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "DEBUG", "description": "Logging level used when a read lock could not be acquired. By default a DEBUG is logged. You can cha [...]
+    "readLockMarkerFile": { "index": 67, "kind": "parameter", "displayName": "Read Lock Marker File", "group": "lock", "label": "consumer,lock", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether to use marker file with the changed, rename, or exclusive read lock types. By default a marker file is used as well to guard against other processes picking up the same files. This b [...]
+    "readLockMinAge": { "index": 68, "kind": "parameter", "displayName": "Read Lock Min Age", "group": "lock", "label": "consumer,lock", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 0, "description": "This option is applied only for readLock=changed. It allows to specify a minimum age the file must be before attempting to acquire the read lock. For example use readLockMinAge=300s to require the file is [...]
+    "readLockMinLength": { "index": 69, "kind": "parameter", "displayName": "Read Lock Min Length", "group": "lock", "label": "consumer,lock", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 1, "description": "This option is applied only for readLock=changed. It allows you to configure a minimum file length. By default Camel expects the file to contain data, and thus the default value is 1. You can set th [...]
+    "readLockRemoveOnCommit": { "index": 70, "kind": "parameter", "displayName": "Read Lock Remove On Commit", "group": "lock", "label": "consumer,lock", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "This option is applied only for readLock=idempotent. It allows to specify whether to remove the file name entry from the idempotent repository when processing the file is succeeded [...]
+    "readLockRemoveOnRollback": { "index": 71, "kind": "parameter", "displayName": "Read Lock Remove On Rollback", "group": "lock", "label": "consumer,lock", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "This option is applied only for readLock=idempotent. It allows to specify whether to remove the file name entry from the idempotent repository when processing the file failed an [...]
+    "readLockTimeout": { "index": 72, "kind": "parameter", "displayName": "Read Lock Timeout", "group": "lock", "label": "consumer,lock", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 10000, "description": "Optional timeout in millis for the read-lock, if supported by the read-lock. If the read-lock could not be granted and the timeout triggered, then Camel will skip the file. At next poll Camel, will t [...]
+    "backoffErrorThreshold": { "index": 73, "kind": "parameter", "displayName": "Backoff Error Threshold", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "description": "The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in." },
+    "backoffIdleThreshold": { "index": 74, "kind": "parameter", "displayName": "Backoff Idle Threshold", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "description": "The number of subsequent idle polls that should happen before the backoffMultipler should kick-in." },
+    "backoffMultiplier": { "index": 75, "kind": "parameter", "displayName": "Backoff Multiplier", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "description": "To let the scheduled polling consumer backoff if there has been a number of subsequent idles\/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is h [...]
+    "delay": { "index": 76, "kind": "parameter", "displayName": "Delay", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 500, "description": "Milliseconds before the next poll." },
+    "greedy": { "index": 77, "kind": "parameter", "displayName": "Greedy", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages." },
+    "initialDelay": { "index": 78, "kind": "parameter", "displayName": "Initial Delay", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 1000, "description": "Milliseconds before the first poll starts." },
+    "repeatCount": { "index": 79, "kind": "parameter", "displayName": "Repeat Count", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 0, "description": "Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only fire once. If you set it to 5, it will only fire five times. A value of zero or negative means fire forever." },
+    "runLoggingLevel": { "index": 80, "kind": "parameter", "displayName": "Run Logging Level", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "object", "javaType": "org.apache.camel.LoggingLevel", "enum": [ "TRACE", "DEBUG", "INFO", "WARN", "ERROR", "OFF" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "TRACE", "description": "The consumer logs a start\/complete log line when it polls. This option allows you to configure the l [...]
+    "scheduledExecutorService": { "index": 81, "kind": "parameter", "displayName": "Scheduled Executor Service", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "object", "javaType": "java.util.concurrent.ScheduledExecutorService", "deprecated": false, "autowired": false, "secret": false, "description": "Allows for configuring a custom\/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool." },
+    "scheduler": { "index": 82, "kind": "parameter", "displayName": "Scheduler", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "object", "javaType": "java.lang.Object", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "none", "description": "To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler" },
+    "schedulerProperties": { "index": 83, "kind": "parameter", "displayName": "Scheduler Properties", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "object", "javaType": "java.util.Map<java.lang.String, java.lang.Object>", "prefix": "scheduler.", "multiValue": true, "deprecated": false, "autowired": false, "secret": false, "description": "To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler." },
+    "startScheduler": { "index": 84, "kind": "parameter", "displayName": "Start Scheduler", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether the scheduler should be auto started." },
+    "timeUnit": { "index": 85, "kind": "parameter", "displayName": "Time Unit", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "object", "javaType": "java.util.concurrent.TimeUnit", "enum": [ "NANOSECONDS", "MICROSECONDS", "MILLISECONDS", "SECONDS", "MINUTES", "HOURS", "DAYS" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "MILLISECONDS", "description": "Time unit for initialDelay and delay options." },
+    "useFixedDelay": { "index": 86, "kind": "parameter", "displayName": "Use Fixed Delay", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details." },
+    "sdd": { "index": 87, "kind": "parameter", "displayName": "Sdd", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.file.azure.FilesToken", "configurationField": "token", "description": "part of service SAS token" },
+    "se": { "index": 88, "kind": "parameter", "displayName": "Se", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.file.azure.FilesToken", "configurationField": "token", "description": "part of SAS token" },
+    "si": { "index": 89, "kind": "parameter", "displayName": "Si", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.file.azure.FilesToken", "configurationField": "token", "description": "part of service SAS token" },
+    "sig": { "index": 90, "kind": "parameter", "displayName": "Sig", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.file.azure.FilesToken", "configurationField": "token", "description": "part of SAS token" },
+    "sip": { "index": 91, "kind": "parameter", "displayName": "Sip", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.file.azure.FilesToken", "configurationField": "token", "description": "part of SAS token" },
+    "sp": { "index": 92, "kind": "parameter", "displayName": "Sp", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.file.azure.FilesToken", "configurationField": "token", "description": "part of SAS token" },
+    "spr": { "index": 93, "kind": "parameter", "displayName": "Spr", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.file.azure.FilesToken", "configurationField": "token", "description": "part of SAS token" },
+    "sr": { "index": 94, "kind": "parameter", "displayName": "Sr", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.file.azure.FilesToken", "configurationField": "token", "description": "part of service SAS token" },
+    "srt": { "index": 95, "kind": "parameter", "displayName": "Srt", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.file.azure.FilesToken", "configurationField": "token", "description": "part of SAS token" },
+    "ss": { "index": 96, "kind": "parameter", "displayName": "Ss", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.file.azure.FilesToken", "configurationField": "token", "description": "part of account SAS token" },
+    "st": { "index": 97, "kind": "parameter", "displayName": "St", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.file.azure.FilesToken", "configurationField": "token", "description": "part of SAS token" },
+    "sv": { "index": 98, "kind": "parameter", "displayName": "Sv", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.file.azure.FilesToken", "configurationField": "token", "description": "part of SAS token" },
+    "shuffle": { "index": 99, "kind": "parameter", "displayName": "Shuffle", "group": "sort", "label": "consumer,sort", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "To shuffle the list of files (sort in random order)" },
+    "sortBy": { "index": 100, "kind": "parameter", "displayName": "Sort By", "group": "sort", "label": "consumer,sort", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Built-in sort by using the File Language. Supports nested sorts, so you can have a sort by file name and as a 2nd group sort by modified date." },
+    "sorter": { "index": 101, "kind": "parameter", "displayName": "Sorter", "group": "sort", "label": "consumer,sort", "required": false, "type": "object", "javaType": "java.util.Comparator<org.apache.camel.component.file.GenericFile<com.azure.storage.file.share.models.ShareFileItem>>", "deprecated": false, "autowired": false, "secret": false, "description": "Pluggable sorter as a java.util.Comparator class." }
   }
 }
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/file.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/file.json
index c519ed4568a..ef2412cbbdb 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/file.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/file.json
@@ -74,74 +74,75 @@
     "startingDirectoryMustExist": { "index": 24, "kind": "parameter", "displayName": "Starting Directory Must Exist", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the starting directory must exist. Mind that the autoCreate option is default enabled, which means the starting directory is normally auto created [...]
     "startingDirectoryMustHaveAccess": { "index": 25, "kind": "parameter", "displayName": "Starting Directory Must Have Access", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the starting directory has access permissions. Mind that the startingDirectoryMustExist parameter must be set to true in order to verif [...]
     "appendChars": { "index": 26, "kind": "parameter", "displayName": "Append Chars", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Used to append characters (text) after writing files. This can for example be used to add new lines or other separators when writing and appending new files or existing files. To specify new-line (slash-n or slash-r) or t [...]
-    "fileExist": { "index": 27, "kind": "parameter", "displayName": "File Exist", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "org.apache.camel.component.file.GenericFileExist", "enum": [ "Override", "Append", "Fail", "Ignore", "Move", "TryRename" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "Override", "description": "What to do if a file already exists with the same name. Override, which is the default, repl [...]
-    "flatten": { "index": 28, "kind": "parameter", "displayName": "Flatten", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Flatten is used to flatten the file name path to strip any leading paths, so it's just the file name. This allows you to consume recursively into sub-directories, but when you eg write the files to another directory [...]
-    "jailStartingDirectory": { "index": 29, "kind": "parameter", "displayName": "Jail Starting Directory", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Used for jailing (restricting) writing files to the starting directory (and sub) only. This is enabled by default to not allow Camel to write files to outside directories (to be more sec [...]
-    "moveExisting": { "index": 30, "kind": "parameter", "displayName": "Move Existing", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Expression (such as File Language) used to compute file name to use when fileExist=Move is configured. To move files into a backup subdirectory just enter backup. This option only supports the following File Language to [...]
-    "tempFileName": { "index": 31, "kind": "parameter", "displayName": "Temp File Name", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "The same as tempPrefix option but offering a more fine grained control on the naming of the temporary filename as it uses the File Language. The location for tempFilename is relative to the final file location in the o [...]
-    "tempPrefix": { "index": 32, "kind": "parameter", "displayName": "Temp Prefix", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "This option is used to write the file using a temporary name and then, after the write is complete, rename it to the real name. Can be used to identify files being written and also avoid consumers (not using exclusive read  [...]
-    "allowNullBody": { "index": 33, "kind": "parameter", "displayName": "Allow Null Body", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Used to specify if a null body is allowed during file writing. If set to true then an empty file will be created, when set to false, and attempting to send a null body to the file c [...]
-    "chmod": { "index": 34, "kind": "parameter", "displayName": "Chmod", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Specify the file permissions which is sent by the producer, the chmod value must be between 000 and 777; If there is a leading digit like in 0755 we will ignore it." },
-    "chmodDirectory": { "index": 35, "kind": "parameter", "displayName": "Chmod Directory", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Specify the directory permissions used when the producer creates missing directories, the chmod value must be between 000 and 777; If there is a leading digit like in 0755 we will ignore it." },
-    "eagerDeleteTargetFile": { "index": 36, "kind": "parameter", "displayName": "Eager Delete Target File", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether or not to eagerly delete any existing target file. This option only applies when you use fileExists=Override and the tempFileName option as well. You can use [...]
-    "forceWrites": { "index": 37, "kind": "parameter", "displayName": "Force Writes", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether to force syncing writes to the file system. You can turn this off if you do not want this level of guarantee, for example if writing to logs \/ audit logs etc; this would yield be [...]
-    "keepLastModified": { "index": 38, "kind": "parameter", "displayName": "Keep Last Modified", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Will keep the last modified timestamp from the source file (if any). Will use the FileConstants.FILE_LAST_MODIFIED header to located the timestamp. This header can contain eit [...]
-    "lazyStartProducer": { "index": 39, "kind": "parameter", "displayName": "Lazy Start Producer", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a produ [...]
-    "moveExistingFileStrategy": { "index": 40, "kind": "parameter", "displayName": "Move Existing File Strategy", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "object", "javaType": "org.apache.camel.component.file.strategy.FileMoveExistingStrategy", "deprecated": false, "autowired": false, "secret": false, "description": "Strategy (Custom Strategy) used to move file with special naming token to use when fileExist=Move is configured. By default, [...]
-    "autoCreate": { "index": 41, "kind": "parameter", "displayName": "Auto Create", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Automatically create missing directories in the file's pathname. For the file consumer, that means creating the starting directory. For the file producer, it means the directory the files should be written to." },
-    "bufferSize": { "index": 42, "kind": "parameter", "displayName": "Buffer Size", "group": "advanced", "label": "advanced", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 131072, "description": "Buffer size in bytes used for writing files (or in case of FTP for downloading and uploading files)." },
-    "copyAndDeleteOnRenameFail": { "index": 43, "kind": "parameter", "displayName": "Copy And Delete On Rename Fail", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether to fallback and do a copy and delete file, in case the file could not be renamed directly. This option is not available for the FTP component." },
-    "renameUsingCopy": { "index": 44, "kind": "parameter", "displayName": "Rename Using Copy", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Perform rename operations using a copy and delete strategy. This is primarily used in environments where the regular rename operation is unreliable (e.g. across different file systems or networks). [...]
-    "synchronous": { "index": 45, "kind": "parameter", "displayName": "Synchronous", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Sets whether synchronous processing should be strictly used" },
-    "antExclude": { "index": 46, "kind": "parameter", "displayName": "Ant Exclude", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Ant style filter exclusion. If both antInclude and antExclude are used, antExclude takes precedence over antInclude. Multiple exclusions may be specified in comma-delimited format." },
-    "antFilterCaseSensitive": { "index": 47, "kind": "parameter", "displayName": "Ant Filter Case Sensitive", "group": "filter", "label": "consumer,filter", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Sets case sensitive flag on ant filter." },
-    "antInclude": { "index": 48, "kind": "parameter", "displayName": "Ant Include", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Ant style filter inclusion. Multiple inclusions may be specified in comma-delimited format." },
-    "eagerMaxMessagesPerPoll": { "index": 49, "kind": "parameter", "displayName": "Eager Max Messages Per Poll", "group": "filter", "label": "consumer,filter", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Allows for controlling whether the limit from maxMessagesPerPoll is eager or not. If eager then the limit is during the scanning of files. Where as false would scan all files, [...]
-    "exclude": { "index": 50, "kind": "parameter", "displayName": "Exclude", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Is used to exclude files, if filename matches the regex pattern (matching is case in-sensitive). Notice if you use symbols such as plus sign and others you would need to configure this using the RAW() syntax if configuring th [...]
-    "excludeExt": { "index": 51, "kind": "parameter", "displayName": "Exclude Ext", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Is used to exclude files matching file extension name (case insensitive). For example to exclude bak files, then use excludeExt=bak. Multiple extensions can be separated by comma, for example to exclude bak and dat fil [...]
-    "filter": { "index": 52, "kind": "parameter", "displayName": "Filter", "group": "filter", "label": "consumer,filter", "required": false, "type": "object", "javaType": "org.apache.camel.component.file.GenericFileFilter<java.io.File>", "deprecated": false, "autowired": false, "secret": false, "description": "Pluggable filter as a org.apache.camel.component.file.GenericFileFilter class. Will skip files if filter returns false in its accept() method." },
-    "filterDirectory": { "index": 53, "kind": "parameter", "displayName": "Filter Directory", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Filters the directory based on Simple language. For example to filter on current date, you can use a simple date pattern such as ${date:now:yyyMMdd}" },
-    "filterFile": { "index": 54, "kind": "parameter", "displayName": "Filter File", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Filters the file based on Simple language. For example to filter on file size, you can use ${file:size} 5000" },
-    "idempotent": { "index": 55, "kind": "parameter", "displayName": "Idempotent", "group": "filter", "label": "consumer,filter", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "false", "description": "Option to use the Idempotent Consumer EIP pattern to let Camel skip already processed files. Will by default use a memory based LRUCache that holds 1000 entries. If noop=true then idempotent w [...]
-    "idempotentKey": { "index": 56, "kind": "parameter", "displayName": "Idempotent Key", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "To use a custom idempotent key. By default the absolute path of the file is used. You can use the File Language, for example to use the file name and file size, you can do: idempotentKey=${file:name}-${file:size}" },
-    "idempotentRepository": { "index": 57, "kind": "parameter", "displayName": "Idempotent Repository", "group": "filter", "label": "consumer,filter", "required": false, "type": "object", "javaType": "org.apache.camel.spi.IdempotentRepository", "deprecated": false, "autowired": false, "secret": false, "description": "A pluggable repository org.apache.camel.spi.IdempotentRepository which by default use MemoryIdempotentRepository if none is specified and idempotent is true." },
-    "include": { "index": 58, "kind": "parameter", "displayName": "Include", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Is used to include files, if filename matches the regex pattern (matching is case in-sensitive). Notice if you use symbols such as plus sign and others you would need to configure this using the RAW() syntax if configuring th [...]
-    "includeExt": { "index": 59, "kind": "parameter", "displayName": "Include Ext", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Is used to include files matching file extension name (case insensitive). For example to include txt files, then use includeExt=txt. Multiple extensions can be separated by comma, for example to include txt and xml fil [...]
-    "maxDepth": { "index": 60, "kind": "parameter", "displayName": "Max Depth", "group": "filter", "label": "consumer,filter", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 2147483647, "description": "The maximum depth to traverse when recursively processing a directory." },
-    "maxMessagesPerPoll": { "index": 61, "kind": "parameter", "displayName": "Max Messages Per Poll", "group": "filter", "label": "consumer,filter", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "description": "To define a maximum messages to gather per poll. By default no maximum is set. Can be used to set a limit of e.g. 1000 to avoid when starting up the server that there are thousands of files. Set a value of 0 or n [...]
-    "minDepth": { "index": 62, "kind": "parameter", "displayName": "Min Depth", "group": "filter", "label": "consumer,filter", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "description": "The minimum depth to start processing when recursively processing a directory. Using minDepth=1 means the base directory. Using minDepth=2 means the first sub directory." },
-    "move": { "index": 63, "kind": "parameter", "displayName": "Move", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Expression (such as Simple Language) used to dynamically set the filename when moving it after processing. To move files into a .done subdirectory just enter .done." },
-    "exclusiveReadLockStrategy": { "index": 64, "kind": "parameter", "displayName": "Exclusive Read Lock Strategy", "group": "lock", "label": "consumer,lock", "required": false, "type": "object", "javaType": "org.apache.camel.component.file.GenericFileExclusiveReadLockStrategy<java.io.File>", "deprecated": false, "autowired": false, "secret": false, "description": "Pluggable read-lock as a org.apache.camel.component.file.GenericFileExclusiveReadLockStrategy implementation." },
-    "readLock": { "index": 65, "kind": "parameter", "displayName": "Read Lock", "group": "lock", "label": "consumer,lock", "required": false, "type": "string", "javaType": "java.lang.String", "enum": [ "none", "markerFile", "fileLock", "rename", "changed", "idempotent", "idempotent-changed", "idempotent-rename" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "none", "description": "Used by consumer, to only poll the files if it has exclusive read-lock on the  [...]
-    "readLockCheckInterval": { "index": 66, "kind": "parameter", "displayName": "Read Lock Check Interval", "group": "lock", "label": "consumer,lock", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 1000, "description": "Interval in millis for the read-lock, if supported by the read lock. This interval is used for sleeping between attempts to acquire the read lock. For example when using the changed read  [...]
-    "readLockDeleteOrphanLockFiles": { "index": 67, "kind": "parameter", "displayName": "Read Lock Delete Orphan Lock Files", "group": "lock", "label": "consumer,lock", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether or not read lock with marker files should upon startup delete any orphan read lock files, which may have been left on the file system, if Camel was not proper [...]
-    "readLockIdempotentReleaseAsync": { "index": 68, "kind": "parameter", "displayName": "Read Lock Idempotent Release Async", "group": "lock", "label": "consumer,lock", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the delayed release task should be synchronous or asynchronous. See more details at the readLockIdempotentReleaseDelay option." },
-    "readLockIdempotentReleaseAsyncPoolSize": { "index": 69, "kind": "parameter", "displayName": "Read Lock Idempotent Release Async Pool Size", "group": "lock", "label": "consumer,lock", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "description": "The number of threads in the scheduled thread pool when using asynchronous release tasks. Using a default of 1 core threads should be sufficient in almost all use-cases, onl [...]
-    "readLockIdempotentReleaseDelay": { "index": 70, "kind": "parameter", "displayName": "Read Lock Idempotent Release Delay", "group": "lock", "label": "consumer,lock", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "description": "Whether to delay the release task for a period of millis. This can be used to delay the release tasks to expand the window when a file is regarded as read-locked, in an active\/active cluster [...]
-    "readLockIdempotentReleaseExecutorService": { "index": 71, "kind": "parameter", "displayName": "Read Lock Idempotent Release Executor Service", "group": "lock", "label": "consumer,lock", "required": false, "type": "object", "javaType": "java.util.concurrent.ScheduledExecutorService", "deprecated": false, "autowired": false, "secret": false, "description": "To use a custom and shared thread pool for asynchronous release tasks. See more details at the readLockIdempotentReleaseDelay opt [...]
-    "readLockLoggingLevel": { "index": 72, "kind": "parameter", "displayName": "Read Lock Logging Level", "group": "lock", "label": "consumer,lock", "required": false, "type": "object", "javaType": "org.apache.camel.LoggingLevel", "enum": [ "TRACE", "DEBUG", "INFO", "WARN", "ERROR", "OFF" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "DEBUG", "description": "Logging level used when a read lock could not be acquired. By default a DEBUG is logged. You can cha [...]
-    "readLockMarkerFile": { "index": 73, "kind": "parameter", "displayName": "Read Lock Marker File", "group": "lock", "label": "consumer,lock", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether to use marker file with the changed, rename, or exclusive read lock types. By default a marker file is used as well to guard against other processes picking up the same files. This b [...]
-    "readLockMinAge": { "index": 74, "kind": "parameter", "displayName": "Read Lock Min Age", "group": "lock", "label": "consumer,lock", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 0, "description": "This option is applied only for readLock=changed. It allows to specify a minimum age the file must be before attempting to acquire the read lock. For example use readLockMinAge=300s to require the file is [...]
-    "readLockMinLength": { "index": 75, "kind": "parameter", "displayName": "Read Lock Min Length", "group": "lock", "label": "consumer,lock", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 1, "description": "This option is applied only for readLock=changed. It allows you to configure a minimum file length. By default Camel expects the file to contain data, and thus the default value is 1. You can set th [...]
-    "readLockRemoveOnCommit": { "index": 76, "kind": "parameter", "displayName": "Read Lock Remove On Commit", "group": "lock", "label": "consumer,lock", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "This option is applied only for readLock=idempotent. It allows to specify whether to remove the file name entry from the idempotent repository when processing the file is succeeded [...]
-    "readLockRemoveOnRollback": { "index": 77, "kind": "parameter", "displayName": "Read Lock Remove On Rollback", "group": "lock", "label": "consumer,lock", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "This option is applied only for readLock=idempotent. It allows to specify whether to remove the file name entry from the idempotent repository when processing the file failed an [...]
-    "readLockTimeout": { "index": 78, "kind": "parameter", "displayName": "Read Lock Timeout", "group": "lock", "label": "consumer,lock", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 10000, "description": "Optional timeout in millis for the read-lock, if supported by the read-lock. If the read-lock could not be granted and the timeout triggered, then Camel will skip the file. At next poll Camel, will t [...]
-    "backoffErrorThreshold": { "index": 79, "kind": "parameter", "displayName": "Backoff Error Threshold", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "description": "The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in." },
-    "backoffIdleThreshold": { "index": 80, "kind": "parameter", "displayName": "Backoff Idle Threshold", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "description": "The number of subsequent idle polls that should happen before the backoffMultipler should kick-in." },
-    "backoffMultiplier": { "index": 81, "kind": "parameter", "displayName": "Backoff Multiplier", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "description": "To let the scheduled polling consumer backoff if there has been a number of subsequent idles\/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is h [...]
-    "delay": { "index": 82, "kind": "parameter", "displayName": "Delay", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 500, "description": "Milliseconds before the next poll." },
-    "greedy": { "index": 83, "kind": "parameter", "displayName": "Greedy", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages." },
-    "initialDelay": { "index": 84, "kind": "parameter", "displayName": "Initial Delay", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 1000, "description": "Milliseconds before the first poll starts." },
-    "repeatCount": { "index": 85, "kind": "parameter", "displayName": "Repeat Count", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 0, "description": "Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only fire once. If you set it to 5, it will only fire five times. A value of zero or negative means fire forever." },
-    "runLoggingLevel": { "index": 86, "kind": "parameter", "displayName": "Run Logging Level", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "object", "javaType": "org.apache.camel.LoggingLevel", "enum": [ "TRACE", "DEBUG", "INFO", "WARN", "ERROR", "OFF" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "TRACE", "description": "The consumer logs a start\/complete log line when it polls. This option allows you to configure the l [...]
-    "scheduledExecutorService": { "index": 87, "kind": "parameter", "displayName": "Scheduled Executor Service", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "object", "javaType": "java.util.concurrent.ScheduledExecutorService", "deprecated": false, "autowired": false, "secret": false, "description": "Allows for configuring a custom\/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool." },
-    "scheduler": { "index": 88, "kind": "parameter", "displayName": "Scheduler", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "object", "javaType": "java.lang.Object", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "none", "description": "To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler" },
-    "schedulerProperties": { "index": 89, "kind": "parameter", "displayName": "Scheduler Properties", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "object", "javaType": "java.util.Map<java.lang.String, java.lang.Object>", "prefix": "scheduler.", "multiValue": true, "deprecated": false, "autowired": false, "secret": false, "description": "To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler." },
-    "startScheduler": { "index": 90, "kind": "parameter", "displayName": "Start Scheduler", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether the scheduler should be auto started." },
-    "timeUnit": { "index": 91, "kind": "parameter", "displayName": "Time Unit", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "object", "javaType": "java.util.concurrent.TimeUnit", "enum": [ "NANOSECONDS", "MICROSECONDS", "MILLISECONDS", "SECONDS", "MINUTES", "HOURS", "DAYS" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "MILLISECONDS", "description": "Time unit for initialDelay and delay options." },
-    "useFixedDelay": { "index": 92, "kind": "parameter", "displayName": "Use Fixed Delay", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details." },
-    "shuffle": { "index": 93, "kind": "parameter", "displayName": "Shuffle", "group": "sort", "label": "consumer,sort", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "To shuffle the list of files (sort in random order)" },
-    "sortBy": { "index": 94, "kind": "parameter", "displayName": "Sort By", "group": "sort", "label": "consumer,sort", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Built-in sort by using the File Language. Supports nested sorts, so you can have a sort by file name and as a 2nd group sort by modified date." },
-    "sorter": { "index": 95, "kind": "parameter", "displayName": "Sorter", "group": "sort", "label": "consumer,sort", "required": false, "type": "object", "javaType": "java.util.Comparator<org.apache.camel.component.file.GenericFile<java.io.File>>", "deprecated": false, "autowired": false, "secret": false, "description": "Pluggable sorter as a java.util.Comparator class." }
+    "checksumFileAlgorithm": { "index": 27, "kind": "parameter", "displayName": "Checksum File Algorithm", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "If provided, then Camel will write a checksum file when the original file has been written. The checksum file will contain the checksum created with the provided algorithm for the original file. The c [...]
+    "fileExist": { "index": 28, "kind": "parameter", "displayName": "File Exist", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "org.apache.camel.component.file.GenericFileExist", "enum": [ "Override", "Append", "Fail", "Ignore", "Move", "TryRename" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "Override", "description": "What to do if a file already exists with the same name. Override, which is the default, repl [...]
+    "flatten": { "index": 29, "kind": "parameter", "displayName": "Flatten", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Flatten is used to flatten the file name path to strip any leading paths, so it's just the file name. This allows you to consume recursively into sub-directories, but when you eg write the files to another directory [...]
+    "jailStartingDirectory": { "index": 30, "kind": "parameter", "displayName": "Jail Starting Directory", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Used for jailing (restricting) writing files to the starting directory (and sub) only. This is enabled by default to not allow Camel to write files to outside directories (to be more sec [...]
+    "moveExisting": { "index": 31, "kind": "parameter", "displayName": "Move Existing", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Expression (such as File Language) used to compute file name to use when fileExist=Move is configured. To move files into a backup subdirectory just enter backup. This option only supports the following File Language to [...]
+    "tempFileName": { "index": 32, "kind": "parameter", "displayName": "Temp File Name", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "The same as tempPrefix option but offering a more fine grained control on the naming of the temporary filename as it uses the File Language. The location for tempFilename is relative to the final file location in the o [...]
+    "tempPrefix": { "index": 33, "kind": "parameter", "displayName": "Temp Prefix", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "This option is used to write the file using a temporary name and then, after the write is complete, rename it to the real name. Can be used to identify files being written and also avoid consumers (not using exclusive read  [...]
+    "allowNullBody": { "index": 34, "kind": "parameter", "displayName": "Allow Null Body", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Used to specify if a null body is allowed during file writing. If set to true then an empty file will be created, when set to false, and attempting to send a null body to the file c [...]
+    "chmod": { "index": 35, "kind": "parameter", "displayName": "Chmod", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Specify the file permissions which is sent by the producer, the chmod value must be between 000 and 777; If there is a leading digit like in 0755 we will ignore it." },
+    "chmodDirectory": { "index": 36, "kind": "parameter", "displayName": "Chmod Directory", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Specify the directory permissions used when the producer creates missing directories, the chmod value must be between 000 and 777; If there is a leading digit like in 0755 we will ignore it." },
+    "eagerDeleteTargetFile": { "index": 37, "kind": "parameter", "displayName": "Eager Delete Target File", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether or not to eagerly delete any existing target file. This option only applies when you use fileExists=Override and the tempFileName option as well. You can use [...]
+    "forceWrites": { "index": 38, "kind": "parameter", "displayName": "Force Writes", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether to force syncing writes to the file system. You can turn this off if you do not want this level of guarantee, for example if writing to logs \/ audit logs etc; this would yield be [...]
+    "keepLastModified": { "index": 39, "kind": "parameter", "displayName": "Keep Last Modified", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Will keep the last modified timestamp from the source file (if any). Will use the FileConstants.FILE_LAST_MODIFIED header to located the timestamp. This header can contain eit [...]
+    "lazyStartProducer": { "index": 40, "kind": "parameter", "displayName": "Lazy Start Producer", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a produ [...]
+    "moveExistingFileStrategy": { "index": 41, "kind": "parameter", "displayName": "Move Existing File Strategy", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "object", "javaType": "org.apache.camel.component.file.strategy.FileMoveExistingStrategy", "deprecated": false, "autowired": false, "secret": false, "description": "Strategy (Custom Strategy) used to move file with special naming token to use when fileExist=Move is configured. By default, [...]
+    "autoCreate": { "index": 42, "kind": "parameter", "displayName": "Auto Create", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Automatically create missing directories in the file's pathname. For the file consumer, that means creating the starting directory. For the file producer, it means the directory the files should be written to." },
+    "bufferSize": { "index": 43, "kind": "parameter", "displayName": "Buffer Size", "group": "advanced", "label": "advanced", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 131072, "description": "Buffer size in bytes used for writing files (or in case of FTP for downloading and uploading files)." },
+    "copyAndDeleteOnRenameFail": { "index": 44, "kind": "parameter", "displayName": "Copy And Delete On Rename Fail", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether to fallback and do a copy and delete file, in case the file could not be renamed directly. This option is not available for the FTP component." },
+    "renameUsingCopy": { "index": 45, "kind": "parameter", "displayName": "Rename Using Copy", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Perform rename operations using a copy and delete strategy. This is primarily used in environments where the regular rename operation is unreliable (e.g. across different file systems or networks). [...]
+    "synchronous": { "index": 46, "kind": "parameter", "displayName": "Synchronous", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Sets whether synchronous processing should be strictly used" },
+    "antExclude": { "index": 47, "kind": "parameter", "displayName": "Ant Exclude", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Ant style filter exclusion. If both antInclude and antExclude are used, antExclude takes precedence over antInclude. Multiple exclusions may be specified in comma-delimited format." },
+    "antFilterCaseSensitive": { "index": 48, "kind": "parameter", "displayName": "Ant Filter Case Sensitive", "group": "filter", "label": "consumer,filter", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Sets case sensitive flag on ant filter." },
+    "antInclude": { "index": 49, "kind": "parameter", "displayName": "Ant Include", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Ant style filter inclusion. Multiple inclusions may be specified in comma-delimited format." },
+    "eagerMaxMessagesPerPoll": { "index": 50, "kind": "parameter", "displayName": "Eager Max Messages Per Poll", "group": "filter", "label": "consumer,filter", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Allows for controlling whether the limit from maxMessagesPerPoll is eager or not. If eager then the limit is during the scanning of files. Where as false would scan all files, [...]
+    "exclude": { "index": 51, "kind": "parameter", "displayName": "Exclude", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Is used to exclude files, if filename matches the regex pattern (matching is case in-sensitive). Notice if you use symbols such as plus sign and others you would need to configure this using the RAW() syntax if configuring th [...]
+    "excludeExt": { "index": 52, "kind": "parameter", "displayName": "Exclude Ext", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Is used to exclude files matching file extension name (case insensitive). For example to exclude bak files, then use excludeExt=bak. Multiple extensions can be separated by comma, for example to exclude bak and dat fil [...]
+    "filter": { "index": 53, "kind": "parameter", "displayName": "Filter", "group": "filter", "label": "consumer,filter", "required": false, "type": "object", "javaType": "org.apache.camel.component.file.GenericFileFilter<java.io.File>", "deprecated": false, "autowired": false, "secret": false, "description": "Pluggable filter as a org.apache.camel.component.file.GenericFileFilter class. Will skip files if filter returns false in its accept() method." },
+    "filterDirectory": { "index": 54, "kind": "parameter", "displayName": "Filter Directory", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Filters the directory based on Simple language. For example to filter on current date, you can use a simple date pattern such as ${date:now:yyyMMdd}" },
+    "filterFile": { "index": 55, "kind": "parameter", "displayName": "Filter File", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Filters the file based on Simple language. For example to filter on file size, you can use ${file:size} 5000" },
+    "idempotent": { "index": 56, "kind": "parameter", "displayName": "Idempotent", "group": "filter", "label": "consumer,filter", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "false", "description": "Option to use the Idempotent Consumer EIP pattern to let Camel skip already processed files. Will by default use a memory based LRUCache that holds 1000 entries. If noop=true then idempotent w [...]
+    "idempotentKey": { "index": 57, "kind": "parameter", "displayName": "Idempotent Key", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "To use a custom idempotent key. By default the absolute path of the file is used. You can use the File Language, for example to use the file name and file size, you can do: idempotentKey=${file:name}-${file:size}" },
+    "idempotentRepository": { "index": 58, "kind": "parameter", "displayName": "Idempotent Repository", "group": "filter", "label": "consumer,filter", "required": false, "type": "object", "javaType": "org.apache.camel.spi.IdempotentRepository", "deprecated": false, "autowired": false, "secret": false, "description": "A pluggable repository org.apache.camel.spi.IdempotentRepository which by default use MemoryIdempotentRepository if none is specified and idempotent is true." },
+    "include": { "index": 59, "kind": "parameter", "displayName": "Include", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Is used to include files, if filename matches the regex pattern (matching is case in-sensitive). Notice if you use symbols such as plus sign and others you would need to configure this using the RAW() syntax if configuring th [...]
+    "includeExt": { "index": 60, "kind": "parameter", "displayName": "Include Ext", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Is used to include files matching file extension name (case insensitive). For example to include txt files, then use includeExt=txt. Multiple extensions can be separated by comma, for example to include txt and xml fil [...]
+    "maxDepth": { "index": 61, "kind": "parameter", "displayName": "Max Depth", "group": "filter", "label": "consumer,filter", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 2147483647, "description": "The maximum depth to traverse when recursively processing a directory." },
+    "maxMessagesPerPoll": { "index": 62, "kind": "parameter", "displayName": "Max Messages Per Poll", "group": "filter", "label": "consumer,filter", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "description": "To define a maximum messages to gather per poll. By default no maximum is set. Can be used to set a limit of e.g. 1000 to avoid when starting up the server that there are thousands of files. Set a value of 0 or n [...]
+    "minDepth": { "index": 63, "kind": "parameter", "displayName": "Min Depth", "group": "filter", "label": "consumer,filter", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "description": "The minimum depth to start processing when recursively processing a directory. Using minDepth=1 means the base directory. Using minDepth=2 means the first sub directory." },
+    "move": { "index": 64, "kind": "parameter", "displayName": "Move", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Expression (such as Simple Language) used to dynamically set the filename when moving it after processing. To move files into a .done subdirectory just enter .done." },
+    "exclusiveReadLockStrategy": { "index": 65, "kind": "parameter", "displayName": "Exclusive Read Lock Strategy", "group": "lock", "label": "consumer,lock", "required": false, "type": "object", "javaType": "org.apache.camel.component.file.GenericFileExclusiveReadLockStrategy<java.io.File>", "deprecated": false, "autowired": false, "secret": false, "description": "Pluggable read-lock as a org.apache.camel.component.file.GenericFileExclusiveReadLockStrategy implementation." },
+    "readLock": { "index": 66, "kind": "parameter", "displayName": "Read Lock", "group": "lock", "label": "consumer,lock", "required": false, "type": "string", "javaType": "java.lang.String", "enum": [ "none", "markerFile", "fileLock", "rename", "changed", "idempotent", "idempotent-changed", "idempotent-rename" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "none", "description": "Used by consumer, to only poll the files if it has exclusive read-lock on the  [...]
+    "readLockCheckInterval": { "index": 67, "kind": "parameter", "displayName": "Read Lock Check Interval", "group": "lock", "label": "consumer,lock", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 1000, "description": "Interval in millis for the read-lock, if supported by the read lock. This interval is used for sleeping between attempts to acquire the read lock. For example when using the changed read  [...]
+    "readLockDeleteOrphanLockFiles": { "index": 68, "kind": "parameter", "displayName": "Read Lock Delete Orphan Lock Files", "group": "lock", "label": "consumer,lock", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether or not read lock with marker files should upon startup delete any orphan read lock files, which may have been left on the file system, if Camel was not proper [...]
+    "readLockIdempotentReleaseAsync": { "index": 69, "kind": "parameter", "displayName": "Read Lock Idempotent Release Async", "group": "lock", "label": "consumer,lock", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the delayed release task should be synchronous or asynchronous. See more details at the readLockIdempotentReleaseDelay option." },
+    "readLockIdempotentReleaseAsyncPoolSize": { "index": 70, "kind": "parameter", "displayName": "Read Lock Idempotent Release Async Pool Size", "group": "lock", "label": "consumer,lock", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "description": "The number of threads in the scheduled thread pool when using asynchronous release tasks. Using a default of 1 core threads should be sufficient in almost all use-cases, onl [...]
+    "readLockIdempotentReleaseDelay": { "index": 71, "kind": "parameter", "displayName": "Read Lock Idempotent Release Delay", "group": "lock", "label": "consumer,lock", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "description": "Whether to delay the release task for a period of millis. This can be used to delay the release tasks to expand the window when a file is regarded as read-locked, in an active\/active cluster [...]
+    "readLockIdempotentReleaseExecutorService": { "index": 72, "kind": "parameter", "displayName": "Read Lock Idempotent Release Executor Service", "group": "lock", "label": "consumer,lock", "required": false, "type": "object", "javaType": "java.util.concurrent.ScheduledExecutorService", "deprecated": false, "autowired": false, "secret": false, "description": "To use a custom and shared thread pool for asynchronous release tasks. See more details at the readLockIdempotentReleaseDelay opt [...]
+    "readLockLoggingLevel": { "index": 73, "kind": "parameter", "displayName": "Read Lock Logging Level", "group": "lock", "label": "consumer,lock", "required": false, "type": "object", "javaType": "org.apache.camel.LoggingLevel", "enum": [ "TRACE", "DEBUG", "INFO", "WARN", "ERROR", "OFF" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "DEBUG", "description": "Logging level used when a read lock could not be acquired. By default a DEBUG is logged. You can cha [...]
+    "readLockMarkerFile": { "index": 74, "kind": "parameter", "displayName": "Read Lock Marker File", "group": "lock", "label": "consumer,lock", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether to use marker file with the changed, rename, or exclusive read lock types. By default a marker file is used as well to guard against other processes picking up the same files. This b [...]
+    "readLockMinAge": { "index": 75, "kind": "parameter", "displayName": "Read Lock Min Age", "group": "lock", "label": "consumer,lock", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 0, "description": "This option is applied only for readLock=changed. It allows to specify a minimum age the file must be before attempting to acquire the read lock. For example use readLockMinAge=300s to require the file is [...]
+    "readLockMinLength": { "index": 76, "kind": "parameter", "displayName": "Read Lock Min Length", "group": "lock", "label": "consumer,lock", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 1, "description": "This option is applied only for readLock=changed. It allows you to configure a minimum file length. By default Camel expects the file to contain data, and thus the default value is 1. You can set th [...]
+    "readLockRemoveOnCommit": { "index": 77, "kind": "parameter", "displayName": "Read Lock Remove On Commit", "group": "lock", "label": "consumer,lock", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "This option is applied only for readLock=idempotent. It allows to specify whether to remove the file name entry from the idempotent repository when processing the file is succeeded [...]
+    "readLockRemoveOnRollback": { "index": 78, "kind": "parameter", "displayName": "Read Lock Remove On Rollback", "group": "lock", "label": "consumer,lock", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "This option is applied only for readLock=idempotent. It allows to specify whether to remove the file name entry from the idempotent repository when processing the file failed an [...]
+    "readLockTimeout": { "index": 79, "kind": "parameter", "displayName": "Read Lock Timeout", "group": "lock", "label": "consumer,lock", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 10000, "description": "Optional timeout in millis for the read-lock, if supported by the read-lock. If the read-lock could not be granted and the timeout triggered, then Camel will skip the file. At next poll Camel, will t [...]
+    "backoffErrorThreshold": { "index": 80, "kind": "parameter", "displayName": "Backoff Error Threshold", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "description": "The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in." },
+    "backoffIdleThreshold": { "index": 81, "kind": "parameter", "displayName": "Backoff Idle Threshold", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "description": "The number of subsequent idle polls that should happen before the backoffMultipler should kick-in." },
+    "backoffMultiplier": { "index": 82, "kind": "parameter", "displayName": "Backoff Multiplier", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "description": "To let the scheduled polling consumer backoff if there has been a number of subsequent idles\/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is h [...]
+    "delay": { "index": 83, "kind": "parameter", "displayName": "Delay", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 500, "description": "Milliseconds before the next poll." },
+    "greedy": { "index": 84, "kind": "parameter", "displayName": "Greedy", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages." },
+    "initialDelay": { "index": 85, "kind": "parameter", "displayName": "Initial Delay", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 1000, "description": "Milliseconds before the first poll starts." },
+    "repeatCount": { "index": 86, "kind": "parameter", "displayName": "Repeat Count", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 0, "description": "Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only fire once. If you set it to 5, it will only fire five times. A value of zero or negative means fire forever." },
+    "runLoggingLevel": { "index": 87, "kind": "parameter", "displayName": "Run Logging Level", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "object", "javaType": "org.apache.camel.LoggingLevel", "enum": [ "TRACE", "DEBUG", "INFO", "WARN", "ERROR", "OFF" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "TRACE", "description": "The consumer logs a start\/complete log line when it polls. This option allows you to configure the l [...]
+    "scheduledExecutorService": { "index": 88, "kind": "parameter", "displayName": "Scheduled Executor Service", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "object", "javaType": "java.util.concurrent.ScheduledExecutorService", "deprecated": false, "autowired": false, "secret": false, "description": "Allows for configuring a custom\/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool." },
+    "scheduler": { "index": 89, "kind": "parameter", "displayName": "Scheduler", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "object", "javaType": "java.lang.Object", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "none", "description": "To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler" },
+    "schedulerProperties": { "index": 90, "kind": "parameter", "displayName": "Scheduler Properties", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "object", "javaType": "java.util.Map<java.lang.String, java.lang.Object>", "prefix": "scheduler.", "multiValue": true, "deprecated": false, "autowired": false, "secret": false, "description": "To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler." },
+    "startScheduler": { "index": 91, "kind": "parameter", "displayName": "Start Scheduler", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether the scheduler should be auto started." },
+    "timeUnit": { "index": 92, "kind": "parameter", "displayName": "Time Unit", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "object", "javaType": "java.util.concurrent.TimeUnit", "enum": [ "NANOSECONDS", "MICROSECONDS", "MILLISECONDS", "SECONDS", "MINUTES", "HOURS", "DAYS" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "MILLISECONDS", "description": "Time unit for initialDelay and delay options." },
+    "useFixedDelay": { "index": 93, "kind": "parameter", "displayName": "Use Fixed Delay", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details." },
+    "shuffle": { "index": 94, "kind": "parameter", "displayName": "Shuffle", "group": "sort", "label": "consumer,sort", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "To shuffle the list of files (sort in random order)" },
+    "sortBy": { "index": 95, "kind": "parameter", "displayName": "Sort By", "group": "sort", "label": "consumer,sort", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Built-in sort by using the File Language. Supports nested sorts, so you can have a sort by file name and as a 2nd group sort by modified date." },
+    "sorter": { "index": 96, "kind": "parameter", "displayName": "Sorter", "group": "sort", "label": "consumer,sort", "required": false, "type": "object", "javaType": "java.util.Comparator<org.apache.camel.component.file.GenericFile<java.io.File>>", "deprecated": false, "autowired": false, "secret": false, "description": "Pluggable sorter as a java.util.Comparator class." }
   }
 }
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/ftp.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/ftp.json
index bde3fa9f4ac..c4a03cdeb83 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/ftp.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/ftp.json
@@ -77,83 +77,84 @@
     "pollStrategy": { "index": 32, "kind": "parameter", "displayName": "Poll Strategy", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "object", "javaType": "org.apache.camel.spi.PollingConsumerPollStrategy", "deprecated": false, "autowired": false, "secret": false, "description": "A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the po [...]
     "processStrategy": { "index": 33, "kind": "parameter", "displayName": "Process Strategy", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "object", "javaType": "org.apache.camel.component.file.GenericFileProcessStrategy<org.apache.commons.net.ftp.FTPFile>", "deprecated": false, "autowired": false, "secret": false, "description": "A pluggable org.apache.camel.component.file.GenericFileProcessStrategy allowing you to implement your own readLock  [...]
     "useList": { "index": 34, "kind": "parameter", "displayName": "Use List", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.file.remote.FtpConfiguration", "configurationField": "configuration", "description": "Whether to allow using LIST command when downloading a file. Default is tru [...]
-    "fileExist": { "index": 35, "kind": "parameter", "displayName": "File Exist", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "org.apache.camel.component.file.GenericFileExist", "enum": [ "Override", "Append", "Fail", "Ignore", "Move", "TryRename" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "Override", "description": "What to do if a file already exists with the same name. Override, which is the default, repl [...]
-    "flatten": { "index": 36, "kind": "parameter", "displayName": "Flatten", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Flatten is used to flatten the file name path to strip any leading paths, so it's just the file name. This allows you to consume recursively into sub-directories, but when you eg write the files to another directory [...]
-    "jailStartingDirectory": { "index": 37, "kind": "parameter", "displayName": "Jail Starting Directory", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Used for jailing (restricting) writing files to the starting directory (and sub) only. This is enabled by default to not allow Camel to write files to outside directories (to be more sec [...]
-    "moveExisting": { "index": 38, "kind": "parameter", "displayName": "Move Existing", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Expression (such as File Language) used to compute file name to use when fileExist=Move is configured. To move files into a backup subdirectory just enter backup. This option only supports the following File Language to [...]
-    "tempFileName": { "index": 39, "kind": "parameter", "displayName": "Temp File Name", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "The same as tempPrefix option but offering a more fine grained control on the naming of the temporary filename as it uses the File Language. The location for tempFilename is relative to the final file location in the o [...]
-    "tempPrefix": { "index": 40, "kind": "parameter", "displayName": "Temp Prefix", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "This option is used to write the file using a temporary name and then, after the write is complete, rename it to the real name. Can be used to identify files being written and also avoid consumers (not using exclusive read  [...]
-    "allowNullBody": { "index": 41, "kind": "parameter", "displayName": "Allow Null Body", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Used to specify if a null body is allowed during file writing. If set to true then an empty file will be created, when set to false, and attempting to send a null body to the file c [...]
-    "chmod": { "index": 42, "kind": "parameter", "displayName": "Chmod", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.file.remote.FtpConfiguration", "configurationField": "configuration", "description": "Allows you to set chmod on the stored file. For example chmod=640." },
-    "disconnectOnBatchComplete": { "index": 43, "kind": "parameter", "displayName": "Disconnect On Batch Complete", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether or not to disconnect from remote FTP server right after a Batch upload is complete. disconnectOnBatchComplete will only disconnect the current conne [...]
-    "eagerDeleteTargetFile": { "index": 44, "kind": "parameter", "displayName": "Eager Delete Target File", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether or not to eagerly delete any existing target file. This option only applies when you use fileExists=Override and the tempFileName option as well. You can use [...]
-    "keepLastModified": { "index": 45, "kind": "parameter", "displayName": "Keep Last Modified", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Will keep the last modified timestamp from the source file (if any). Will use the FileConstants.FILE_LAST_MODIFIED header to located the timestamp. This header can contain eit [...]
-    "lazyStartProducer": { "index": 46, "kind": "parameter", "displayName": "Lazy Start Producer", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a produ [...]
-    "moveExistingFileStrategy": { "index": 47, "kind": "parameter", "displayName": "Move Existing File Strategy", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "object", "javaType": "org.apache.camel.component.file.strategy.FileMoveExistingStrategy", "deprecated": false, "autowired": false, "secret": false, "description": "Strategy (Custom Strategy) used to move file with special naming token to use when fileExist=Move is configured. By default, [...]
-    "sendNoop": { "index": 48, "kind": "parameter", "displayName": "Send Noop", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.file.remote.FtpConfiguration", "configurationField": "configuration", "description": "Whether to send a noop command as a pre-write check before uploading file [...]
-    "activePortRange": { "index": 49, "kind": "parameter", "displayName": "Active Port Range", "group": "advanced", "label": "advanced", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.file.remote.FtpConfiguration", "configurationField": "configuration", "description": "Set the client side port range in active mode. The syntax is: minPort-maxPort Both port numb [...]
-    "autoCreate": { "index": 50, "kind": "parameter", "displayName": "Auto Create", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Automatically create missing directories in the file's pathname. For the file consumer, that means creating the starting directory. For the file producer, it means the directory the files should be written to." },
-    "bufferSize": { "index": 51, "kind": "parameter", "displayName": "Buffer Size", "group": "advanced", "label": "advanced", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 131072, "description": "Buffer size in bytes used for writing files (or in case of FTP for downloading and uploading files)." },
-    "connectTimeout": { "index": 52, "kind": "parameter", "displayName": "Connect Timeout", "group": "advanced", "label": "advanced", "required": false, "type": "duration", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "10000", "configurationClass": "org.apache.camel.component.file.remote.FtpConfiguration", "configurationField": "configuration", "description": "Sets the connect timeout for waiting for a connection to be established Used by b [...]
-    "ftpClient": { "index": 53, "kind": "parameter", "displayName": "Ftp Client", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "org.apache.commons.net.ftp.FTPClient", "deprecated": false, "autowired": false, "secret": false, "description": "To use a custom instance of FTPClient" },
-    "ftpClientConfig": { "index": 54, "kind": "parameter", "displayName": "Ftp Client Config", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "org.apache.commons.net.ftp.FTPClientConfig", "deprecated": false, "autowired": false, "secret": false, "description": "To use a custom instance of FTPClientConfig to configure the FTP client the endpoint should use." },
-    "ftpClientConfigParameters": { "index": 55, "kind": "parameter", "displayName": "Ftp Client Config Parameters", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "java.util.Map<java.lang.String, java.lang.Object>", "prefix": "ftpClientConfig.", "multiValue": true, "deprecated": false, "autowired": false, "secret": false, "description": "Used by FtpComponent to provide additional parameters for the FTPClientConfig" },
-    "ftpClientParameters": { "index": 56, "kind": "parameter", "displayName": "Ftp Client Parameters", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "java.util.Map<java.lang.String, java.lang.Object>", "prefix": "ftpClient.", "multiValue": true, "deprecated": false, "autowired": false, "secret": false, "description": "Used by FtpComponent to provide additional parameters for the FTPClient" },
-    "maximumReconnectAttempts": { "index": 57, "kind": "parameter", "displayName": "Maximum Reconnect Attempts", "group": "advanced", "label": "advanced", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "description": "Specifies the maximum reconnect attempts Camel performs when it tries to connect to the remote FTP server. Use 0 to disable this behavior." },
-    "reconnectDelay": { "index": 58, "kind": "parameter", "displayName": "Reconnect Delay", "group": "advanced", "label": "advanced", "required": false, "type": "duration", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "1000", "description": "Delay in millis Camel will wait before performing a reconnect attempt." },
-    "siteCommand": { "index": 59, "kind": "parameter", "displayName": "Site Command", "group": "advanced", "label": "advanced", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.file.remote.FtpConfiguration", "configurationField": "configuration", "description": "Sets optional site command(s) to be executed after successful login. Multiple site commands can be se [...]
-    "soTimeout": { "index": 60, "kind": "parameter", "displayName": "So Timeout", "group": "advanced", "label": "advanced", "required": false, "type": "duration", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "300000", "configurationClass": "org.apache.camel.component.file.remote.FtpConfiguration", "configurationField": "configuration", "description": "Sets the so timeout FTP and FTPS Is the SocketOptions.SO_TIMEOUT value in millis. Recommen [...]
-    "stepwise": { "index": 61, "kind": "parameter", "displayName": "Stepwise", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.file.remote.FtpConfiguration", "configurationField": "configuration", "description": "Sets whether we should stepwise change directories while traversing file structures when downl [...]
-    "throwExceptionOnConnectFailed": { "index": 62, "kind": "parameter", "displayName": "Throw Exception On Connect Failed", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.file.remote.FtpConfiguration", "configurationField": "configuration", "description": "Should an exception be thrown if connection fai [...]
-    "timeout": { "index": 63, "kind": "parameter", "displayName": "Timeout", "group": "advanced", "label": "advanced", "required": false, "type": "duration", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "30000", "configurationClass": "org.apache.camel.component.file.remote.FtpConfiguration", "configurationField": "configuration", "description": "Sets the data timeout for waiting for reply Used only by FTPClient" },
-    "antExclude": { "index": 64, "kind": "parameter", "displayName": "Ant Exclude", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Ant style filter exclusion. If both antInclude and antExclude are used, antExclude takes precedence over antInclude. Multiple exclusions may be specified in comma-delimited format." },
-    "antFilterCaseSensitive": { "index": 65, "kind": "parameter", "displayName": "Ant Filter Case Sensitive", "group": "filter", "label": "consumer,filter", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Sets case sensitive flag on ant filter." },
-    "antInclude": { "index": 66, "kind": "parameter", "displayName": "Ant Include", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Ant style filter inclusion. Multiple inclusions may be specified in comma-delimited format." },
-    "eagerMaxMessagesPerPoll": { "index": 67, "kind": "parameter", "displayName": "Eager Max Messages Per Poll", "group": "filter", "label": "consumer,filter", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Allows for controlling whether the limit from maxMessagesPerPoll is eager or not. If eager then the limit is during the scanning of files. Where as false would scan all files, [...]
-    "exclude": { "index": 68, "kind": "parameter", "displayName": "Exclude", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Is used to exclude files, if filename matches the regex pattern (matching is case in-sensitive). Notice if you use symbols such as plus sign and others you would need to configure this using the RAW() syntax if configuring th [...]
-    "excludeExt": { "index": 69, "kind": "parameter", "displayName": "Exclude Ext", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Is used to exclude files matching file extension name (case insensitive). For example to exclude bak files, then use excludeExt=bak. Multiple extensions can be separated by comma, for example to exclude bak and dat fil [...]
-    "filter": { "index": 70, "kind": "parameter", "displayName": "Filter", "group": "filter", "label": "consumer,filter", "required": false, "type": "object", "javaType": "org.apache.camel.component.file.GenericFileFilter<org.apache.commons.net.ftp.FTPFile>", "deprecated": false, "autowired": false, "secret": false, "description": "Pluggable filter as a org.apache.camel.component.file.GenericFileFilter class. Will skip files if filter returns false in its accept() method." },
-    "filterDirectory": { "index": 71, "kind": "parameter", "displayName": "Filter Directory", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Filters the directory based on Simple language. For example to filter on current date, you can use a simple date pattern such as ${date:now:yyyMMdd}" },
-    "filterFile": { "index": 72, "kind": "parameter", "displayName": "Filter File", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Filters the file based on Simple language. For example to filter on file size, you can use ${file:size} 5000" },
-    "idempotent": { "index": 73, "kind": "parameter", "displayName": "Idempotent", "group": "filter", "label": "consumer,filter", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "false", "description": "Option to use the Idempotent Consumer EIP pattern to let Camel skip already processed files. Will by default use a memory based LRUCache that holds 1000 entries. If noop=true then idempotent w [...]
-    "idempotentKey": { "index": 74, "kind": "parameter", "displayName": "Idempotent Key", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "To use a custom idempotent key. By default the absolute path of the file is used. You can use the File Language, for example to use the file name and file size, you can do: idempotentKey=${file:name}-${file:size}" },
-    "idempotentRepository": { "index": 75, "kind": "parameter", "displayName": "Idempotent Repository", "group": "filter", "label": "consumer,filter", "required": false, "type": "object", "javaType": "org.apache.camel.spi.IdempotentRepository", "deprecated": false, "autowired": false, "secret": false, "description": "A pluggable repository org.apache.camel.spi.IdempotentRepository which by default use MemoryIdempotentRepository if none is specified and idempotent is true." },
-    "include": { "index": 76, "kind": "parameter", "displayName": "Include", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Is used to include files, if filename matches the regex pattern (matching is case in-sensitive). Notice if you use symbols such as plus sign and others you would need to configure this using the RAW() syntax if configuring th [...]
-    "includeExt": { "index": 77, "kind": "parameter", "displayName": "Include Ext", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Is used to include files matching file extension name (case insensitive). For example to include txt files, then use includeExt=txt. Multiple extensions can be separated by comma, for example to include txt and xml fil [...]
-    "maxDepth": { "index": 78, "kind": "parameter", "displayName": "Max Depth", "group": "filter", "label": "consumer,filter", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 2147483647, "description": "The maximum depth to traverse when recursively processing a directory." },
-    "maxMessagesPerPoll": { "index": 79, "kind": "parameter", "displayName": "Max Messages Per Poll", "group": "filter", "label": "consumer,filter", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "description": "To define a maximum messages to gather per poll. By default no maximum is set. Can be used to set a limit of e.g. 1000 to avoid when starting up the server that there are thousands of files. Set a value of 0 or n [...]
-    "minDepth": { "index": 80, "kind": "parameter", "displayName": "Min Depth", "group": "filter", "label": "consumer,filter", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "description": "The minimum depth to start processing when recursively processing a directory. Using minDepth=1 means the base directory. Using minDepth=2 means the first sub directory." },
-    "move": { "index": 81, "kind": "parameter", "displayName": "Move", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Expression (such as Simple Language) used to dynamically set the filename when moving it after processing. To move files into a .done subdirectory just enter .done." },
-    "exclusiveReadLockStrategy": { "index": 82, "kind": "parameter", "displayName": "Exclusive Read Lock Strategy", "group": "lock", "label": "consumer,lock", "required": false, "type": "object", "javaType": "org.apache.camel.component.file.GenericFileExclusiveReadLockStrategy<org.apache.commons.net.ftp.FTPFile>", "deprecated": false, "autowired": false, "secret": false, "description": "Pluggable read-lock as a org.apache.camel.component.file.GenericFileExclusiveReadLockStrategy implemen [...]
-    "readLock": { "index": 83, "kind": "parameter", "displayName": "Read Lock", "group": "lock", "label": "consumer,lock", "required": false, "type": "string", "javaType": "java.lang.String", "enum": [ "none", "markerFile", "fileLock", "rename", "changed", "idempotent", "idempotent-changed", "idempotent-rename" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "none", "description": "Used by consumer, to only poll the files if it has exclusive read-lock on the  [...]
-    "readLockCheckInterval": { "index": 84, "kind": "parameter", "displayName": "Read Lock Check Interval", "group": "lock", "label": "consumer,lock", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 1000, "description": "Interval in millis for the read-lock, if supported by the read lock. This interval is used for sleeping between attempts to acquire the read lock. For example when using the changed read  [...]
-    "readLockDeleteOrphanLockFiles": { "index": 85, "kind": "parameter", "displayName": "Read Lock Delete Orphan Lock Files", "group": "lock", "label": "consumer,lock", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether or not read lock with marker files should upon startup delete any orphan read lock files, which may have been left on the file system, if Camel was not proper [...]
-    "readLockLoggingLevel": { "index": 86, "kind": "parameter", "displayName": "Read Lock Logging Level", "group": "lock", "label": "consumer,lock", "required": false, "type": "object", "javaType": "org.apache.camel.LoggingLevel", "enum": [ "TRACE", "DEBUG", "INFO", "WARN", "ERROR", "OFF" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "DEBUG", "description": "Logging level used when a read lock could not be acquired. By default a DEBUG is logged. You can cha [...]
-    "readLockMarkerFile": { "index": 87, "kind": "parameter", "displayName": "Read Lock Marker File", "group": "lock", "label": "consumer,lock", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether to use marker file with the changed, rename, or exclusive read lock types. By default a marker file is used as well to guard against other processes picking up the same files. This b [...]
-    "readLockMinAge": { "index": 88, "kind": "parameter", "displayName": "Read Lock Min Age", "group": "lock", "label": "consumer,lock", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 0, "description": "This option is applied only for readLock=changed. It allows to specify a minimum age the file must be before attempting to acquire the read lock. For example use readLockMinAge=300s to require the file is [...]
-    "readLockMinLength": { "index": 89, "kind": "parameter", "displayName": "Read Lock Min Length", "group": "lock", "label": "consumer,lock", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 1, "description": "This option is applied only for readLock=changed. It allows you to configure a minimum file length. By default Camel expects the file to contain data, and thus the default value is 1. You can set th [...]
-    "readLockRemoveOnCommit": { "index": 90, "kind": "parameter", "displayName": "Read Lock Remove On Commit", "group": "lock", "label": "consumer,lock", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "This option is applied only for readLock=idempotent. It allows to specify whether to remove the file name entry from the idempotent repository when processing the file is succeeded [...]
-    "readLockRemoveOnRollback": { "index": 91, "kind": "parameter", "displayName": "Read Lock Remove On Rollback", "group": "lock", "label": "consumer,lock", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "This option is applied only for readLock=idempotent. It allows to specify whether to remove the file name entry from the idempotent repository when processing the file failed an [...]
-    "readLockTimeout": { "index": 92, "kind": "parameter", "displayName": "Read Lock Timeout", "group": "lock", "label": "consumer,lock", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 10000, "description": "Optional timeout in millis for the read-lock, if supported by the read-lock. If the read-lock could not be granted and the timeout triggered, then Camel will skip the file. At next poll Camel, will t [...]
-    "backoffErrorThreshold": { "index": 93, "kind": "parameter", "displayName": "Backoff Error Threshold", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "description": "The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in." },
-    "backoffIdleThreshold": { "index": 94, "kind": "parameter", "displayName": "Backoff Idle Threshold", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "description": "The number of subsequent idle polls that should happen before the backoffMultipler should kick-in." },
-    "backoffMultiplier": { "index": 95, "kind": "parameter", "displayName": "Backoff Multiplier", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "description": "To let the scheduled polling consumer backoff if there has been a number of subsequent idles\/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is h [...]
-    "delay": { "index": 96, "kind": "parameter", "displayName": "Delay", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 500, "description": "Milliseconds before the next poll." },
-    "greedy": { "index": 97, "kind": "parameter", "displayName": "Greedy", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages." },
-    "initialDelay": { "index": 98, "kind": "parameter", "displayName": "Initial Delay", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 1000, "description": "Milliseconds before the first poll starts." },
-    "repeatCount": { "index": 99, "kind": "parameter", "displayName": "Repeat Count", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 0, "description": "Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only fire once. If you set it to 5, it will only fire five times. A value of zero or negative means fire forever." },
-    "runLoggingLevel": { "index": 100, "kind": "parameter", "displayName": "Run Logging Level", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "object", "javaType": "org.apache.camel.LoggingLevel", "enum": [ "TRACE", "DEBUG", "INFO", "WARN", "ERROR", "OFF" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "TRACE", "description": "The consumer logs a start\/complete log line when it polls. This option allows you to configure the  [...]
-    "scheduledExecutorService": { "index": 101, "kind": "parameter", "displayName": "Scheduled Executor Service", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "object", "javaType": "java.util.concurrent.ScheduledExecutorService", "deprecated": false, "autowired": false, "secret": false, "description": "Allows for configuring a custom\/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool." },
-    "scheduler": { "index": 102, "kind": "parameter", "displayName": "Scheduler", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "object", "javaType": "java.lang.Object", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "none", "description": "To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler" },
-    "schedulerProperties": { "index": 103, "kind": "parameter", "displayName": "Scheduler Properties", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "object", "javaType": "java.util.Map<java.lang.String, java.lang.Object>", "prefix": "scheduler.", "multiValue": true, "deprecated": false, "autowired": false, "secret": false, "description": "To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler." },
-    "startScheduler": { "index": 104, "kind": "parameter", "displayName": "Start Scheduler", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether the scheduler should be auto started." },
-    "timeUnit": { "index": 105, "kind": "parameter", "displayName": "Time Unit", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "object", "javaType": "java.util.concurrent.TimeUnit", "enum": [ "NANOSECONDS", "MICROSECONDS", "MILLISECONDS", "SECONDS", "MINUTES", "HOURS", "DAYS" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "MILLISECONDS", "description": "Time unit for initialDelay and delay options." },
-    "useFixedDelay": { "index": 106, "kind": "parameter", "displayName": "Use Fixed Delay", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details." },
-    "account": { "index": 107, "kind": "parameter", "displayName": "Account", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.file.remote.FtpConfiguration", "configurationField": "configuration", "description": "Account to use for login" },
-    "password": { "index": 108, "kind": "parameter", "displayName": "Password", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.file.remote.FtpConfiguration", "configurationField": "configuration", "description": "Password to use for login" },
-    "username": { "index": 109, "kind": "parameter", "displayName": "Username", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.file.remote.FtpConfiguration", "configurationField": "configuration", "description": "Username to use for login" },
-    "shuffle": { "index": 110, "kind": "parameter", "displayName": "Shuffle", "group": "sort", "label": "consumer,sort", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "To shuffle the list of files (sort in random order)" },
-    "sortBy": { "index": 111, "kind": "parameter", "displayName": "Sort By", "group": "sort", "label": "consumer,sort", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Built-in sort by using the File Language. Supports nested sorts, so you can have a sort by file name and as a 2nd group sort by modified date." },
-    "sorter": { "index": 112, "kind": "parameter", "displayName": "Sorter", "group": "sort", "label": "consumer,sort", "required": false, "type": "object", "javaType": "java.util.Comparator<org.apache.camel.component.file.GenericFile<org.apache.commons.net.ftp.FTPFile>>", "deprecated": false, "autowired": false, "secret": false, "description": "Pluggable sorter as a java.util.Comparator class." }
+    "checksumFileAlgorithm": { "index": 35, "kind": "parameter", "displayName": "Checksum File Algorithm", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "If provided, then Camel will write a checksum file when the original file has been written. The checksum file will contain the checksum created with the provided algorithm for the original file. The c [...]
+    "fileExist": { "index": 36, "kind": "parameter", "displayName": "File Exist", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "org.apache.camel.component.file.GenericFileExist", "enum": [ "Override", "Append", "Fail", "Ignore", "Move", "TryRename" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "Override", "description": "What to do if a file already exists with the same name. Override, which is the default, repl [...]
+    "flatten": { "index": 37, "kind": "parameter", "displayName": "Flatten", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Flatten is used to flatten the file name path to strip any leading paths, so it's just the file name. This allows you to consume recursively into sub-directories, but when you eg write the files to another directory [...]
+    "jailStartingDirectory": { "index": 38, "kind": "parameter", "displayName": "Jail Starting Directory", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Used for jailing (restricting) writing files to the starting directory (and sub) only. This is enabled by default to not allow Camel to write files to outside directories (to be more sec [...]
+    "moveExisting": { "index": 39, "kind": "parameter", "displayName": "Move Existing", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Expression (such as File Language) used to compute file name to use when fileExist=Move is configured. To move files into a backup subdirectory just enter backup. This option only supports the following File Language to [...]
+    "tempFileName": { "index": 40, "kind": "parameter", "displayName": "Temp File Name", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "The same as tempPrefix option but offering a more fine grained control on the naming of the temporary filename as it uses the File Language. The location for tempFilename is relative to the final file location in the o [...]
+    "tempPrefix": { "index": 41, "kind": "parameter", "displayName": "Temp Prefix", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "This option is used to write the file using a temporary name and then, after the write is complete, rename it to the real name. Can be used to identify files being written and also avoid consumers (not using exclusive read  [...]
+    "allowNullBody": { "index": 42, "kind": "parameter", "displayName": "Allow Null Body", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Used to specify if a null body is allowed during file writing. If set to true then an empty file will be created, when set to false, and attempting to send a null body to the file c [...]
+    "chmod": { "index": 43, "kind": "parameter", "displayName": "Chmod", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.file.remote.FtpConfiguration", "configurationField": "configuration", "description": "Allows you to set chmod on the stored file. For example chmod=640." },
+    "disconnectOnBatchComplete": { "index": 44, "kind": "parameter", "displayName": "Disconnect On Batch Complete", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether or not to disconnect from remote FTP server right after a Batch upload is complete. disconnectOnBatchComplete will only disconnect the current conne [...]
+    "eagerDeleteTargetFile": { "index": 45, "kind": "parameter", "displayName": "Eager Delete Target File", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether or not to eagerly delete any existing target file. This option only applies when you use fileExists=Override and the tempFileName option as well. You can use [...]
+    "keepLastModified": { "index": 46, "kind": "parameter", "displayName": "Keep Last Modified", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Will keep the last modified timestamp from the source file (if any). Will use the FileConstants.FILE_LAST_MODIFIED header to located the timestamp. This header can contain eit [...]
+    "lazyStartProducer": { "index": 47, "kind": "parameter", "displayName": "Lazy Start Producer", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a produ [...]
+    "moveExistingFileStrategy": { "index": 48, "kind": "parameter", "displayName": "Move Existing File Strategy", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "object", "javaType": "org.apache.camel.component.file.strategy.FileMoveExistingStrategy", "deprecated": false, "autowired": false, "secret": false, "description": "Strategy (Custom Strategy) used to move file with special naming token to use when fileExist=Move is configured. By default, [...]
+    "sendNoop": { "index": 49, "kind": "parameter", "displayName": "Send Noop", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.file.remote.FtpConfiguration", "configurationField": "configuration", "description": "Whether to send a noop command as a pre-write check before uploading file [...]
+    "activePortRange": { "index": 50, "kind": "parameter", "displayName": "Active Port Range", "group": "advanced", "label": "advanced", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.file.remote.FtpConfiguration", "configurationField": "configuration", "description": "Set the client side port range in active mode. The syntax is: minPort-maxPort Both port numb [...]
+    "autoCreate": { "index": 51, "kind": "parameter", "displayName": "Auto Create", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Automatically create missing directories in the file's pathname. For the file consumer, that means creating the starting directory. For the file producer, it means the directory the files should be written to." },
+    "bufferSize": { "index": 52, "kind": "parameter", "displayName": "Buffer Size", "group": "advanced", "label": "advanced", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 131072, "description": "Buffer size in bytes used for writing files (or in case of FTP for downloading and uploading files)." },
+    "connectTimeout": { "index": 53, "kind": "parameter", "displayName": "Connect Timeout", "group": "advanced", "label": "advanced", "required": false, "type": "duration", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "10000", "configurationClass": "org.apache.camel.component.file.remote.FtpConfiguration", "configurationField": "configuration", "description": "Sets the connect timeout for waiting for a connection to be established Used by b [...]
+    "ftpClient": { "index": 54, "kind": "parameter", "displayName": "Ftp Client", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "org.apache.commons.net.ftp.FTPClient", "deprecated": false, "autowired": false, "secret": false, "description": "To use a custom instance of FTPClient" },
+    "ftpClientConfig": { "index": 55, "kind": "parameter", "displayName": "Ftp Client Config", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "org.apache.commons.net.ftp.FTPClientConfig", "deprecated": false, "autowired": false, "secret": false, "description": "To use a custom instance of FTPClientConfig to configure the FTP client the endpoint should use." },
+    "ftpClientConfigParameters": { "index": 56, "kind": "parameter", "displayName": "Ftp Client Config Parameters", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "java.util.Map<java.lang.String, java.lang.Object>", "prefix": "ftpClientConfig.", "multiValue": true, "deprecated": false, "autowired": false, "secret": false, "description": "Used by FtpComponent to provide additional parameters for the FTPClientConfig" },
+    "ftpClientParameters": { "index": 57, "kind": "parameter", "displayName": "Ftp Client Parameters", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "java.util.Map<java.lang.String, java.lang.Object>", "prefix": "ftpClient.", "multiValue": true, "deprecated": false, "autowired": false, "secret": false, "description": "Used by FtpComponent to provide additional parameters for the FTPClient" },
+    "maximumReconnectAttempts": { "index": 58, "kind": "parameter", "displayName": "Maximum Reconnect Attempts", "group": "advanced", "label": "advanced", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "description": "Specifies the maximum reconnect attempts Camel performs when it tries to connect to the remote FTP server. Use 0 to disable this behavior." },
+    "reconnectDelay": { "index": 59, "kind": "parameter", "displayName": "Reconnect Delay", "group": "advanced", "label": "advanced", "required": false, "type": "duration", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "1000", "description": "Delay in millis Camel will wait before performing a reconnect attempt." },
+    "siteCommand": { "index": 60, "kind": "parameter", "displayName": "Site Command", "group": "advanced", "label": "advanced", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.file.remote.FtpConfiguration", "configurationField": "configuration", "description": "Sets optional site command(s) to be executed after successful login. Multiple site commands can be se [...]
+    "soTimeout": { "index": 61, "kind": "parameter", "displayName": "So Timeout", "group": "advanced", "label": "advanced", "required": false, "type": "duration", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "300000", "configurationClass": "org.apache.camel.component.file.remote.FtpConfiguration", "configurationField": "configuration", "description": "Sets the so timeout FTP and FTPS Is the SocketOptions.SO_TIMEOUT value in millis. Recommen [...]
+    "stepwise": { "index": 62, "kind": "parameter", "displayName": "Stepwise", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.file.remote.FtpConfiguration", "configurationField": "configuration", "description": "Sets whether we should stepwise change directories while traversing file structures when downl [...]
+    "throwExceptionOnConnectFailed": { "index": 63, "kind": "parameter", "displayName": "Throw Exception On Connect Failed", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.file.remote.FtpConfiguration", "configurationField": "configuration", "description": "Should an exception be thrown if connection fai [...]
+    "timeout": { "index": 64, "kind": "parameter", "displayName": "Timeout", "group": "advanced", "label": "advanced", "required": false, "type": "duration", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "30000", "configurationClass": "org.apache.camel.component.file.remote.FtpConfiguration", "configurationField": "configuration", "description": "Sets the data timeout for waiting for reply Used only by FTPClient" },
+    "antExclude": { "index": 65, "kind": "parameter", "displayName": "Ant Exclude", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Ant style filter exclusion. If both antInclude and antExclude are used, antExclude takes precedence over antInclude. Multiple exclusions may be specified in comma-delimited format." },
+    "antFilterCaseSensitive": { "index": 66, "kind": "parameter", "displayName": "Ant Filter Case Sensitive", "group": "filter", "label": "consumer,filter", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Sets case sensitive flag on ant filter." },
+    "antInclude": { "index": 67, "kind": "parameter", "displayName": "Ant Include", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Ant style filter inclusion. Multiple inclusions may be specified in comma-delimited format." },
+    "eagerMaxMessagesPerPoll": { "index": 68, "kind": "parameter", "displayName": "Eager Max Messages Per Poll", "group": "filter", "label": "consumer,filter", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Allows for controlling whether the limit from maxMessagesPerPoll is eager or not. If eager then the limit is during the scanning of files. Where as false would scan all files, [...]
+    "exclude": { "index": 69, "kind": "parameter", "displayName": "Exclude", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Is used to exclude files, if filename matches the regex pattern (matching is case in-sensitive). Notice if you use symbols such as plus sign and others you would need to configure this using the RAW() syntax if configuring th [...]
+    "excludeExt": { "index": 70, "kind": "parameter", "displayName": "Exclude Ext", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Is used to exclude files matching file extension name (case insensitive). For example to exclude bak files, then use excludeExt=bak. Multiple extensions can be separated by comma, for example to exclude bak and dat fil [...]
+    "filter": { "index": 71, "kind": "parameter", "displayName": "Filter", "group": "filter", "label": "consumer,filter", "required": false, "type": "object", "javaType": "org.apache.camel.component.file.GenericFileFilter<org.apache.commons.net.ftp.FTPFile>", "deprecated": false, "autowired": false, "secret": false, "description": "Pluggable filter as a org.apache.camel.component.file.GenericFileFilter class. Will skip files if filter returns false in its accept() method." },
+    "filterDirectory": { "index": 72, "kind": "parameter", "displayName": "Filter Directory", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Filters the directory based on Simple language. For example to filter on current date, you can use a simple date pattern such as ${date:now:yyyMMdd}" },
+    "filterFile": { "index": 73, "kind": "parameter", "displayName": "Filter File", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Filters the file based on Simple language. For example to filter on file size, you can use ${file:size} 5000" },
+    "idempotent": { "index": 74, "kind": "parameter", "displayName": "Idempotent", "group": "filter", "label": "consumer,filter", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "false", "description": "Option to use the Idempotent Consumer EIP pattern to let Camel skip already processed files. Will by default use a memory based LRUCache that holds 1000 entries. If noop=true then idempotent w [...]
+    "idempotentKey": { "index": 75, "kind": "parameter", "displayName": "Idempotent Key", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "To use a custom idempotent key. By default the absolute path of the file is used. You can use the File Language, for example to use the file name and file size, you can do: idempotentKey=${file:name}-${file:size}" },
+    "idempotentRepository": { "index": 76, "kind": "parameter", "displayName": "Idempotent Repository", "group": "filter", "label": "consumer,filter", "required": false, "type": "object", "javaType": "org.apache.camel.spi.IdempotentRepository", "deprecated": false, "autowired": false, "secret": false, "description": "A pluggable repository org.apache.camel.spi.IdempotentRepository which by default use MemoryIdempotentRepository if none is specified and idempotent is true." },
+    "include": { "index": 77, "kind": "parameter", "displayName": "Include", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Is used to include files, if filename matches the regex pattern (matching is case in-sensitive). Notice if you use symbols such as plus sign and others you would need to configure this using the RAW() syntax if configuring th [...]
+    "includeExt": { "index": 78, "kind": "parameter", "displayName": "Include Ext", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Is used to include files matching file extension name (case insensitive). For example to include txt files, then use includeExt=txt. Multiple extensions can be separated by comma, for example to include txt and xml fil [...]
+    "maxDepth": { "index": 79, "kind": "parameter", "displayName": "Max Depth", "group": "filter", "label": "consumer,filter", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 2147483647, "description": "The maximum depth to traverse when recursively processing a directory." },
+    "maxMessagesPerPoll": { "index": 80, "kind": "parameter", "displayName": "Max Messages Per Poll", "group": "filter", "label": "consumer,filter", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "description": "To define a maximum messages to gather per poll. By default no maximum is set. Can be used to set a limit of e.g. 1000 to avoid when starting up the server that there are thousands of files. Set a value of 0 or n [...]
+    "minDepth": { "index": 81, "kind": "parameter", "displayName": "Min Depth", "group": "filter", "label": "consumer,filter", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "description": "The minimum depth to start processing when recursively processing a directory. Using minDepth=1 means the base directory. Using minDepth=2 means the first sub directory." },
+    "move": { "index": 82, "kind": "parameter", "displayName": "Move", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Expression (such as Simple Language) used to dynamically set the filename when moving it after processing. To move files into a .done subdirectory just enter .done." },
+    "exclusiveReadLockStrategy": { "index": 83, "kind": "parameter", "displayName": "Exclusive Read Lock Strategy", "group": "lock", "label": "consumer,lock", "required": false, "type": "object", "javaType": "org.apache.camel.component.file.GenericFileExclusiveReadLockStrategy<org.apache.commons.net.ftp.FTPFile>", "deprecated": false, "autowired": false, "secret": false, "description": "Pluggable read-lock as a org.apache.camel.component.file.GenericFileExclusiveReadLockStrategy implemen [...]
+    "readLock": { "index": 84, "kind": "parameter", "displayName": "Read Lock", "group": "lock", "label": "consumer,lock", "required": false, "type": "string", "javaType": "java.lang.String", "enum": [ "none", "markerFile", "fileLock", "rename", "changed", "idempotent", "idempotent-changed", "idempotent-rename" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "none", "description": "Used by consumer, to only poll the files if it has exclusive read-lock on the  [...]
+    "readLockCheckInterval": { "index": 85, "kind": "parameter", "displayName": "Read Lock Check Interval", "group": "lock", "label": "consumer,lock", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 1000, "description": "Interval in millis for the read-lock, if supported by the read lock. This interval is used for sleeping between attempts to acquire the read lock. For example when using the changed read  [...]
+    "readLockDeleteOrphanLockFiles": { "index": 86, "kind": "parameter", "displayName": "Read Lock Delete Orphan Lock Files", "group": "lock", "label": "consumer,lock", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether or not read lock with marker files should upon startup delete any orphan read lock files, which may have been left on the file system, if Camel was not proper [...]
+    "readLockLoggingLevel": { "index": 87, "kind": "parameter", "displayName": "Read Lock Logging Level", "group": "lock", "label": "consumer,lock", "required": false, "type": "object", "javaType": "org.apache.camel.LoggingLevel", "enum": [ "TRACE", "DEBUG", "INFO", "WARN", "ERROR", "OFF" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "DEBUG", "description": "Logging level used when a read lock could not be acquired. By default a DEBUG is logged. You can cha [...]
+    "readLockMarkerFile": { "index": 88, "kind": "parameter", "displayName": "Read Lock Marker File", "group": "lock", "label": "consumer,lock", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether to use marker file with the changed, rename, or exclusive read lock types. By default a marker file is used as well to guard against other processes picking up the same files. This b [...]
+    "readLockMinAge": { "index": 89, "kind": "parameter", "displayName": "Read Lock Min Age", "group": "lock", "label": "consumer,lock", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 0, "description": "This option is applied only for readLock=changed. It allows to specify a minimum age the file must be before attempting to acquire the read lock. For example use readLockMinAge=300s to require the file is [...]
+    "readLockMinLength": { "index": 90, "kind": "parameter", "displayName": "Read Lock Min Length", "group": "lock", "label": "consumer,lock", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 1, "description": "This option is applied only for readLock=changed. It allows you to configure a minimum file length. By default Camel expects the file to contain data, and thus the default value is 1. You can set th [...]
+    "readLockRemoveOnCommit": { "index": 91, "kind": "parameter", "displayName": "Read Lock Remove On Commit", "group": "lock", "label": "consumer,lock", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "This option is applied only for readLock=idempotent. It allows to specify whether to remove the file name entry from the idempotent repository when processing the file is succeeded [...]
+    "readLockRemoveOnRollback": { "index": 92, "kind": "parameter", "displayName": "Read Lock Remove On Rollback", "group": "lock", "label": "consumer,lock", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "This option is applied only for readLock=idempotent. It allows to specify whether to remove the file name entry from the idempotent repository when processing the file failed an [...]
+    "readLockTimeout": { "index": 93, "kind": "parameter", "displayName": "Read Lock Timeout", "group": "lock", "label": "consumer,lock", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 10000, "description": "Optional timeout in millis for the read-lock, if supported by the read-lock. If the read-lock could not be granted and the timeout triggered, then Camel will skip the file. At next poll Camel, will t [...]
+    "backoffErrorThreshold": { "index": 94, "kind": "parameter", "displayName": "Backoff Error Threshold", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "description": "The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in." },
+    "backoffIdleThreshold": { "index": 95, "kind": "parameter", "displayName": "Backoff Idle Threshold", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "description": "The number of subsequent idle polls that should happen before the backoffMultipler should kick-in." },
+    "backoffMultiplier": { "index": 96, "kind": "parameter", "displayName": "Backoff Multiplier", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "description": "To let the scheduled polling consumer backoff if there has been a number of subsequent idles\/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is h [...]
+    "delay": { "index": 97, "kind": "parameter", "displayName": "Delay", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 500, "description": "Milliseconds before the next poll." },
+    "greedy": { "index": 98, "kind": "parameter", "displayName": "Greedy", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages." },
+    "initialDelay": { "index": 99, "kind": "parameter", "displayName": "Initial Delay", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 1000, "description": "Milliseconds before the first poll starts." },
+    "repeatCount": { "index": 100, "kind": "parameter", "displayName": "Repeat Count", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 0, "description": "Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only fire once. If you set it to 5, it will only fire five times. A value of zero or negative means fire forever." },
+    "runLoggingLevel": { "index": 101, "kind": "parameter", "displayName": "Run Logging Level", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "object", "javaType": "org.apache.camel.LoggingLevel", "enum": [ "TRACE", "DEBUG", "INFO", "WARN", "ERROR", "OFF" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "TRACE", "description": "The consumer logs a start\/complete log line when it polls. This option allows you to configure the  [...]
+    "scheduledExecutorService": { "index": 102, "kind": "parameter", "displayName": "Scheduled Executor Service", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "object", "javaType": "java.util.concurrent.ScheduledExecutorService", "deprecated": false, "autowired": false, "secret": false, "description": "Allows for configuring a custom\/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool." },
+    "scheduler": { "index": 103, "kind": "parameter", "displayName": "Scheduler", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "object", "javaType": "java.lang.Object", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "none", "description": "To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler" },
+    "schedulerProperties": { "index": 104, "kind": "parameter", "displayName": "Scheduler Properties", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "object", "javaType": "java.util.Map<java.lang.String, java.lang.Object>", "prefix": "scheduler.", "multiValue": true, "deprecated": false, "autowired": false, "secret": false, "description": "To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler." },
+    "startScheduler": { "index": 105, "kind": "parameter", "displayName": "Start Scheduler", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether the scheduler should be auto started." },
+    "timeUnit": { "index": 106, "kind": "parameter", "displayName": "Time Unit", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "object", "javaType": "java.util.concurrent.TimeUnit", "enum": [ "NANOSECONDS", "MICROSECONDS", "MILLISECONDS", "SECONDS", "MINUTES", "HOURS", "DAYS" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "MILLISECONDS", "description": "Time unit for initialDelay and delay options." },
+    "useFixedDelay": { "index": 107, "kind": "parameter", "displayName": "Use Fixed Delay", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details." },
+    "account": { "index": 108, "kind": "parameter", "displayName": "Account", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.file.remote.FtpConfiguration", "configurationField": "configuration", "description": "Account to use for login" },
+    "password": { "index": 109, "kind": "parameter", "displayName": "Password", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.file.remote.FtpConfiguration", "configurationField": "configuration", "description": "Password to use for login" },
+    "username": { "index": 110, "kind": "parameter", "displayName": "Username", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.file.remote.FtpConfiguration", "configurationField": "configuration", "description": "Username to use for login" },
+    "shuffle": { "index": 111, "kind": "parameter", "displayName": "Shuffle", "group": "sort", "label": "consumer,sort", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "To shuffle the list of files (sort in random order)" },
+    "sortBy": { "index": 112, "kind": "parameter", "displayName": "Sort By", "group": "sort", "label": "consumer,sort", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Built-in sort by using the File Language. Supports nested sorts, so you can have a sort by file name and as a 2nd group sort by modified date." },
+    "sorter": { "index": 113, "kind": "parameter", "displayName": "Sorter", "group": "sort", "label": "consumer,sort", "required": false, "type": "object", "javaType": "java.util.Comparator<org.apache.camel.component.file.GenericFile<org.apache.commons.net.ftp.FTPFile>>", "deprecated": false, "autowired": false, "secret": false, "description": "Pluggable sorter as a java.util.Comparator class." }
   }
 }
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/ftps.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/ftps.json
index 6ec7423c40d..65ba93938ca 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/ftps.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/ftps.json
@@ -78,91 +78,92 @@
     "pollStrategy": { "index": 32, "kind": "parameter", "displayName": "Poll Strategy", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "object", "javaType": "org.apache.camel.spi.PollingConsumerPollStrategy", "deprecated": false, "autowired": false, "secret": false, "description": "A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the po [...]
     "processStrategy": { "index": 33, "kind": "parameter", "displayName": "Process Strategy", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "object", "javaType": "org.apache.camel.component.file.GenericFileProcessStrategy<org.apache.commons.net.ftp.FTPFile>", "deprecated": false, "autowired": false, "secret": false, "description": "A pluggable org.apache.camel.component.file.GenericFileProcessStrategy allowing you to implement your own readLock  [...]
     "useList": { "index": 34, "kind": "parameter", "displayName": "Use List", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.file.remote.FtpsConfiguration", "configurationField": "configuration", "description": "Whether to allow using LIST command when downloading a file. Default is tr [...]
-    "fileExist": { "index": 35, "kind": "parameter", "displayName": "File Exist", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "org.apache.camel.component.file.GenericFileExist", "enum": [ "Override", "Append", "Fail", "Ignore", "Move", "TryRename" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "Override", "description": "What to do if a file already exists with the same name. Override, which is the default, repl [...]
-    "flatten": { "index": 36, "kind": "parameter", "displayName": "Flatten", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Flatten is used to flatten the file name path to strip any leading paths, so it's just the file name. This allows you to consume recursively into sub-directories, but when you eg write the files to another directory [...]
-    "jailStartingDirectory": { "index": 37, "kind": "parameter", "displayName": "Jail Starting Directory", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Used for jailing (restricting) writing files to the starting directory (and sub) only. This is enabled by default to not allow Camel to write files to outside directories (to be more sec [...]
-    "moveExisting": { "index": 38, "kind": "parameter", "displayName": "Move Existing", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Expression (such as File Language) used to compute file name to use when fileExist=Move is configured. To move files into a backup subdirectory just enter backup. This option only supports the following File Language to [...]
-    "tempFileName": { "index": 39, "kind": "parameter", "displayName": "Temp File Name", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "The same as tempPrefix option but offering a more fine grained control on the naming of the temporary filename as it uses the File Language. The location for tempFilename is relative to the final file location in the o [...]
-    "tempPrefix": { "index": 40, "kind": "parameter", "displayName": "Temp Prefix", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "This option is used to write the file using a temporary name and then, after the write is complete, rename it to the real name. Can be used to identify files being written and also avoid consumers (not using exclusive read  [...]
-    "allowNullBody": { "index": 41, "kind": "parameter", "displayName": "Allow Null Body", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Used to specify if a null body is allowed during file writing. If set to true then an empty file will be created, when set to false, and attempting to send a null body to the file c [...]
-    "chmod": { "index": 42, "kind": "parameter", "displayName": "Chmod", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.file.remote.FtpsConfiguration", "configurationField": "configuration", "description": "Allows you to set chmod on the stored file. For example chmod=640." },
-    "disconnectOnBatchComplete": { "index": 43, "kind": "parameter", "displayName": "Disconnect On Batch Complete", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether or not to disconnect from remote FTP server right after a Batch upload is complete. disconnectOnBatchComplete will only disconnect the current conne [...]
-    "eagerDeleteTargetFile": { "index": 44, "kind": "parameter", "displayName": "Eager Delete Target File", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether or not to eagerly delete any existing target file. This option only applies when you use fileExists=Override and the tempFileName option as well. You can use [...]
-    "keepLastModified": { "index": 45, "kind": "parameter", "displayName": "Keep Last Modified", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Will keep the last modified timestamp from the source file (if any). Will use the FileConstants.FILE_LAST_MODIFIED header to located the timestamp. This header can contain eit [...]
-    "lazyStartProducer": { "index": 46, "kind": "parameter", "displayName": "Lazy Start Producer", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a produ [...]
-    "moveExistingFileStrategy": { "index": 47, "kind": "parameter", "displayName": "Move Existing File Strategy", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "object", "javaType": "org.apache.camel.component.file.strategy.FileMoveExistingStrategy", "deprecated": false, "autowired": false, "secret": false, "description": "Strategy (Custom Strategy) used to move file with special naming token to use when fileExist=Move is configured. By default, [...]
-    "sendNoop": { "index": 48, "kind": "parameter", "displayName": "Send Noop", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.file.remote.FtpsConfiguration", "configurationField": "configuration", "description": "Whether to send a noop command as a pre-write check before uploading fil [...]
-    "activePortRange": { "index": 49, "kind": "parameter", "displayName": "Active Port Range", "group": "advanced", "label": "advanced", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.file.remote.FtpsConfiguration", "configurationField": "configuration", "description": "Set the client side port range in active mode. The syntax is: minPort-maxPort Both port num [...]
-    "autoCreate": { "index": 50, "kind": "parameter", "displayName": "Auto Create", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Automatically create missing directories in the file's pathname. For the file consumer, that means creating the starting directory. For the file producer, it means the directory the files should be written to." },
-    "bufferSize": { "index": 51, "kind": "parameter", "displayName": "Buffer Size", "group": "advanced", "label": "advanced", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 131072, "description": "Buffer size in bytes used for writing files (or in case of FTP for downloading and uploading files)." },
-    "connectTimeout": { "index": 52, "kind": "parameter", "displayName": "Connect Timeout", "group": "advanced", "label": "advanced", "required": false, "type": "duration", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "10000", "configurationClass": "org.apache.camel.component.file.remote.FtpsConfiguration", "configurationField": "configuration", "description": "Sets the connect timeout for waiting for a connection to be established Used by  [...]
-    "ftpClient": { "index": 53, "kind": "parameter", "displayName": "Ftp Client", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "org.apache.commons.net.ftp.FTPClient", "deprecated": false, "autowired": false, "secret": false, "description": "To use a custom instance of FTPClient" },
-    "ftpClientConfig": { "index": 54, "kind": "parameter", "displayName": "Ftp Client Config", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "org.apache.commons.net.ftp.FTPClientConfig", "deprecated": false, "autowired": false, "secret": false, "description": "To use a custom instance of FTPClientConfig to configure the FTP client the endpoint should use." },
-    "ftpClientConfigParameters": { "index": 55, "kind": "parameter", "displayName": "Ftp Client Config Parameters", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "java.util.Map<java.lang.String, java.lang.Object>", "prefix": "ftpClientConfig.", "multiValue": true, "deprecated": false, "autowired": false, "secret": false, "description": "Used by FtpComponent to provide additional parameters for the FTPClientConfig" },
-    "ftpClientParameters": { "index": 56, "kind": "parameter", "displayName": "Ftp Client Parameters", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "java.util.Map<java.lang.String, java.lang.Object>", "prefix": "ftpClient.", "multiValue": true, "deprecated": false, "autowired": false, "secret": false, "description": "Used by FtpComponent to provide additional parameters for the FTPClient" },
-    "maximumReconnectAttempts": { "index": 57, "kind": "parameter", "displayName": "Maximum Reconnect Attempts", "group": "advanced", "label": "advanced", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "description": "Specifies the maximum reconnect attempts Camel performs when it tries to connect to the remote FTP server. Use 0 to disable this behavior." },
-    "reconnectDelay": { "index": 58, "kind": "parameter", "displayName": "Reconnect Delay", "group": "advanced", "label": "advanced", "required": false, "type": "duration", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "1000", "description": "Delay in millis Camel will wait before performing a reconnect attempt." },
-    "siteCommand": { "index": 59, "kind": "parameter", "displayName": "Site Command", "group": "advanced", "label": "advanced", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.file.remote.FtpsConfiguration", "configurationField": "configuration", "description": "Sets optional site command(s) to be executed after successful login. Multiple site commands can be s [...]
-    "soTimeout": { "index": 60, "kind": "parameter", "displayName": "So Timeout", "group": "advanced", "label": "advanced", "required": false, "type": "duration", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "300000", "configurationClass": "org.apache.camel.component.file.remote.FtpsConfiguration", "configurationField": "configuration", "description": "Sets the so timeout FTP and FTPS Is the SocketOptions.SO_TIMEOUT value in millis. Recomme [...]
-    "stepwise": { "index": 61, "kind": "parameter", "displayName": "Stepwise", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.file.remote.FtpsConfiguration", "configurationField": "configuration", "description": "Sets whether we should stepwise change directories while traversing file structures when down [...]
-    "throwExceptionOnConnectFailed": { "index": 62, "kind": "parameter", "displayName": "Throw Exception On Connect Failed", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.file.remote.FtpsConfiguration", "configurationField": "configuration", "description": "Should an exception be thrown if connection fa [...]
-    "timeout": { "index": 63, "kind": "parameter", "displayName": "Timeout", "group": "advanced", "label": "advanced", "required": false, "type": "duration", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "30000", "configurationClass": "org.apache.camel.component.file.remote.FtpsConfiguration", "configurationField": "configuration", "description": "Sets the data timeout for waiting for reply Used only by FTPClient" },
-    "antExclude": { "index": 64, "kind": "parameter", "displayName": "Ant Exclude", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Ant style filter exclusion. If both antInclude and antExclude are used, antExclude takes precedence over antInclude. Multiple exclusions may be specified in comma-delimited format." },
-    "antFilterCaseSensitive": { "index": 65, "kind": "parameter", "displayName": "Ant Filter Case Sensitive", "group": "filter", "label": "consumer,filter", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Sets case sensitive flag on ant filter." },
-    "antInclude": { "index": 66, "kind": "parameter", "displayName": "Ant Include", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Ant style filter inclusion. Multiple inclusions may be specified in comma-delimited format." },
-    "eagerMaxMessagesPerPoll": { "index": 67, "kind": "parameter", "displayName": "Eager Max Messages Per Poll", "group": "filter", "label": "consumer,filter", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Allows for controlling whether the limit from maxMessagesPerPoll is eager or not. If eager then the limit is during the scanning of files. Where as false would scan all files, [...]
-    "exclude": { "index": 68, "kind": "parameter", "displayName": "Exclude", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Is used to exclude files, if filename matches the regex pattern (matching is case in-sensitive). Notice if you use symbols such as plus sign and others you would need to configure this using the RAW() syntax if configuring th [...]
-    "excludeExt": { "index": 69, "kind": "parameter", "displayName": "Exclude Ext", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Is used to exclude files matching file extension name (case insensitive). For example to exclude bak files, then use excludeExt=bak. Multiple extensions can be separated by comma, for example to exclude bak and dat fil [...]
-    "filter": { "index": 70, "kind": "parameter", "displayName": "Filter", "group": "filter", "label": "consumer,filter", "required": false, "type": "object", "javaType": "org.apache.camel.component.file.GenericFileFilter<org.apache.commons.net.ftp.FTPFile>", "deprecated": false, "autowired": false, "secret": false, "description": "Pluggable filter as a org.apache.camel.component.file.GenericFileFilter class. Will skip files if filter returns false in its accept() method." },
-    "filterDirectory": { "index": 71, "kind": "parameter", "displayName": "Filter Directory", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Filters the directory based on Simple language. For example to filter on current date, you can use a simple date pattern such as ${date:now:yyyMMdd}" },
-    "filterFile": { "index": 72, "kind": "parameter", "displayName": "Filter File", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Filters the file based on Simple language. For example to filter on file size, you can use ${file:size} 5000" },
-    "idempotent": { "index": 73, "kind": "parameter", "displayName": "Idempotent", "group": "filter", "label": "consumer,filter", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "false", "description": "Option to use the Idempotent Consumer EIP pattern to let Camel skip already processed files. Will by default use a memory based LRUCache that holds 1000 entries. If noop=true then idempotent w [...]
-    "idempotentKey": { "index": 74, "kind": "parameter", "displayName": "Idempotent Key", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "To use a custom idempotent key. By default the absolute path of the file is used. You can use the File Language, for example to use the file name and file size, you can do: idempotentKey=${file:name}-${file:size}" },
-    "idempotentRepository": { "index": 75, "kind": "parameter", "displayName": "Idempotent Repository", "group": "filter", "label": "consumer,filter", "required": false, "type": "object", "javaType": "org.apache.camel.spi.IdempotentRepository", "deprecated": false, "autowired": false, "secret": false, "description": "A pluggable repository org.apache.camel.spi.IdempotentRepository which by default use MemoryIdempotentRepository if none is specified and idempotent is true." },
-    "include": { "index": 76, "kind": "parameter", "displayName": "Include", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Is used to include files, if filename matches the regex pattern (matching is case in-sensitive). Notice if you use symbols such as plus sign and others you would need to configure this using the RAW() syntax if configuring th [...]
-    "includeExt": { "index": 77, "kind": "parameter", "displayName": "Include Ext", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Is used to include files matching file extension name (case insensitive). For example to include txt files, then use includeExt=txt. Multiple extensions can be separated by comma, for example to include txt and xml fil [...]
-    "maxDepth": { "index": 78, "kind": "parameter", "displayName": "Max Depth", "group": "filter", "label": "consumer,filter", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 2147483647, "description": "The maximum depth to traverse when recursively processing a directory." },
-    "maxMessagesPerPoll": { "index": 79, "kind": "parameter", "displayName": "Max Messages Per Poll", "group": "filter", "label": "consumer,filter", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "description": "To define a maximum messages to gather per poll. By default no maximum is set. Can be used to set a limit of e.g. 1000 to avoid when starting up the server that there are thousands of files. Set a value of 0 or n [...]
-    "minDepth": { "index": 80, "kind": "parameter", "displayName": "Min Depth", "group": "filter", "label": "consumer,filter", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "description": "The minimum depth to start processing when recursively processing a directory. Using minDepth=1 means the base directory. Using minDepth=2 means the first sub directory." },
-    "move": { "index": 81, "kind": "parameter", "displayName": "Move", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Expression (such as Simple Language) used to dynamically set the filename when moving it after processing. To move files into a .done subdirectory just enter .done." },
-    "exclusiveReadLockStrategy": { "index": 82, "kind": "parameter", "displayName": "Exclusive Read Lock Strategy", "group": "lock", "label": "consumer,lock", "required": false, "type": "object", "javaType": "org.apache.camel.component.file.GenericFileExclusiveReadLockStrategy<org.apache.commons.net.ftp.FTPFile>", "deprecated": false, "autowired": false, "secret": false, "description": "Pluggable read-lock as a org.apache.camel.component.file.GenericFileExclusiveReadLockStrategy implemen [...]
-    "readLock": { "index": 83, "kind": "parameter", "displayName": "Read Lock", "group": "lock", "label": "consumer,lock", "required": false, "type": "string", "javaType": "java.lang.String", "enum": [ "none", "markerFile", "fileLock", "rename", "changed", "idempotent", "idempotent-changed", "idempotent-rename" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "none", "description": "Used by consumer, to only poll the files if it has exclusive read-lock on the  [...]
-    "readLockCheckInterval": { "index": 84, "kind": "parameter", "displayName": "Read Lock Check Interval", "group": "lock", "label": "consumer,lock", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 1000, "description": "Interval in millis for the read-lock, if supported by the read lock. This interval is used for sleeping between attempts to acquire the read lock. For example when using the changed read  [...]
-    "readLockDeleteOrphanLockFiles": { "index": 85, "kind": "parameter", "displayName": "Read Lock Delete Orphan Lock Files", "group": "lock", "label": "consumer,lock", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether or not read lock with marker files should upon startup delete any orphan read lock files, which may have been left on the file system, if Camel was not proper [...]
-    "readLockLoggingLevel": { "index": 86, "kind": "parameter", "displayName": "Read Lock Logging Level", "group": "lock", "label": "consumer,lock", "required": false, "type": "object", "javaType": "org.apache.camel.LoggingLevel", "enum": [ "TRACE", "DEBUG", "INFO", "WARN", "ERROR", "OFF" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "DEBUG", "description": "Logging level used when a read lock could not be acquired. By default a DEBUG is logged. You can cha [...]
-    "readLockMarkerFile": { "index": 87, "kind": "parameter", "displayName": "Read Lock Marker File", "group": "lock", "label": "consumer,lock", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether to use marker file with the changed, rename, or exclusive read lock types. By default a marker file is used as well to guard against other processes picking up the same files. This b [...]
-    "readLockMinAge": { "index": 88, "kind": "parameter", "displayName": "Read Lock Min Age", "group": "lock", "label": "consumer,lock", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 0, "description": "This option is applied only for readLock=changed. It allows to specify a minimum age the file must be before attempting to acquire the read lock. For example use readLockMinAge=300s to require the file is [...]
-    "readLockMinLength": { "index": 89, "kind": "parameter", "displayName": "Read Lock Min Length", "group": "lock", "label": "consumer,lock", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 1, "description": "This option is applied only for readLock=changed. It allows you to configure a minimum file length. By default Camel expects the file to contain data, and thus the default value is 1. You can set th [...]
-    "readLockRemoveOnCommit": { "index": 90, "kind": "parameter", "displayName": "Read Lock Remove On Commit", "group": "lock", "label": "consumer,lock", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "This option is applied only for readLock=idempotent. It allows to specify whether to remove the file name entry from the idempotent repository when processing the file is succeeded [...]
-    "readLockRemoveOnRollback": { "index": 91, "kind": "parameter", "displayName": "Read Lock Remove On Rollback", "group": "lock", "label": "consumer,lock", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "This option is applied only for readLock=idempotent. It allows to specify whether to remove the file name entry from the idempotent repository when processing the file failed an [...]
-    "readLockTimeout": { "index": 92, "kind": "parameter", "displayName": "Read Lock Timeout", "group": "lock", "label": "consumer,lock", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 10000, "description": "Optional timeout in millis for the read-lock, if supported by the read-lock. If the read-lock could not be granted and the timeout triggered, then Camel will skip the file. At next poll Camel, will t [...]
-    "backoffErrorThreshold": { "index": 93, "kind": "parameter", "displayName": "Backoff Error Threshold", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "description": "The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in." },
-    "backoffIdleThreshold": { "index": 94, "kind": "parameter", "displayName": "Backoff Idle Threshold", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "description": "The number of subsequent idle polls that should happen before the backoffMultipler should kick-in." },
-    "backoffMultiplier": { "index": 95, "kind": "parameter", "displayName": "Backoff Multiplier", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "description": "To let the scheduled polling consumer backoff if there has been a number of subsequent idles\/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is h [...]
-    "delay": { "index": 96, "kind": "parameter", "displayName": "Delay", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 500, "description": "Milliseconds before the next poll." },
-    "greedy": { "index": 97, "kind": "parameter", "displayName": "Greedy", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages." },
-    "initialDelay": { "index": 98, "kind": "parameter", "displayName": "Initial Delay", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 1000, "description": "Milliseconds before the first poll starts." },
-    "repeatCount": { "index": 99, "kind": "parameter", "displayName": "Repeat Count", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 0, "description": "Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only fire once. If you set it to 5, it will only fire five times. A value of zero or negative means fire forever." },
-    "runLoggingLevel": { "index": 100, "kind": "parameter", "displayName": "Run Logging Level", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "object", "javaType": "org.apache.camel.LoggingLevel", "enum": [ "TRACE", "DEBUG", "INFO", "WARN", "ERROR", "OFF" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "TRACE", "description": "The consumer logs a start\/complete log line when it polls. This option allows you to configure the  [...]
-    "scheduledExecutorService": { "index": 101, "kind": "parameter", "displayName": "Scheduled Executor Service", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "object", "javaType": "java.util.concurrent.ScheduledExecutorService", "deprecated": false, "autowired": false, "secret": false, "description": "Allows for configuring a custom\/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool." },
-    "scheduler": { "index": 102, "kind": "parameter", "displayName": "Scheduler", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "object", "javaType": "java.lang.Object", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "none", "description": "To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler" },
-    "schedulerProperties": { "index": 103, "kind": "parameter", "displayName": "Scheduler Properties", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "object", "javaType": "java.util.Map<java.lang.String, java.lang.Object>", "prefix": "scheduler.", "multiValue": true, "deprecated": false, "autowired": false, "secret": false, "description": "To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler." },
-    "startScheduler": { "index": 104, "kind": "parameter", "displayName": "Start Scheduler", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether the scheduler should be auto started." },
-    "timeUnit": { "index": 105, "kind": "parameter", "displayName": "Time Unit", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "object", "javaType": "java.util.concurrent.TimeUnit", "enum": [ "NANOSECONDS", "MICROSECONDS", "MILLISECONDS", "SECONDS", "MINUTES", "HOURS", "DAYS" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "MILLISECONDS", "description": "Time unit for initialDelay and delay options." },
-    "useFixedDelay": { "index": 106, "kind": "parameter", "displayName": "Use Fixed Delay", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details." },
-    "account": { "index": 107, "kind": "parameter", "displayName": "Account", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.file.remote.FtpsConfiguration", "configurationField": "configuration", "description": "Account to use for login" },
-    "disableSecureDataChannelDefaults": { "index": 108, "kind": "parameter", "displayName": "Disable Secure Data Channel Defaults", "group": "security", "label": "security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.file.remote.FtpsConfiguration", "configurationField": "configuration", "description": "Use this option to disable default opti [...]
-    "execPbsz": { "index": 109, "kind": "parameter", "displayName": "Exec Pbsz", "group": "security", "label": "security", "required": false, "type": "integer", "javaType": "java.lang.Long", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.file.remote.FtpsConfiguration", "configurationField": "configuration", "description": "When using secure data channel you can set the exec protection buffer size" },
-    "execProt": { "index": 110, "kind": "parameter", "displayName": "Exec Prot", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.file.remote.FtpsConfiguration", "configurationField": "configuration", "description": "The exec protection level PROT command. C - Clear S - Safe(SSL protocol only) E - Confidential(SSL protoc [...]
-    "ftpClientKeyStoreParameters": { "index": 111, "kind": "parameter", "displayName": "Ftp Client Key Store Parameters", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "java.util.Map<java.lang.String, java.lang.Object>", "prefix": "ftpClient.keyStore.", "multiValue": true, "deprecated": false, "autowired": false, "secret": false, "description": "Set the key store parameters" },
-    "ftpClientTrustStoreParameters": { "index": 112, "kind": "parameter", "displayName": "Ftp Client Trust Store Parameters", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "java.util.Map<java.lang.String, java.lang.Object>", "prefix": "ftpClient.trustStore.", "multiValue": true, "deprecated": false, "autowired": false, "secret": false, "description": "Set the trust store parameters" },
-    "implicit": { "index": 113, "kind": "parameter", "displayName": "Implicit", "group": "security", "label": "security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.file.remote.FtpsConfiguration", "configurationField": "configuration", "description": "Set the security mode (Implicit\/Explicit). true - Implicit Mode \/ False - Explicit Mode" },
-    "password": { "index": 114, "kind": "parameter", "displayName": "Password", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.file.remote.FtpsConfiguration", "configurationField": "configuration", "description": "Password to use for login" },
-    "securityProtocol": { "index": 115, "kind": "parameter", "displayName": "Security Protocol", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "TLSv1.3", "configurationClass": "org.apache.camel.component.file.remote.FtpsConfiguration", "configurationField": "configuration", "description": "Set the underlying security protocol." },
-    "sslContextParameters": { "index": 116, "kind": "parameter", "displayName": "Ssl Context Parameters", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.apache.camel.support.jsse.SSLContextParameters", "deprecated": false, "autowired": false, "secret": false, "description": "Gets the JSSE configuration that overrides any settings in FtpsEndpoint#ftpClientKeyStoreParameters, ftpClientTrustStoreParameters, and FtpsConfiguration#getSecurityPr [...]
-    "username": { "index": 117, "kind": "parameter", "displayName": "Username", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.file.remote.FtpsConfiguration", "configurationField": "configuration", "description": "Username to use for login" },
-    "shuffle": { "index": 118, "kind": "parameter", "displayName": "Shuffle", "group": "sort", "label": "consumer,sort", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "To shuffle the list of files (sort in random order)" },
-    "sortBy": { "index": 119, "kind": "parameter", "displayName": "Sort By", "group": "sort", "label": "consumer,sort", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Built-in sort by using the File Language. Supports nested sorts, so you can have a sort by file name and as a 2nd group sort by modified date." },
-    "sorter": { "index": 120, "kind": "parameter", "displayName": "Sorter", "group": "sort", "label": "consumer,sort", "required": false, "type": "object", "javaType": "java.util.Comparator<org.apache.camel.component.file.GenericFile<org.apache.commons.net.ftp.FTPFile>>", "deprecated": false, "autowired": false, "secret": false, "description": "Pluggable sorter as a java.util.Comparator class." }
+    "checksumFileAlgorithm": { "index": 35, "kind": "parameter", "displayName": "Checksum File Algorithm", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "If provided, then Camel will write a checksum file when the original file has been written. The checksum file will contain the checksum created with the provided algorithm for the original file. The c [...]
+    "fileExist": { "index": 36, "kind": "parameter", "displayName": "File Exist", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "org.apache.camel.component.file.GenericFileExist", "enum": [ "Override", "Append", "Fail", "Ignore", "Move", "TryRename" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "Override", "description": "What to do if a file already exists with the same name. Override, which is the default, repl [...]
+    "flatten": { "index": 37, "kind": "parameter", "displayName": "Flatten", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Flatten is used to flatten the file name path to strip any leading paths, so it's just the file name. This allows you to consume recursively into sub-directories, but when you eg write the files to another directory [...]
+    "jailStartingDirectory": { "index": 38, "kind": "parameter", "displayName": "Jail Starting Directory", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Used for jailing (restricting) writing files to the starting directory (and sub) only. This is enabled by default to not allow Camel to write files to outside directories (to be more sec [...]
+    "moveExisting": { "index": 39, "kind": "parameter", "displayName": "Move Existing", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Expression (such as File Language) used to compute file name to use when fileExist=Move is configured. To move files into a backup subdirectory just enter backup. This option only supports the following File Language to [...]
+    "tempFileName": { "index": 40, "kind": "parameter", "displayName": "Temp File Name", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "The same as tempPrefix option but offering a more fine grained control on the naming of the temporary filename as it uses the File Language. The location for tempFilename is relative to the final file location in the o [...]
+    "tempPrefix": { "index": 41, "kind": "parameter", "displayName": "Temp Prefix", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "This option is used to write the file using a temporary name and then, after the write is complete, rename it to the real name. Can be used to identify files being written and also avoid consumers (not using exclusive read  [...]
+    "allowNullBody": { "index": 42, "kind": "parameter", "displayName": "Allow Null Body", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Used to specify if a null body is allowed during file writing. If set to true then an empty file will be created, when set to false, and attempting to send a null body to the file c [...]
+    "chmod": { "index": 43, "kind": "parameter", "displayName": "Chmod", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.file.remote.FtpsConfiguration", "configurationField": "configuration", "description": "Allows you to set chmod on the stored file. For example chmod=640." },
+    "disconnectOnBatchComplete": { "index": 44, "kind": "parameter", "displayName": "Disconnect On Batch Complete", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether or not to disconnect from remote FTP server right after a Batch upload is complete. disconnectOnBatchComplete will only disconnect the current conne [...]
+    "eagerDeleteTargetFile": { "index": 45, "kind": "parameter", "displayName": "Eager Delete Target File", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether or not to eagerly delete any existing target file. This option only applies when you use fileExists=Override and the tempFileName option as well. You can use [...]
+    "keepLastModified": { "index": 46, "kind": "parameter", "displayName": "Keep Last Modified", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Will keep the last modified timestamp from the source file (if any). Will use the FileConstants.FILE_LAST_MODIFIED header to located the timestamp. This header can contain eit [...]
+    "lazyStartProducer": { "index": 47, "kind": "parameter", "displayName": "Lazy Start Producer", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a produ [...]
+    "moveExistingFileStrategy": { "index": 48, "kind": "parameter", "displayName": "Move Existing File Strategy", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "object", "javaType": "org.apache.camel.component.file.strategy.FileMoveExistingStrategy", "deprecated": false, "autowired": false, "secret": false, "description": "Strategy (Custom Strategy) used to move file with special naming token to use when fileExist=Move is configured. By default, [...]
+    "sendNoop": { "index": 49, "kind": "parameter", "displayName": "Send Noop", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.file.remote.FtpsConfiguration", "configurationField": "configuration", "description": "Whether to send a noop command as a pre-write check before uploading fil [...]
+    "activePortRange": { "index": 50, "kind": "parameter", "displayName": "Active Port Range", "group": "advanced", "label": "advanced", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.file.remote.FtpsConfiguration", "configurationField": "configuration", "description": "Set the client side port range in active mode. The syntax is: minPort-maxPort Both port num [...]
+    "autoCreate": { "index": 51, "kind": "parameter", "displayName": "Auto Create", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Automatically create missing directories in the file's pathname. For the file consumer, that means creating the starting directory. For the file producer, it means the directory the files should be written to." },
+    "bufferSize": { "index": 52, "kind": "parameter", "displayName": "Buffer Size", "group": "advanced", "label": "advanced", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 131072, "description": "Buffer size in bytes used for writing files (or in case of FTP for downloading and uploading files)." },
+    "connectTimeout": { "index": 53, "kind": "parameter", "displayName": "Connect Timeout", "group": "advanced", "label": "advanced", "required": false, "type": "duration", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "10000", "configurationClass": "org.apache.camel.component.file.remote.FtpsConfiguration", "configurationField": "configuration", "description": "Sets the connect timeout for waiting for a connection to be established Used by  [...]
+    "ftpClient": { "index": 54, "kind": "parameter", "displayName": "Ftp Client", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "org.apache.commons.net.ftp.FTPClient", "deprecated": false, "autowired": false, "secret": false, "description": "To use a custom instance of FTPClient" },
+    "ftpClientConfig": { "index": 55, "kind": "parameter", "displayName": "Ftp Client Config", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "org.apache.commons.net.ftp.FTPClientConfig", "deprecated": false, "autowired": false, "secret": false, "description": "To use a custom instance of FTPClientConfig to configure the FTP client the endpoint should use." },
+    "ftpClientConfigParameters": { "index": 56, "kind": "parameter", "displayName": "Ftp Client Config Parameters", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "java.util.Map<java.lang.String, java.lang.Object>", "prefix": "ftpClientConfig.", "multiValue": true, "deprecated": false, "autowired": false, "secret": false, "description": "Used by FtpComponent to provide additional parameters for the FTPClientConfig" },
+    "ftpClientParameters": { "index": 57, "kind": "parameter", "displayName": "Ftp Client Parameters", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "java.util.Map<java.lang.String, java.lang.Object>", "prefix": "ftpClient.", "multiValue": true, "deprecated": false, "autowired": false, "secret": false, "description": "Used by FtpComponent to provide additional parameters for the FTPClient" },
+    "maximumReconnectAttempts": { "index": 58, "kind": "parameter", "displayName": "Maximum Reconnect Attempts", "group": "advanced", "label": "advanced", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "description": "Specifies the maximum reconnect attempts Camel performs when it tries to connect to the remote FTP server. Use 0 to disable this behavior." },
+    "reconnectDelay": { "index": 59, "kind": "parameter", "displayName": "Reconnect Delay", "group": "advanced", "label": "advanced", "required": false, "type": "duration", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "1000", "description": "Delay in millis Camel will wait before performing a reconnect attempt." },
+    "siteCommand": { "index": 60, "kind": "parameter", "displayName": "Site Command", "group": "advanced", "label": "advanced", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.file.remote.FtpsConfiguration", "configurationField": "configuration", "description": "Sets optional site command(s) to be executed after successful login. Multiple site commands can be s [...]
+    "soTimeout": { "index": 61, "kind": "parameter", "displayName": "So Timeout", "group": "advanced", "label": "advanced", "required": false, "type": "duration", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "300000", "configurationClass": "org.apache.camel.component.file.remote.FtpsConfiguration", "configurationField": "configuration", "description": "Sets the so timeout FTP and FTPS Is the SocketOptions.SO_TIMEOUT value in millis. Recomme [...]
+    "stepwise": { "index": 62, "kind": "parameter", "displayName": "Stepwise", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.file.remote.FtpsConfiguration", "configurationField": "configuration", "description": "Sets whether we should stepwise change directories while traversing file structures when down [...]
+    "throwExceptionOnConnectFailed": { "index": 63, "kind": "parameter", "displayName": "Throw Exception On Connect Failed", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.file.remote.FtpsConfiguration", "configurationField": "configuration", "description": "Should an exception be thrown if connection fa [...]
+    "timeout": { "index": 64, "kind": "parameter", "displayName": "Timeout", "group": "advanced", "label": "advanced", "required": false, "type": "duration", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "30000", "configurationClass": "org.apache.camel.component.file.remote.FtpsConfiguration", "configurationField": "configuration", "description": "Sets the data timeout for waiting for reply Used only by FTPClient" },
+    "antExclude": { "index": 65, "kind": "parameter", "displayName": "Ant Exclude", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Ant style filter exclusion. If both antInclude and antExclude are used, antExclude takes precedence over antInclude. Multiple exclusions may be specified in comma-delimited format." },
+    "antFilterCaseSensitive": { "index": 66, "kind": "parameter", "displayName": "Ant Filter Case Sensitive", "group": "filter", "label": "consumer,filter", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Sets case sensitive flag on ant filter." },
+    "antInclude": { "index": 67, "kind": "parameter", "displayName": "Ant Include", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Ant style filter inclusion. Multiple inclusions may be specified in comma-delimited format." },
+    "eagerMaxMessagesPerPoll": { "index": 68, "kind": "parameter", "displayName": "Eager Max Messages Per Poll", "group": "filter", "label": "consumer,filter", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Allows for controlling whether the limit from maxMessagesPerPoll is eager or not. If eager then the limit is during the scanning of files. Where as false would scan all files, [...]
+    "exclude": { "index": 69, "kind": "parameter", "displayName": "Exclude", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Is used to exclude files, if filename matches the regex pattern (matching is case in-sensitive). Notice if you use symbols such as plus sign and others you would need to configure this using the RAW() syntax if configuring th [...]
+    "excludeExt": { "index": 70, "kind": "parameter", "displayName": "Exclude Ext", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Is used to exclude files matching file extension name (case insensitive). For example to exclude bak files, then use excludeExt=bak. Multiple extensions can be separated by comma, for example to exclude bak and dat fil [...]
+    "filter": { "index": 71, "kind": "parameter", "displayName": "Filter", "group": "filter", "label": "consumer,filter", "required": false, "type": "object", "javaType": "org.apache.camel.component.file.GenericFileFilter<org.apache.commons.net.ftp.FTPFile>", "deprecated": false, "autowired": false, "secret": false, "description": "Pluggable filter as a org.apache.camel.component.file.GenericFileFilter class. Will skip files if filter returns false in its accept() method." },
+    "filterDirectory": { "index": 72, "kind": "parameter", "displayName": "Filter Directory", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Filters the directory based on Simple language. For example to filter on current date, you can use a simple date pattern such as ${date:now:yyyMMdd}" },
+    "filterFile": { "index": 73, "kind": "parameter", "displayName": "Filter File", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Filters the file based on Simple language. For example to filter on file size, you can use ${file:size} 5000" },
+    "idempotent": { "index": 74, "kind": "parameter", "displayName": "Idempotent", "group": "filter", "label": "consumer,filter", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "false", "description": "Option to use the Idempotent Consumer EIP pattern to let Camel skip already processed files. Will by default use a memory based LRUCache that holds 1000 entries. If noop=true then idempotent w [...]
+    "idempotentKey": { "index": 75, "kind": "parameter", "displayName": "Idempotent Key", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "To use a custom idempotent key. By default the absolute path of the file is used. You can use the File Language, for example to use the file name and file size, you can do: idempotentKey=${file:name}-${file:size}" },
+    "idempotentRepository": { "index": 76, "kind": "parameter", "displayName": "Idempotent Repository", "group": "filter", "label": "consumer,filter", "required": false, "type": "object", "javaType": "org.apache.camel.spi.IdempotentRepository", "deprecated": false, "autowired": false, "secret": false, "description": "A pluggable repository org.apache.camel.spi.IdempotentRepository which by default use MemoryIdempotentRepository if none is specified and idempotent is true." },
+    "include": { "index": 77, "kind": "parameter", "displayName": "Include", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Is used to include files, if filename matches the regex pattern (matching is case in-sensitive). Notice if you use symbols such as plus sign and others you would need to configure this using the RAW() syntax if configuring th [...]
+    "includeExt": { "index": 78, "kind": "parameter", "displayName": "Include Ext", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Is used to include files matching file extension name (case insensitive). For example to include txt files, then use includeExt=txt. Multiple extensions can be separated by comma, for example to include txt and xml fil [...]
+    "maxDepth": { "index": 79, "kind": "parameter", "displayName": "Max Depth", "group": "filter", "label": "consumer,filter", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 2147483647, "description": "The maximum depth to traverse when recursively processing a directory." },
+    "maxMessagesPerPoll": { "index": 80, "kind": "parameter", "displayName": "Max Messages Per Poll", "group": "filter", "label": "consumer,filter", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "description": "To define a maximum messages to gather per poll. By default no maximum is set. Can be used to set a limit of e.g. 1000 to avoid when starting up the server that there are thousands of files. Set a value of 0 or n [...]
+    "minDepth": { "index": 81, "kind": "parameter", "displayName": "Min Depth", "group": "filter", "label": "consumer,filter", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "description": "The minimum depth to start processing when recursively processing a directory. Using minDepth=1 means the base directory. Using minDepth=2 means the first sub directory." },
+    "move": { "index": 82, "kind": "parameter", "displayName": "Move", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Expression (such as Simple Language) used to dynamically set the filename when moving it after processing. To move files into a .done subdirectory just enter .done." },
+    "exclusiveReadLockStrategy": { "index": 83, "kind": "parameter", "displayName": "Exclusive Read Lock Strategy", "group": "lock", "label": "consumer,lock", "required": false, "type": "object", "javaType": "org.apache.camel.component.file.GenericFileExclusiveReadLockStrategy<org.apache.commons.net.ftp.FTPFile>", "deprecated": false, "autowired": false, "secret": false, "description": "Pluggable read-lock as a org.apache.camel.component.file.GenericFileExclusiveReadLockStrategy implemen [...]
+    "readLock": { "index": 84, "kind": "parameter", "displayName": "Read Lock", "group": "lock", "label": "consumer,lock", "required": false, "type": "string", "javaType": "java.lang.String", "enum": [ "none", "markerFile", "fileLock", "rename", "changed", "idempotent", "idempotent-changed", "idempotent-rename" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "none", "description": "Used by consumer, to only poll the files if it has exclusive read-lock on the  [...]
+    "readLockCheckInterval": { "index": 85, "kind": "parameter", "displayName": "Read Lock Check Interval", "group": "lock", "label": "consumer,lock", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 1000, "description": "Interval in millis for the read-lock, if supported by the read lock. This interval is used for sleeping between attempts to acquire the read lock. For example when using the changed read  [...]
+    "readLockDeleteOrphanLockFiles": { "index": 86, "kind": "parameter", "displayName": "Read Lock Delete Orphan Lock Files", "group": "lock", "label": "consumer,lock", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether or not read lock with marker files should upon startup delete any orphan read lock files, which may have been left on the file system, if Camel was not proper [...]
+    "readLockLoggingLevel": { "index": 87, "kind": "parameter", "displayName": "Read Lock Logging Level", "group": "lock", "label": "consumer,lock", "required": false, "type": "object", "javaType": "org.apache.camel.LoggingLevel", "enum": [ "TRACE", "DEBUG", "INFO", "WARN", "ERROR", "OFF" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "DEBUG", "description": "Logging level used when a read lock could not be acquired. By default a DEBUG is logged. You can cha [...]
+    "readLockMarkerFile": { "index": 88, "kind": "parameter", "displayName": "Read Lock Marker File", "group": "lock", "label": "consumer,lock", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether to use marker file with the changed, rename, or exclusive read lock types. By default a marker file is used as well to guard against other processes picking up the same files. This b [...]
+    "readLockMinAge": { "index": 89, "kind": "parameter", "displayName": "Read Lock Min Age", "group": "lock", "label": "consumer,lock", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 0, "description": "This option is applied only for readLock=changed. It allows to specify a minimum age the file must be before attempting to acquire the read lock. For example use readLockMinAge=300s to require the file is [...]
+    "readLockMinLength": { "index": 90, "kind": "parameter", "displayName": "Read Lock Min Length", "group": "lock", "label": "consumer,lock", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 1, "description": "This option is applied only for readLock=changed. It allows you to configure a minimum file length. By default Camel expects the file to contain data, and thus the default value is 1. You can set th [...]
+    "readLockRemoveOnCommit": { "index": 91, "kind": "parameter", "displayName": "Read Lock Remove On Commit", "group": "lock", "label": "consumer,lock", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "This option is applied only for readLock=idempotent. It allows to specify whether to remove the file name entry from the idempotent repository when processing the file is succeeded [...]
+    "readLockRemoveOnRollback": { "index": 92, "kind": "parameter", "displayName": "Read Lock Remove On Rollback", "group": "lock", "label": "consumer,lock", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "This option is applied only for readLock=idempotent. It allows to specify whether to remove the file name entry from the idempotent repository when processing the file failed an [...]
+    "readLockTimeout": { "index": 93, "kind": "parameter", "displayName": "Read Lock Timeout", "group": "lock", "label": "consumer,lock", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 10000, "description": "Optional timeout in millis for the read-lock, if supported by the read-lock. If the read-lock could not be granted and the timeout triggered, then Camel will skip the file. At next poll Camel, will t [...]
+    "backoffErrorThreshold": { "index": 94, "kind": "parameter", "displayName": "Backoff Error Threshold", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "description": "The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in." },
+    "backoffIdleThreshold": { "index": 95, "kind": "parameter", "displayName": "Backoff Idle Threshold", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "description": "The number of subsequent idle polls that should happen before the backoffMultipler should kick-in." },
+    "backoffMultiplier": { "index": 96, "kind": "parameter", "displayName": "Backoff Multiplier", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "description": "To let the scheduled polling consumer backoff if there has been a number of subsequent idles\/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is h [...]
+    "delay": { "index": 97, "kind": "parameter", "displayName": "Delay", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 500, "description": "Milliseconds before the next poll." },
+    "greedy": { "index": 98, "kind": "parameter", "displayName": "Greedy", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages." },
+    "initialDelay": { "index": 99, "kind": "parameter", "displayName": "Initial Delay", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 1000, "description": "Milliseconds before the first poll starts." },
+    "repeatCount": { "index": 100, "kind": "parameter", "displayName": "Repeat Count", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 0, "description": "Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only fire once. If you set it to 5, it will only fire five times. A value of zero or negative means fire forever." },
+    "runLoggingLevel": { "index": 101, "kind": "parameter", "displayName": "Run Logging Level", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "object", "javaType": "org.apache.camel.LoggingLevel", "enum": [ "TRACE", "DEBUG", "INFO", "WARN", "ERROR", "OFF" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "TRACE", "description": "The consumer logs a start\/complete log line when it polls. This option allows you to configure the  [...]
+    "scheduledExecutorService": { "index": 102, "kind": "parameter", "displayName": "Scheduled Executor Service", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "object", "javaType": "java.util.concurrent.ScheduledExecutorService", "deprecated": false, "autowired": false, "secret": false, "description": "Allows for configuring a custom\/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool." },
+    "scheduler": { "index": 103, "kind": "parameter", "displayName": "Scheduler", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "object", "javaType": "java.lang.Object", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "none", "description": "To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler" },
+    "schedulerProperties": { "index": 104, "kind": "parameter", "displayName": "Scheduler Properties", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "object", "javaType": "java.util.Map<java.lang.String, java.lang.Object>", "prefix": "scheduler.", "multiValue": true, "deprecated": false, "autowired": false, "secret": false, "description": "To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler." },
+    "startScheduler": { "index": 105, "kind": "parameter", "displayName": "Start Scheduler", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether the scheduler should be auto started." },
+    "timeUnit": { "index": 106, "kind": "parameter", "displayName": "Time Unit", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "object", "javaType": "java.util.concurrent.TimeUnit", "enum": [ "NANOSECONDS", "MICROSECONDS", "MILLISECONDS", "SECONDS", "MINUTES", "HOURS", "DAYS" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "MILLISECONDS", "description": "Time unit for initialDelay and delay options." },
+    "useFixedDelay": { "index": 107, "kind": "parameter", "displayName": "Use Fixed Delay", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details." },
+    "account": { "index": 108, "kind": "parameter", "displayName": "Account", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.file.remote.FtpsConfiguration", "configurationField": "configuration", "description": "Account to use for login" },
+    "disableSecureDataChannelDefaults": { "index": 109, "kind": "parameter", "displayName": "Disable Secure Data Channel Defaults", "group": "security", "label": "security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.file.remote.FtpsConfiguration", "configurationField": "configuration", "description": "Use this option to disable default opti [...]
+    "execPbsz": { "index": 110, "kind": "parameter", "displayName": "Exec Pbsz", "group": "security", "label": "security", "required": false, "type": "integer", "javaType": "java.lang.Long", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.file.remote.FtpsConfiguration", "configurationField": "configuration", "description": "When using secure data channel you can set the exec protection buffer size" },
+    "execProt": { "index": 111, "kind": "parameter", "displayName": "Exec Prot", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.file.remote.FtpsConfiguration", "configurationField": "configuration", "description": "The exec protection level PROT command. C - Clear S - Safe(SSL protocol only) E - Confidential(SSL protoc [...]
+    "ftpClientKeyStoreParameters": { "index": 112, "kind": "parameter", "displayName": "Ftp Client Key Store Parameters", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "java.util.Map<java.lang.String, java.lang.Object>", "prefix": "ftpClient.keyStore.", "multiValue": true, "deprecated": false, "autowired": false, "secret": false, "description": "Set the key store parameters" },
+    "ftpClientTrustStoreParameters": { "index": 113, "kind": "parameter", "displayName": "Ftp Client Trust Store Parameters", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "java.util.Map<java.lang.String, java.lang.Object>", "prefix": "ftpClient.trustStore.", "multiValue": true, "deprecated": false, "autowired": false, "secret": false, "description": "Set the trust store parameters" },
+    "implicit": { "index": 114, "kind": "parameter", "displayName": "Implicit", "group": "security", "label": "security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.file.remote.FtpsConfiguration", "configurationField": "configuration", "description": "Set the security mode (Implicit\/Explicit). true - Implicit Mode \/ False - Explicit Mode" },
+    "password": { "index": 115, "kind": "parameter", "displayName": "Password", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.file.remote.FtpsConfiguration", "configurationField": "configuration", "description": "Password to use for login" },
+    "securityProtocol": { "index": 116, "kind": "parameter", "displayName": "Security Protocol", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "TLSv1.3", "configurationClass": "org.apache.camel.component.file.remote.FtpsConfiguration", "configurationField": "configuration", "description": "Set the underlying security protocol." },
+    "sslContextParameters": { "index": 117, "kind": "parameter", "displayName": "Ssl Context Parameters", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.apache.camel.support.jsse.SSLContextParameters", "deprecated": false, "autowired": false, "secret": false, "description": "Gets the JSSE configuration that overrides any settings in FtpsEndpoint#ftpClientKeyStoreParameters, ftpClientTrustStoreParameters, and FtpsConfiguration#getSecurityPr [...]
+    "username": { "index": 118, "kind": "parameter", "displayName": "Username", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.file.remote.FtpsConfiguration", "configurationField": "configuration", "description": "Username to use for login" },
+    "shuffle": { "index": 119, "kind": "parameter", "displayName": "Shuffle", "group": "sort", "label": "consumer,sort", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "To shuffle the list of files (sort in random order)" },
+    "sortBy": { "index": 120, "kind": "parameter", "displayName": "Sort By", "group": "sort", "label": "consumer,sort", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Built-in sort by using the File Language. Supports nested sorts, so you can have a sort by file name and as a 2nd group sort by modified date." },
+    "sorter": { "index": 121, "kind": "parameter", "displayName": "Sorter", "group": "sort", "label": "consumer,sort", "required": false, "type": "object", "javaType": "java.util.Comparator<org.apache.camel.component.file.GenericFile<org.apache.commons.net.ftp.FTPFile>>", "deprecated": false, "autowired": false, "secret": false, "description": "Pluggable sorter as a java.util.Comparator class." }
   }
 }
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/scp.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/scp.json
index 940bc87ff3b..4742d76ff6c 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/scp.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/scp.json
@@ -34,25 +34,26 @@
     "directoryName": { "index": 2, "kind": "path", "displayName": "Directory Name", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.scp.ScpConfiguration", "configurationField": "configuration", "description": "The starting directory" },
     "chmod": { "index": 3, "kind": "parameter", "displayName": "Chmod", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "664", "configurationClass": "org.apache.camel.component.scp.ScpConfiguration", "configurationField": "configuration", "description": "Allows you to set chmod on the stored file. For example chmod=664." },
     "disconnect": { "index": 4, "kind": "parameter", "displayName": "Disconnect", "group": "common", "label": "common", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether or not to disconnect from remote FTP server right after use. Disconnect will only disconnect the current connection to the FTP server. If you have a consumer which you want to stop, then you need to stop th [...]
-    "fileName": { "index": 5, "kind": "parameter", "displayName": "File Name", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Use Expression such as File Language to dynamically set the filename. For consumers, it's used as a filename filter. For producers, it's used to evaluate the filename to write. If an expression is set, it take precedence over the CamelF [...]
-    "flatten": { "index": 6, "kind": "parameter", "displayName": "Flatten", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Flatten is used to flatten the file name path to strip any leading paths, so it's just the file name. This allows you to consume recursively into sub-directories, but when you eg write the files to another directory  [...]
-    "jailStartingDirectory": { "index": 7, "kind": "parameter", "displayName": "Jail Starting Directory", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Used for jailing (restricting) writing files to the starting directory (and sub) only. This is enabled by default to not allow Camel to write files to outside directories (to be more secu [...]
-    "strictHostKeyChecking": { "index": 8, "kind": "parameter", "displayName": "Strict Host Key Checking", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "enum": [ "no", "yes" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "no", "configurationClass": "org.apache.camel.component.scp.ScpConfiguration", "configurationField": "configuration", "description": "Sets whether to use strict host key checking. Pos [...]
-    "allowNullBody": { "index": 9, "kind": "parameter", "displayName": "Allow Null Body", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Used to specify if a null body is allowed during file writing. If set to true then an empty file will be created, when set to false, and attempting to send a null body to the file co [...]
-    "disconnectOnBatchComplete": { "index": 10, "kind": "parameter", "displayName": "Disconnect On Batch Complete", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether or not to disconnect from remote FTP server right after a Batch upload is complete. disconnectOnBatchComplete will only disconnect the current conne [...]
-    "lazyStartProducer": { "index": 11, "kind": "parameter", "displayName": "Lazy Start Producer", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a produ [...]
-    "moveExistingFileStrategy": { "index": 12, "kind": "parameter", "displayName": "Move Existing File Strategy", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "object", "javaType": "org.apache.camel.component.file.strategy.FileMoveExistingStrategy", "deprecated": false, "autowired": false, "secret": false, "description": "Strategy (Custom Strategy) used to move file with special naming token to use when fileExist=Move is configured. By default, [...]
-    "connectTimeout": { "index": 13, "kind": "parameter", "displayName": "Connect Timeout", "group": "advanced", "label": "advanced", "required": false, "type": "duration", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "10000", "configurationClass": "org.apache.camel.component.scp.ScpConfiguration", "configurationField": "configuration", "description": "Sets the connect timeout for waiting for a connection to be established Used by both FTPC [...]
-    "soTimeout": { "index": 14, "kind": "parameter", "displayName": "So Timeout", "group": "advanced", "label": "advanced", "required": false, "type": "duration", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "300000", "configurationClass": "org.apache.camel.component.scp.ScpConfiguration", "configurationField": "configuration", "description": "Sets the so timeout FTP and FTPS Is the SocketOptions.SO_TIMEOUT value in millis. Recommended opti [...]
-    "timeout": { "index": 15, "kind": "parameter", "displayName": "Timeout", "group": "advanced", "label": "advanced", "required": false, "type": "duration", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "30000", "configurationClass": "org.apache.camel.component.scp.ScpConfiguration", "configurationField": "configuration", "description": "Sets the data timeout for waiting for reply Used only by FTPClient" },
-    "knownHostsFile": { "index": 16, "kind": "parameter", "displayName": "Known Hosts File", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": true, "supportFileReference": true, "configurationClass": "org.apache.camel.component.scp.ScpConfiguration", "configurationField": "configuration", "description": "Sets the known_hosts file, so that the jsch endpoi [...]
-    "password": { "index": 17, "kind": "parameter", "displayName": "Password", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.scp.ScpConfiguration", "configurationField": "configuration", "description": "Password to use for login" },
-    "preferredAuthentications": { "index": 18, "kind": "parameter", "displayName": "Preferred Authentications", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.scp.ScpConfiguration", "configurationField": "configuration", "description": "Set a comma separated list of authentications that will be used in order of preferen [...]
-    "privateKeyBytes": { "index": 19, "kind": "parameter", "displayName": "Private Key Bytes", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "byte[]", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.scp.ScpConfiguration", "configurationField": "configuration", "description": "Set the private key bytes to that the endpoint can do private key verification. This must be used only if priva [...]
-    "privateKeyFile": { "index": 20, "kind": "parameter", "displayName": "Private Key File", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.scp.ScpConfiguration", "configurationField": "configuration", "description": "Set the private key file to that the endpoint can do private key verification. You can prefix with clas [...]
-    "privateKeyFilePassphrase": { "index": 21, "kind": "parameter", "displayName": "Private Key File Passphrase", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.scp.ScpConfiguration", "configurationField": "configuration", "description": "Set the private key file passphrase to that the endpoint can do private key verifi [...]
-    "username": { "index": 22, "kind": "parameter", "displayName": "Username", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.scp.ScpConfiguration", "configurationField": "configuration", "description": "Username to use for login" },
-    "useUserKnownHostsFile": { "index": 23, "kind": "parameter", "displayName": "Use User Known Hosts File", "group": "security", "label": "security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.scp.ScpConfiguration", "configurationField": "configuration", "description": "If knownHostFile has not been explicit configured, then use the host fil [...]
-    "ciphers": { "index": 24, "kind": "parameter", "displayName": "Ciphers", "group": "security (advanced)", "label": "security,advanced", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.scp.ScpConfiguration", "configurationField": "configuration", "description": "Set a comma separated list of ciphers that will be used in order of preference. Possible cipher na [...]
+    "checksumFileAlgorithm": { "index": 5, "kind": "parameter", "displayName": "Checksum File Algorithm", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "If provided, then Camel will write a checksum file when the original file has been written. The checksum file will contain the checksum created with the provided algorithm for the original file. The ch [...]
+    "fileName": { "index": 6, "kind": "parameter", "displayName": "File Name", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Use Expression such as File Language to dynamically set the filename. For consumers, it's used as a filename filter. For producers, it's used to evaluate the filename to write. If an expression is set, it take precedence over the CamelF [...]
+    "flatten": { "index": 7, "kind": "parameter", "displayName": "Flatten", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Flatten is used to flatten the file name path to strip any leading paths, so it's just the file name. This allows you to consume recursively into sub-directories, but when you eg write the files to another directory  [...]
+    "jailStartingDirectory": { "index": 8, "kind": "parameter", "displayName": "Jail Starting Directory", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Used for jailing (restricting) writing files to the starting directory (and sub) only. This is enabled by default to not allow Camel to write files to outside directories (to be more secu [...]
+    "strictHostKeyChecking": { "index": 9, "kind": "parameter", "displayName": "Strict Host Key Checking", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "enum": [ "no", "yes" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "no", "configurationClass": "org.apache.camel.component.scp.ScpConfiguration", "configurationField": "configuration", "description": "Sets whether to use strict host key checking. Pos [...]
+    "allowNullBody": { "index": 10, "kind": "parameter", "displayName": "Allow Null Body", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Used to specify if a null body is allowed during file writing. If set to true then an empty file will be created, when set to false, and attempting to send a null body to the file c [...]
+    "disconnectOnBatchComplete": { "index": 11, "kind": "parameter", "displayName": "Disconnect On Batch Complete", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether or not to disconnect from remote FTP server right after a Batch upload is complete. disconnectOnBatchComplete will only disconnect the current conne [...]
+    "lazyStartProducer": { "index": 12, "kind": "parameter", "displayName": "Lazy Start Producer", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a produ [...]
+    "moveExistingFileStrategy": { "index": 13, "kind": "parameter", "displayName": "Move Existing File Strategy", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "object", "javaType": "org.apache.camel.component.file.strategy.FileMoveExistingStrategy", "deprecated": false, "autowired": false, "secret": false, "description": "Strategy (Custom Strategy) used to move file with special naming token to use when fileExist=Move is configured. By default, [...]
+    "connectTimeout": { "index": 14, "kind": "parameter", "displayName": "Connect Timeout", "group": "advanced", "label": "advanced", "required": false, "type": "duration", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "10000", "configurationClass": "org.apache.camel.component.scp.ScpConfiguration", "configurationField": "configuration", "description": "Sets the connect timeout for waiting for a connection to be established Used by both FTPC [...]
+    "soTimeout": { "index": 15, "kind": "parameter", "displayName": "So Timeout", "group": "advanced", "label": "advanced", "required": false, "type": "duration", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "300000", "configurationClass": "org.apache.camel.component.scp.ScpConfiguration", "configurationField": "configuration", "description": "Sets the so timeout FTP and FTPS Is the SocketOptions.SO_TIMEOUT value in millis. Recommended opti [...]
+    "timeout": { "index": 16, "kind": "parameter", "displayName": "Timeout", "group": "advanced", "label": "advanced", "required": false, "type": "duration", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "30000", "configurationClass": "org.apache.camel.component.scp.ScpConfiguration", "configurationField": "configuration", "description": "Sets the data timeout for waiting for reply Used only by FTPClient" },
+    "knownHostsFile": { "index": 17, "kind": "parameter", "displayName": "Known Hosts File", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": true, "supportFileReference": true, "configurationClass": "org.apache.camel.component.scp.ScpConfiguration", "configurationField": "configuration", "description": "Sets the known_hosts file, so that the jsch endpoi [...]
+    "password": { "index": 18, "kind": "parameter", "displayName": "Password", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.scp.ScpConfiguration", "configurationField": "configuration", "description": "Password to use for login" },
+    "preferredAuthentications": { "index": 19, "kind": "parameter", "displayName": "Preferred Authentications", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.scp.ScpConfiguration", "configurationField": "configuration", "description": "Set a comma separated list of authentications that will be used in order of preferen [...]
+    "privateKeyBytes": { "index": 20, "kind": "parameter", "displayName": "Private Key Bytes", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "byte[]", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.scp.ScpConfiguration", "configurationField": "configuration", "description": "Set the private key bytes to that the endpoint can do private key verification. This must be used only if priva [...]
+    "privateKeyFile": { "index": 21, "kind": "parameter", "displayName": "Private Key File", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.scp.ScpConfiguration", "configurationField": "configuration", "description": "Set the private key file to that the endpoint can do private key verification. You can prefix with clas [...]
+    "privateKeyFilePassphrase": { "index": 22, "kind": "parameter", "displayName": "Private Key File Passphrase", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.scp.ScpConfiguration", "configurationField": "configuration", "description": "Set the private key file passphrase to that the endpoint can do private key verifi [...]
+    "username": { "index": 23, "kind": "parameter", "displayName": "Username", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.scp.ScpConfiguration", "configurationField": "configuration", "description": "Username to use for login" },
+    "useUserKnownHostsFile": { "index": 24, "kind": "parameter", "displayName": "Use User Known Hosts File", "group": "security", "label": "security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.scp.ScpConfiguration", "configurationField": "configuration", "description": "If knownHostFile has not been explicit configured, then use the host fil [...]
+    "ciphers": { "index": 25, "kind": "parameter", "displayName": "Ciphers", "group": "security (advanced)", "label": "security,advanced", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.scp.ScpConfiguration", "configurationField": "configuration", "description": "Set a comma separated list of ciphers that will be used in order of preference. Possible cipher na [...]
   }
 }
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/sftp.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/sftp.json
index c552d5c8556..5fa1879c999 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/sftp.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/sftp.json
@@ -72,103 +72,104 @@
     "pollStrategy": { "index": 28, "kind": "parameter", "displayName": "Poll Strategy", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "object", "javaType": "org.apache.camel.spi.PollingConsumerPollStrategy", "deprecated": false, "autowired": false, "secret": false, "description": "A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the po [...]
     "processStrategy": { "index": 29, "kind": "parameter", "displayName": "Process Strategy", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "object", "javaType": "org.apache.camel.component.file.GenericFileProcessStrategy<org.apache.camel.component.file.remote.SftpRemoteFile>", "deprecated": false, "autowired": false, "secret": false, "description": "A pluggable org.apache.camel.component.file.GenericFileProcessStrategy allowing you to implement [...]
     "useList": { "index": 30, "kind": "parameter", "displayName": "Use List", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.file.remote.SftpConfiguration", "configurationField": "configuration", "description": "Whether to allow using LIST command when downloading a file. Default is tr [...]
-    "fileExist": { "index": 31, "kind": "parameter", "displayName": "File Exist", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "org.apache.camel.component.file.GenericFileExist", "enum": [ "Override", "Append", "Fail", "Ignore", "Move", "TryRename" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "Override", "description": "What to do if a file already exists with the same name. Override, which is the default, repl [...]
-    "flatten": { "index": 32, "kind": "parameter", "displayName": "Flatten", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Flatten is used to flatten the file name path to strip any leading paths, so it's just the file name. This allows you to consume recursively into sub-directories, but when you eg write the files to another directory [...]
-    "jailStartingDirectory": { "index": 33, "kind": "parameter", "displayName": "Jail Starting Directory", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Used for jailing (restricting) writing files to the starting directory (and sub) only. This is enabled by default to not allow Camel to write files to outside directories (to be more sec [...]
-    "moveExisting": { "index": 34, "kind": "parameter", "displayName": "Move Existing", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Expression (such as File Language) used to compute file name to use when fileExist=Move is configured. To move files into a backup subdirectory just enter backup. This option only supports the following File Language to [...]
-    "tempFileName": { "index": 35, "kind": "parameter", "displayName": "Temp File Name", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "The same as tempPrefix option but offering a more fine grained control on the naming of the temporary filename as it uses the File Language. The location for tempFilename is relative to the final file location in the o [...]
-    "tempPrefix": { "index": 36, "kind": "parameter", "displayName": "Temp Prefix", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "This option is used to write the file using a temporary name and then, after the write is complete, rename it to the real name. Can be used to identify files being written and also avoid consumers (not using exclusive read  [...]
-    "allowNullBody": { "index": 37, "kind": "parameter", "displayName": "Allow Null Body", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Used to specify if a null body is allowed during file writing. If set to true then an empty file will be created, when set to false, and attempting to send a null body to the file c [...]
-    "chmod": { "index": 38, "kind": "parameter", "displayName": "Chmod", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.file.remote.SftpConfiguration", "configurationField": "configuration", "description": "Allows you to set chmod on the stored file. For example chmod=640." },
-    "chmodDirectory": { "index": 39, "kind": "parameter", "displayName": "Chmod Directory", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.file.remote.SftpConfiguration", "configurationField": "configuration", "description": "Allows you to set chmod during path creation. For example chmod=640." },
-    "disconnectOnBatchComplete": { "index": 40, "kind": "parameter", "displayName": "Disconnect On Batch Complete", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether or not to disconnect from remote FTP server right after a Batch upload is complete. disconnectOnBatchComplete will only disconnect the current conne [...]
-    "eagerDeleteTargetFile": { "index": 41, "kind": "parameter", "displayName": "Eager Delete Target File", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether or not to eagerly delete any existing target file. This option only applies when you use fileExists=Override and the tempFileName option as well. You can use [...]
-    "keepLastModified": { "index": 42, "kind": "parameter", "displayName": "Keep Last Modified", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Will keep the last modified timestamp from the source file (if any). Will use the FileConstants.FILE_LAST_MODIFIED header to located the timestamp. This header can contain eit [...]
-    "lazyStartProducer": { "index": 43, "kind": "parameter", "displayName": "Lazy Start Producer", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a produ [...]
-    "moveExistingFileStrategy": { "index": 44, "kind": "parameter", "displayName": "Move Existing File Strategy", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "object", "javaType": "org.apache.camel.component.file.strategy.FileMoveExistingStrategy", "deprecated": false, "autowired": false, "secret": false, "description": "Strategy (Custom Strategy) used to move file with special naming token to use when fileExist=Move is configured. By default, [...]
-    "sendNoop": { "index": 45, "kind": "parameter", "displayName": "Send Noop", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.file.remote.SftpConfiguration", "configurationField": "configuration", "description": "Whether to send a noop command as a pre-write check before uploading fil [...]
-    "autoCreate": { "index": 46, "kind": "parameter", "displayName": "Auto Create", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Automatically create missing directories in the file's pathname. For the file consumer, that means creating the starting directory. For the file producer, it means the directory the files should be written to." },
-    "bindAddress": { "index": 47, "kind": "parameter", "displayName": "Bind Address", "group": "advanced", "label": "advanced", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.file.remote.SftpConfiguration", "configurationField": "configuration", "description": "Specifies the address of the local interface against which the connection should bind." },
-    "bulkRequests": { "index": 48, "kind": "parameter", "displayName": "Bulk Requests", "group": "advanced", "label": "advanced", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.file.remote.SftpConfiguration", "configurationField": "configuration", "description": "Specifies how many requests may be outstanding at any one time. Increasing this value may slight [...]
-    "compression": { "index": 49, "kind": "parameter", "displayName": "Compression", "group": "advanced", "label": "advanced", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.file.remote.SftpConfiguration", "configurationField": "configuration", "description": "To use compression. Specify a level from 1 to 10. Important: You must manually add the needed JSCH zlib JAR to th [...]
-    "connectTimeout": { "index": 50, "kind": "parameter", "displayName": "Connect Timeout", "group": "advanced", "label": "advanced", "required": false, "type": "duration", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "10000", "configurationClass": "org.apache.camel.component.file.remote.SftpConfiguration", "configurationField": "configuration", "description": "Sets the connect timeout for waiting for a connection to be established Used by  [...]
-    "existDirCheckUsingLs": { "index": 51, "kind": "parameter", "displayName": "Exist Dir Check Using Ls", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.file.remote.SftpConfiguration", "configurationField": "configuration", "description": "Whether to check for existing directory using LS command or CD. B [...]
-    "filenameEncoding": { "index": 52, "kind": "parameter", "displayName": "Filename Encoding", "group": "advanced", "label": "advanced", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.file.remote.SftpConfiguration", "configurationField": "configuration", "description": "Encoding to use for FTP client when parsing filenames. By default, UTF-8 is used." },
-    "maximumReconnectAttempts": { "index": 53, "kind": "parameter", "displayName": "Maximum Reconnect Attempts", "group": "advanced", "label": "advanced", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "description": "Specifies the maximum reconnect attempts Camel performs when it tries to connect to the remote FTP server. Use 0 to disable this behavior." },
-    "proxy": { "index": 54, "kind": "parameter", "displayName": "Proxy", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "com.jcraft.jsch.Proxy", "deprecated": false, "autowired": false, "secret": false, "description": "To use a custom configured com.jcraft.jsch.Proxy. This proxy is used to consume\/send messages from the target SFTP host." },
-    "reconnectDelay": { "index": 55, "kind": "parameter", "displayName": "Reconnect Delay", "group": "advanced", "label": "advanced", "required": false, "type": "duration", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "1000", "description": "Delay in millis Camel will wait before performing a reconnect attempt." },
-    "serverAliveCountMax": { "index": 56, "kind": "parameter", "displayName": "Server Alive Count Max", "group": "advanced", "label": "advanced", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 1, "configurationClass": "org.apache.camel.component.file.remote.SftpConfiguration", "configurationField": "configuration", "description": "Sets the number of keep-alive messages which may be sent without receiving  [...]
-    "serverAliveInterval": { "index": 57, "kind": "parameter", "displayName": "Server Alive Interval", "group": "advanced", "label": "advanced", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.file.remote.SftpConfiguration", "configurationField": "configuration", "description": "Sets the interval (millis) to send a keep-alive message. If zero is specified, any keep-alive m [...]
-    "soTimeout": { "index": 58, "kind": "parameter", "displayName": "So Timeout", "group": "advanced", "label": "advanced", "required": false, "type": "duration", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "300000", "configurationClass": "org.apache.camel.component.file.remote.SftpConfiguration", "configurationField": "configuration", "description": "Sets the so timeout FTP and FTPS Is the SocketOptions.SO_TIMEOUT value in millis. Recomme [...]
-    "stepwise": { "index": 59, "kind": "parameter", "displayName": "Stepwise", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.file.remote.SftpConfiguration", "configurationField": "configuration", "description": "Sets whether we should stepwise change directories while traversing file structures when down [...]
-    "throwExceptionOnConnectFailed": { "index": 60, "kind": "parameter", "displayName": "Throw Exception On Connect Failed", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.file.remote.SftpConfiguration", "configurationField": "configuration", "description": "Should an exception be thrown if connection fa [...]
-    "timeout": { "index": 61, "kind": "parameter", "displayName": "Timeout", "group": "advanced", "label": "advanced", "required": false, "type": "duration", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "30000", "configurationClass": "org.apache.camel.component.file.remote.SftpConfiguration", "configurationField": "configuration", "description": "Sets the data timeout for waiting for reply Used only by FTPClient" },
-    "antExclude": { "index": 62, "kind": "parameter", "displayName": "Ant Exclude", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Ant style filter exclusion. If both antInclude and antExclude are used, antExclude takes precedence over antInclude. Multiple exclusions may be specified in comma-delimited format." },
-    "antFilterCaseSensitive": { "index": 63, "kind": "parameter", "displayName": "Ant Filter Case Sensitive", "group": "filter", "label": "consumer,filter", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Sets case sensitive flag on ant filter." },
-    "antInclude": { "index": 64, "kind": "parameter", "displayName": "Ant Include", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Ant style filter inclusion. Multiple inclusions may be specified in comma-delimited format." },
-    "eagerMaxMessagesPerPoll": { "index": 65, "kind": "parameter", "displayName": "Eager Max Messages Per Poll", "group": "filter", "label": "consumer,filter", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Allows for controlling whether the limit from maxMessagesPerPoll is eager or not. If eager then the limit is during the scanning of files. Where as false would scan all files, [...]
-    "exclude": { "index": 66, "kind": "parameter", "displayName": "Exclude", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Is used to exclude files, if filename matches the regex pattern (matching is case in-sensitive). Notice if you use symbols such as plus sign and others you would need to configure this using the RAW() syntax if configuring th [...]
-    "excludeExt": { "index": 67, "kind": "parameter", "displayName": "Exclude Ext", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Is used to exclude files matching file extension name (case insensitive). For example to exclude bak files, then use excludeExt=bak. Multiple extensions can be separated by comma, for example to exclude bak and dat fil [...]
-    "filter": { "index": 68, "kind": "parameter", "displayName": "Filter", "group": "filter", "label": "consumer,filter", "required": false, "type": "object", "javaType": "org.apache.camel.component.file.GenericFileFilter<org.apache.camel.component.file.remote.SftpRemoteFile>", "deprecated": false, "autowired": false, "secret": false, "description": "Pluggable filter as a org.apache.camel.component.file.GenericFileFilter class. Will skip files if filter returns false in its accept() method." },
-    "filterDirectory": { "index": 69, "kind": "parameter", "displayName": "Filter Directory", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Filters the directory based on Simple language. For example to filter on current date, you can use a simple date pattern such as ${date:now:yyyMMdd}" },
-    "filterFile": { "index": 70, "kind": "parameter", "displayName": "Filter File", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Filters the file based on Simple language. For example to filter on file size, you can use ${file:size} 5000" },
-    "idempotent": { "index": 71, "kind": "parameter", "displayName": "Idempotent", "group": "filter", "label": "consumer,filter", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "false", "description": "Option to use the Idempotent Consumer EIP pattern to let Camel skip already processed files. Will by default use a memory based LRUCache that holds 1000 entries. If noop=true then idempotent w [...]
-    "idempotentKey": { "index": 72, "kind": "parameter", "displayName": "Idempotent Key", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "To use a custom idempotent key. By default the absolute path of the file is used. You can use the File Language, for example to use the file name and file size, you can do: idempotentKey=${file:name}-${file:size}" },
-    "idempotentRepository": { "index": 73, "kind": "parameter", "displayName": "Idempotent Repository", "group": "filter", "label": "consumer,filter", "required": false, "type": "object", "javaType": "org.apache.camel.spi.IdempotentRepository", "deprecated": false, "autowired": false, "secret": false, "description": "A pluggable repository org.apache.camel.spi.IdempotentRepository which by default use MemoryIdempotentRepository if none is specified and idempotent is true." },
-    "include": { "index": 74, "kind": "parameter", "displayName": "Include", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Is used to include files, if filename matches the regex pattern (matching is case in-sensitive). Notice if you use symbols such as plus sign and others you would need to configure this using the RAW() syntax if configuring th [...]
-    "includeExt": { "index": 75, "kind": "parameter", "displayName": "Include Ext", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Is used to include files matching file extension name (case insensitive). For example to include txt files, then use includeExt=txt. Multiple extensions can be separated by comma, for example to include txt and xml fil [...]
-    "maxDepth": { "index": 76, "kind": "parameter", "displayName": "Max Depth", "group": "filter", "label": "consumer,filter", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 2147483647, "description": "The maximum depth to traverse when recursively processing a directory." },
-    "maxMessagesPerPoll": { "index": 77, "kind": "parameter", "displayName": "Max Messages Per Poll", "group": "filter", "label": "consumer,filter", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "description": "To define a maximum messages to gather per poll. By default no maximum is set. Can be used to set a limit of e.g. 1000 to avoid when starting up the server that there are thousands of files. Set a value of 0 or n [...]
-    "minDepth": { "index": 78, "kind": "parameter", "displayName": "Min Depth", "group": "filter", "label": "consumer,filter", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "description": "The minimum depth to start processing when recursively processing a directory. Using minDepth=1 means the base directory. Using minDepth=2 means the first sub directory." },
-    "move": { "index": 79, "kind": "parameter", "displayName": "Move", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Expression (such as Simple Language) used to dynamically set the filename when moving it after processing. To move files into a .done subdirectory just enter .done." },
-    "exclusiveReadLockStrategy": { "index": 80, "kind": "parameter", "displayName": "Exclusive Read Lock Strategy", "group": "lock", "label": "consumer,lock", "required": false, "type": "object", "javaType": "org.apache.camel.component.file.GenericFileExclusiveReadLockStrategy<org.apache.camel.component.file.remote.SftpRemoteFile>", "deprecated": false, "autowired": false, "secret": false, "description": "Pluggable read-lock as a org.apache.camel.component.file.GenericFileExclusiveReadLo [...]
-    "readLock": { "index": 81, "kind": "parameter", "displayName": "Read Lock", "group": "lock", "label": "consumer,lock", "required": false, "type": "string", "javaType": "java.lang.String", "enum": [ "none", "markerFile", "fileLock", "rename", "changed", "idempotent", "idempotent-changed", "idempotent-rename" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "none", "description": "Used by consumer, to only poll the files if it has exclusive read-lock on the  [...]
-    "readLockCheckInterval": { "index": 82, "kind": "parameter", "displayName": "Read Lock Check Interval", "group": "lock", "label": "consumer,lock", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 1000, "description": "Interval in millis for the read-lock, if supported by the read lock. This interval is used for sleeping between attempts to acquire the read lock. For example when using the changed read  [...]
-    "readLockDeleteOrphanLockFiles": { "index": 83, "kind": "parameter", "displayName": "Read Lock Delete Orphan Lock Files", "group": "lock", "label": "consumer,lock", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether or not read lock with marker files should upon startup delete any orphan read lock files, which may have been left on the file system, if Camel was not proper [...]
-    "readLockIdempotentReleaseAsync": { "index": 84, "kind": "parameter", "displayName": "Read Lock Idempotent Release Async", "group": "lock", "label": "consumer,lock", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the delayed release task should be synchronous or asynchronous. See more details at the readLockIdempotentReleaseDelay option." },
-    "readLockIdempotentReleaseAsyncPoolSize": { "index": 85, "kind": "parameter", "displayName": "Read Lock Idempotent Release Async Pool Size", "group": "lock", "label": "consumer,lock", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "description": "The number of threads in the scheduled thread pool when using asynchronous release tasks. Using a default of 1 core threads should be sufficient in almost all use-cases, onl [...]
-    "readLockIdempotentReleaseDelay": { "index": 86, "kind": "parameter", "displayName": "Read Lock Idempotent Release Delay", "group": "lock", "label": "consumer,lock", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "description": "Whether to delay the release task for a period of millis. This can be used to delay the release tasks to expand the window when a file is regarded as read-locked, in an active\/active cluster [...]
-    "readLockIdempotentReleaseExecutorService": { "index": 87, "kind": "parameter", "displayName": "Read Lock Idempotent Release Executor Service", "group": "lock", "label": "consumer,lock", "required": false, "type": "object", "javaType": "java.util.concurrent.ScheduledExecutorService", "deprecated": false, "autowired": false, "secret": false, "description": "To use a custom and shared thread pool for asynchronous release tasks. See more details at the readLockIdempotentReleaseDelay opt [...]
-    "readLockLoggingLevel": { "index": 88, "kind": "parameter", "displayName": "Read Lock Logging Level", "group": "lock", "label": "consumer,lock", "required": false, "type": "object", "javaType": "org.apache.camel.LoggingLevel", "enum": [ "TRACE", "DEBUG", "INFO", "WARN", "ERROR", "OFF" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "DEBUG", "description": "Logging level used when a read lock could not be acquired. By default a DEBUG is logged. You can cha [...]
-    "readLockMarkerFile": { "index": 89, "kind": "parameter", "displayName": "Read Lock Marker File", "group": "lock", "label": "consumer,lock", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether to use marker file with the changed, rename, or exclusive read lock types. By default a marker file is used as well to guard against other processes picking up the same files. This b [...]
-    "readLockMinAge": { "index": 90, "kind": "parameter", "displayName": "Read Lock Min Age", "group": "lock", "label": "consumer,lock", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 0, "description": "This option is applied only for readLock=changed. It allows to specify a minimum age the file must be before attempting to acquire the read lock. For example use readLockMinAge=300s to require the file is [...]
-    "readLockMinLength": { "index": 91, "kind": "parameter", "displayName": "Read Lock Min Length", "group": "lock", "label": "consumer,lock", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 1, "description": "This option is applied only for readLock=changed. It allows you to configure a minimum file length. By default Camel expects the file to contain data, and thus the default value is 1. You can set th [...]
-    "readLockRemoveOnCommit": { "index": 92, "kind": "parameter", "displayName": "Read Lock Remove On Commit", "group": "lock", "label": "consumer,lock", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "This option is applied only for readLock=idempotent. It allows to specify whether to remove the file name entry from the idempotent repository when processing the file is succeeded [...]
-    "readLockRemoveOnRollback": { "index": 93, "kind": "parameter", "displayName": "Read Lock Remove On Rollback", "group": "lock", "label": "consumer,lock", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "This option is applied only for readLock=idempotent. It allows to specify whether to remove the file name entry from the idempotent repository when processing the file failed an [...]
-    "readLockTimeout": { "index": 94, "kind": "parameter", "displayName": "Read Lock Timeout", "group": "lock", "label": "consumer,lock", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 10000, "description": "Optional timeout in millis for the read-lock, if supported by the read-lock. If the read-lock could not be granted and the timeout triggered, then Camel will skip the file. At next poll Camel, will t [...]
-    "backoffErrorThreshold": { "index": 95, "kind": "parameter", "displayName": "Backoff Error Threshold", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "description": "The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in." },
-    "backoffIdleThreshold": { "index": 96, "kind": "parameter", "displayName": "Backoff Idle Threshold", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "description": "The number of subsequent idle polls that should happen before the backoffMultipler should kick-in." },
-    "backoffMultiplier": { "index": 97, "kind": "parameter", "displayName": "Backoff Multiplier", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "description": "To let the scheduled polling consumer backoff if there has been a number of subsequent idles\/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is h [...]
-    "delay": { "index": 98, "kind": "parameter", "displayName": "Delay", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 500, "description": "Milliseconds before the next poll." },
-    "greedy": { "index": 99, "kind": "parameter", "displayName": "Greedy", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages." },
-    "initialDelay": { "index": 100, "kind": "parameter", "displayName": "Initial Delay", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 1000, "description": "Milliseconds before the first poll starts." },
-    "repeatCount": { "index": 101, "kind": "parameter", "displayName": "Repeat Count", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 0, "description": "Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only fire once. If you set it to 5, it will only fire five times. A value of zero or negative means fire forever." },
-    "runLoggingLevel": { "index": 102, "kind": "parameter", "displayName": "Run Logging Level", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "object", "javaType": "org.apache.camel.LoggingLevel", "enum": [ "TRACE", "DEBUG", "INFO", "WARN", "ERROR", "OFF" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "TRACE", "description": "The consumer logs a start\/complete log line when it polls. This option allows you to configure the  [...]
-    "scheduledExecutorService": { "index": 103, "kind": "parameter", "displayName": "Scheduled Executor Service", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "object", "javaType": "java.util.concurrent.ScheduledExecutorService", "deprecated": false, "autowired": false, "secret": false, "description": "Allows for configuring a custom\/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool." },
-    "scheduler": { "index": 104, "kind": "parameter", "displayName": "Scheduler", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "object", "javaType": "java.lang.Object", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "none", "description": "To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler" },
-    "schedulerProperties": { "index": 105, "kind": "parameter", "displayName": "Scheduler Properties", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "object", "javaType": "java.util.Map<java.lang.String, java.lang.Object>", "prefix": "scheduler.", "multiValue": true, "deprecated": false, "autowired": false, "secret": false, "description": "To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler." },
-    "startScheduler": { "index": 106, "kind": "parameter", "displayName": "Start Scheduler", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether the scheduler should be auto started." },
-    "timeUnit": { "index": 107, "kind": "parameter", "displayName": "Time Unit", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "object", "javaType": "java.util.concurrent.TimeUnit", "enum": [ "NANOSECONDS", "MICROSECONDS", "MILLISECONDS", "SECONDS", "MINUTES", "HOURS", "DAYS" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "MILLISECONDS", "description": "Time unit for initialDelay and delay options." },
-    "useFixedDelay": { "index": 108, "kind": "parameter", "displayName": "Use Fixed Delay", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details." },
-    "ciphers": { "index": 109, "kind": "parameter", "displayName": "Ciphers", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.file.remote.SftpConfiguration", "configurationField": "configuration", "description": "Set a comma separated list of ciphers that will be used in order of preference. Possible cipher names are de [...]
-    "keyExchangeProtocols": { "index": 110, "kind": "parameter", "displayName": "Key Exchange Protocols", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.file.remote.SftpConfiguration", "configurationField": "configuration", "description": "Set a comma separated list of key exchange protocols that will be used in order  [...]
-    "keyPair": { "index": 111, "kind": "parameter", "displayName": "Key Pair", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "java.security.KeyPair", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.file.remote.SftpConfiguration", "configurationField": "configuration", "description": "Sets a key pair of the public and private key so to that the SFTP endpoint can do public\/private key v [...]
-    "knownHosts": { "index": 112, "kind": "parameter", "displayName": "Known Hosts", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "byte[]", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.file.remote.SftpConfiguration", "configurationField": "configuration", "description": "Sets the known_hosts from the byte array, so that the SFTP endpoint can do host key verification." },
-    "knownHostsFile": { "index": 113, "kind": "parameter", "displayName": "Known Hosts File", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.file.remote.SftpConfiguration", "configurationField": "configuration", "description": "Sets the known_hosts file, so that the SFTP endpoint can do host key verification." },
-    "knownHostsUri": { "index": 114, "kind": "parameter", "displayName": "Known Hosts Uri", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": true, "supportFileReference": true, "configurationClass": "org.apache.camel.component.file.remote.SftpConfiguration", "configurationField": "configuration", "description": "Sets the known_hosts file (loaded from cla [...]
-    "password": { "index": 115, "kind": "parameter", "displayName": "Password", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.file.remote.SftpConfiguration", "configurationField": "configuration", "description": "Password to use for login" },
-    "preferredAuthentications": { "index": 116, "kind": "parameter", "displayName": "Preferred Authentications", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.file.remote.SftpConfiguration", "configurationField": "configuration", "description": "Set the preferred authentications which SFTP endpoint will used. Some exa [...]
-    "privateKey": { "index": 117, "kind": "parameter", "displayName": "Private Key", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "byte[]", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.file.remote.SftpConfiguration", "configurationField": "configuration", "description": "Set the private key as byte so that the SFTP endpoint can do private key verification." },
-    "privateKeyFile": { "index": 118, "kind": "parameter", "displayName": "Private Key File", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.file.remote.SftpConfiguration", "configurationField": "configuration", "description": "Set the private key file so that the SFTP endpoint can do private key verification." },
-    "privateKeyPassphrase": { "index": 119, "kind": "parameter", "displayName": "Private Key Passphrase", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.file.remote.SftpConfiguration", "configurationField": "configuration", "description": "Set the private key file passphrase so that the SFTP endpoint can do private key  [...]
-    "privateKeyUri": { "index": 120, "kind": "parameter", "displayName": "Private Key Uri", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": true, "supportFileReference": true, "configurationClass": "org.apache.camel.component.file.remote.SftpConfiguration", "configurationField": "configuration", "description": "Set the private key file (loaded from clas [...]
-    "publicKeyAcceptedAlgorithms": { "index": 121, "kind": "parameter", "displayName": "Public Key Accepted Algorithms", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.file.remote.SftpConfiguration", "configurationField": "configuration", "description": "Set a comma separated list of public key accepted algorithms. Som [...]
-    "serverHostKeys": { "index": 122, "kind": "parameter", "displayName": "Server Host Keys", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.file.remote.SftpConfiguration", "configurationField": "configuration", "description": "Set a comma separated list of algorithms supported for the server host key. Some examples in [...]
-    "strictHostKeyChecking": { "index": 123, "kind": "parameter", "displayName": "Strict Host Key Checking", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "enum": [ "no", "yes" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "no", "configurationClass": "org.apache.camel.component.file.remote.SftpConfiguration", "configurationField": "configuration", "description": "Sets whether to use strict hos [...]
-    "username": { "index": 124, "kind": "parameter", "displayName": "Username", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.file.remote.SftpConfiguration", "configurationField": "configuration", "description": "Username to use for login" },
-    "useUserKnownHostsFile": { "index": 125, "kind": "parameter", "displayName": "Use User Known Hosts File", "group": "security", "label": "security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.file.remote.SftpConfiguration", "configurationField": "configuration", "description": "If knownHostFile has not been explicit configured then use the [...]
-    "shuffle": { "index": 126, "kind": "parameter", "displayName": "Shuffle", "group": "sort", "label": "consumer,sort", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "To shuffle the list of files (sort in random order)" },
-    "sortBy": { "index": 127, "kind": "parameter", "displayName": "Sort By", "group": "sort", "label": "consumer,sort", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Built-in sort by using the File Language. Supports nested sorts, so you can have a sort by file name and as a 2nd group sort by modified date." },
-    "sorter": { "index": 128, "kind": "parameter", "displayName": "Sorter", "group": "sort", "label": "consumer,sort", "required": false, "type": "object", "javaType": "java.util.Comparator<org.apache.camel.component.file.GenericFile<org.apache.camel.component.file.remote.SftpRemoteFile>>", "deprecated": false, "autowired": false, "secret": false, "description": "Pluggable sorter as a java.util.Comparator class." }
+    "checksumFileAlgorithm": { "index": 31, "kind": "parameter", "displayName": "Checksum File Algorithm", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "If provided, then Camel will write a checksum file when the original file has been written. The checksum file will contain the checksum created with the provided algorithm for the original file. The c [...]
+    "fileExist": { "index": 32, "kind": "parameter", "displayName": "File Exist", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "org.apache.camel.component.file.GenericFileExist", "enum": [ "Override", "Append", "Fail", "Ignore", "Move", "TryRename" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "Override", "description": "What to do if a file already exists with the same name. Override, which is the default, repl [...]
+    "flatten": { "index": 33, "kind": "parameter", "displayName": "Flatten", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Flatten is used to flatten the file name path to strip any leading paths, so it's just the file name. This allows you to consume recursively into sub-directories, but when you eg write the files to another directory [...]
+    "jailStartingDirectory": { "index": 34, "kind": "parameter", "displayName": "Jail Starting Directory", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Used for jailing (restricting) writing files to the starting directory (and sub) only. This is enabled by default to not allow Camel to write files to outside directories (to be more sec [...]
+    "moveExisting": { "index": 35, "kind": "parameter", "displayName": "Move Existing", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Expression (such as File Language) used to compute file name to use when fileExist=Move is configured. To move files into a backup subdirectory just enter backup. This option only supports the following File Language to [...]
+    "tempFileName": { "index": 36, "kind": "parameter", "displayName": "Temp File Name", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "The same as tempPrefix option but offering a more fine grained control on the naming of the temporary filename as it uses the File Language. The location for tempFilename is relative to the final file location in the o [...]
+    "tempPrefix": { "index": 37, "kind": "parameter", "displayName": "Temp Prefix", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "This option is used to write the file using a temporary name and then, after the write is complete, rename it to the real name. Can be used to identify files being written and also avoid consumers (not using exclusive read  [...]
+    "allowNullBody": { "index": 38, "kind": "parameter", "displayName": "Allow Null Body", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Used to specify if a null body is allowed during file writing. If set to true then an empty file will be created, when set to false, and attempting to send a null body to the file c [...]
+    "chmod": { "index": 39, "kind": "parameter", "displayName": "Chmod", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.file.remote.SftpConfiguration", "configurationField": "configuration", "description": "Allows you to set chmod on the stored file. For example chmod=640." },
+    "chmodDirectory": { "index": 40, "kind": "parameter", "displayName": "Chmod Directory", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.file.remote.SftpConfiguration", "configurationField": "configuration", "description": "Allows you to set chmod during path creation. For example chmod=640." },
+    "disconnectOnBatchComplete": { "index": 41, "kind": "parameter", "displayName": "Disconnect On Batch Complete", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether or not to disconnect from remote FTP server right after a Batch upload is complete. disconnectOnBatchComplete will only disconnect the current conne [...]
+    "eagerDeleteTargetFile": { "index": 42, "kind": "parameter", "displayName": "Eager Delete Target File", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether or not to eagerly delete any existing target file. This option only applies when you use fileExists=Override and the tempFileName option as well. You can use [...]
+    "keepLastModified": { "index": 43, "kind": "parameter", "displayName": "Keep Last Modified", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Will keep the last modified timestamp from the source file (if any). Will use the FileConstants.FILE_LAST_MODIFIED header to located the timestamp. This header can contain eit [...]
+    "lazyStartProducer": { "index": 44, "kind": "parameter", "displayName": "Lazy Start Producer", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a produ [...]
+    "moveExistingFileStrategy": { "index": 45, "kind": "parameter", "displayName": "Move Existing File Strategy", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "object", "javaType": "org.apache.camel.component.file.strategy.FileMoveExistingStrategy", "deprecated": false, "autowired": false, "secret": false, "description": "Strategy (Custom Strategy) used to move file with special naming token to use when fileExist=Move is configured. By default, [...]
+    "sendNoop": { "index": 46, "kind": "parameter", "displayName": "Send Noop", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.file.remote.SftpConfiguration", "configurationField": "configuration", "description": "Whether to send a noop command as a pre-write check before uploading fil [...]
+    "autoCreate": { "index": 47, "kind": "parameter", "displayName": "Auto Create", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Automatically create missing directories in the file's pathname. For the file consumer, that means creating the starting directory. For the file producer, it means the directory the files should be written to." },
+    "bindAddress": { "index": 48, "kind": "parameter", "displayName": "Bind Address", "group": "advanced", "label": "advanced", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.file.remote.SftpConfiguration", "configurationField": "configuration", "description": "Specifies the address of the local interface against which the connection should bind." },
+    "bulkRequests": { "index": 49, "kind": "parameter", "displayName": "Bulk Requests", "group": "advanced", "label": "advanced", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.file.remote.SftpConfiguration", "configurationField": "configuration", "description": "Specifies how many requests may be outstanding at any one time. Increasing this value may slight [...]
+    "compression": { "index": 50, "kind": "parameter", "displayName": "Compression", "group": "advanced", "label": "advanced", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.file.remote.SftpConfiguration", "configurationField": "configuration", "description": "To use compression. Specify a level from 1 to 10. Important: You must manually add the needed JSCH zlib JAR to th [...]
+    "connectTimeout": { "index": 51, "kind": "parameter", "displayName": "Connect Timeout", "group": "advanced", "label": "advanced", "required": false, "type": "duration", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "10000", "configurationClass": "org.apache.camel.component.file.remote.SftpConfiguration", "configurationField": "configuration", "description": "Sets the connect timeout for waiting for a connection to be established Used by  [...]
+    "existDirCheckUsingLs": { "index": 52, "kind": "parameter", "displayName": "Exist Dir Check Using Ls", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.file.remote.SftpConfiguration", "configurationField": "configuration", "description": "Whether to check for existing directory using LS command or CD. B [...]
+    "filenameEncoding": { "index": 53, "kind": "parameter", "displayName": "Filename Encoding", "group": "advanced", "label": "advanced", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.file.remote.SftpConfiguration", "configurationField": "configuration", "description": "Encoding to use for FTP client when parsing filenames. By default, UTF-8 is used." },
+    "maximumReconnectAttempts": { "index": 54, "kind": "parameter", "displayName": "Maximum Reconnect Attempts", "group": "advanced", "label": "advanced", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "description": "Specifies the maximum reconnect attempts Camel performs when it tries to connect to the remote FTP server. Use 0 to disable this behavior." },
+    "proxy": { "index": 55, "kind": "parameter", "displayName": "Proxy", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "com.jcraft.jsch.Proxy", "deprecated": false, "autowired": false, "secret": false, "description": "To use a custom configured com.jcraft.jsch.Proxy. This proxy is used to consume\/send messages from the target SFTP host." },
+    "reconnectDelay": { "index": 56, "kind": "parameter", "displayName": "Reconnect Delay", "group": "advanced", "label": "advanced", "required": false, "type": "duration", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "1000", "description": "Delay in millis Camel will wait before performing a reconnect attempt." },
+    "serverAliveCountMax": { "index": 57, "kind": "parameter", "displayName": "Server Alive Count Max", "group": "advanced", "label": "advanced", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 1, "configurationClass": "org.apache.camel.component.file.remote.SftpConfiguration", "configurationField": "configuration", "description": "Sets the number of keep-alive messages which may be sent without receiving  [...]
+    "serverAliveInterval": { "index": 58, "kind": "parameter", "displayName": "Server Alive Interval", "group": "advanced", "label": "advanced", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.file.remote.SftpConfiguration", "configurationField": "configuration", "description": "Sets the interval (millis) to send a keep-alive message. If zero is specified, any keep-alive m [...]
+    "soTimeout": { "index": 59, "kind": "parameter", "displayName": "So Timeout", "group": "advanced", "label": "advanced", "required": false, "type": "duration", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "300000", "configurationClass": "org.apache.camel.component.file.remote.SftpConfiguration", "configurationField": "configuration", "description": "Sets the so timeout FTP and FTPS Is the SocketOptions.SO_TIMEOUT value in millis. Recomme [...]
+    "stepwise": { "index": 60, "kind": "parameter", "displayName": "Stepwise", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.file.remote.SftpConfiguration", "configurationField": "configuration", "description": "Sets whether we should stepwise change directories while traversing file structures when down [...]
+    "throwExceptionOnConnectFailed": { "index": 61, "kind": "parameter", "displayName": "Throw Exception On Connect Failed", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.file.remote.SftpConfiguration", "configurationField": "configuration", "description": "Should an exception be thrown if connection fa [...]
+    "timeout": { "index": 62, "kind": "parameter", "displayName": "Timeout", "group": "advanced", "label": "advanced", "required": false, "type": "duration", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "30000", "configurationClass": "org.apache.camel.component.file.remote.SftpConfiguration", "configurationField": "configuration", "description": "Sets the data timeout for waiting for reply Used only by FTPClient" },
+    "antExclude": { "index": 63, "kind": "parameter", "displayName": "Ant Exclude", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Ant style filter exclusion. If both antInclude and antExclude are used, antExclude takes precedence over antInclude. Multiple exclusions may be specified in comma-delimited format." },
+    "antFilterCaseSensitive": { "index": 64, "kind": "parameter", "displayName": "Ant Filter Case Sensitive", "group": "filter", "label": "consumer,filter", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Sets case sensitive flag on ant filter." },
+    "antInclude": { "index": 65, "kind": "parameter", "displayName": "Ant Include", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Ant style filter inclusion. Multiple inclusions may be specified in comma-delimited format." },
+    "eagerMaxMessagesPerPoll": { "index": 66, "kind": "parameter", "displayName": "Eager Max Messages Per Poll", "group": "filter", "label": "consumer,filter", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Allows for controlling whether the limit from maxMessagesPerPoll is eager or not. If eager then the limit is during the scanning of files. Where as false would scan all files, [...]
+    "exclude": { "index": 67, "kind": "parameter", "displayName": "Exclude", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Is used to exclude files, if filename matches the regex pattern (matching is case in-sensitive). Notice if you use symbols such as plus sign and others you would need to configure this using the RAW() syntax if configuring th [...]
+    "excludeExt": { "index": 68, "kind": "parameter", "displayName": "Exclude Ext", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Is used to exclude files matching file extension name (case insensitive). For example to exclude bak files, then use excludeExt=bak. Multiple extensions can be separated by comma, for example to exclude bak and dat fil [...]
+    "filter": { "index": 69, "kind": "parameter", "displayName": "Filter", "group": "filter", "label": "consumer,filter", "required": false, "type": "object", "javaType": "org.apache.camel.component.file.GenericFileFilter<org.apache.camel.component.file.remote.SftpRemoteFile>", "deprecated": false, "autowired": false, "secret": false, "description": "Pluggable filter as a org.apache.camel.component.file.GenericFileFilter class. Will skip files if filter returns false in its accept() method." },
+    "filterDirectory": { "index": 70, "kind": "parameter", "displayName": "Filter Directory", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Filters the directory based on Simple language. For example to filter on current date, you can use a simple date pattern such as ${date:now:yyyMMdd}" },
+    "filterFile": { "index": 71, "kind": "parameter", "displayName": "Filter File", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Filters the file based on Simple language. For example to filter on file size, you can use ${file:size} 5000" },
+    "idempotent": { "index": 72, "kind": "parameter", "displayName": "Idempotent", "group": "filter", "label": "consumer,filter", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "false", "description": "Option to use the Idempotent Consumer EIP pattern to let Camel skip already processed files. Will by default use a memory based LRUCache that holds 1000 entries. If noop=true then idempotent w [...]
+    "idempotentKey": { "index": 73, "kind": "parameter", "displayName": "Idempotent Key", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "To use a custom idempotent key. By default the absolute path of the file is used. You can use the File Language, for example to use the file name and file size, you can do: idempotentKey=${file:name}-${file:size}" },
+    "idempotentRepository": { "index": 74, "kind": "parameter", "displayName": "Idempotent Repository", "group": "filter", "label": "consumer,filter", "required": false, "type": "object", "javaType": "org.apache.camel.spi.IdempotentRepository", "deprecated": false, "autowired": false, "secret": false, "description": "A pluggable repository org.apache.camel.spi.IdempotentRepository which by default use MemoryIdempotentRepository if none is specified and idempotent is true." },
+    "include": { "index": 75, "kind": "parameter", "displayName": "Include", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Is used to include files, if filename matches the regex pattern (matching is case in-sensitive). Notice if you use symbols such as plus sign and others you would need to configure this using the RAW() syntax if configuring th [...]
+    "includeExt": { "index": 76, "kind": "parameter", "displayName": "Include Ext", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Is used to include files matching file extension name (case insensitive). For example to include txt files, then use includeExt=txt. Multiple extensions can be separated by comma, for example to include txt and xml fil [...]
+    "maxDepth": { "index": 77, "kind": "parameter", "displayName": "Max Depth", "group": "filter", "label": "consumer,filter", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 2147483647, "description": "The maximum depth to traverse when recursively processing a directory." },
+    "maxMessagesPerPoll": { "index": 78, "kind": "parameter", "displayName": "Max Messages Per Poll", "group": "filter", "label": "consumer,filter", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "description": "To define a maximum messages to gather per poll. By default no maximum is set. Can be used to set a limit of e.g. 1000 to avoid when starting up the server that there are thousands of files. Set a value of 0 or n [...]
+    "minDepth": { "index": 79, "kind": "parameter", "displayName": "Min Depth", "group": "filter", "label": "consumer,filter", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "description": "The minimum depth to start processing when recursively processing a directory. Using minDepth=1 means the base directory. Using minDepth=2 means the first sub directory." },
+    "move": { "index": 80, "kind": "parameter", "displayName": "Move", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Expression (such as Simple Language) used to dynamically set the filename when moving it after processing. To move files into a .done subdirectory just enter .done." },
+    "exclusiveReadLockStrategy": { "index": 81, "kind": "parameter", "displayName": "Exclusive Read Lock Strategy", "group": "lock", "label": "consumer,lock", "required": false, "type": "object", "javaType": "org.apache.camel.component.file.GenericFileExclusiveReadLockStrategy<org.apache.camel.component.file.remote.SftpRemoteFile>", "deprecated": false, "autowired": false, "secret": false, "description": "Pluggable read-lock as a org.apache.camel.component.file.GenericFileExclusiveReadLo [...]
+    "readLock": { "index": 82, "kind": "parameter", "displayName": "Read Lock", "group": "lock", "label": "consumer,lock", "required": false, "type": "string", "javaType": "java.lang.String", "enum": [ "none", "markerFile", "fileLock", "rename", "changed", "idempotent", "idempotent-changed", "idempotent-rename" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "none", "description": "Used by consumer, to only poll the files if it has exclusive read-lock on the  [...]
+    "readLockCheckInterval": { "index": 83, "kind": "parameter", "displayName": "Read Lock Check Interval", "group": "lock", "label": "consumer,lock", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 1000, "description": "Interval in millis for the read-lock, if supported by the read lock. This interval is used for sleeping between attempts to acquire the read lock. For example when using the changed read  [...]
+    "readLockDeleteOrphanLockFiles": { "index": 84, "kind": "parameter", "displayName": "Read Lock Delete Orphan Lock Files", "group": "lock", "label": "consumer,lock", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether or not read lock with marker files should upon startup delete any orphan read lock files, which may have been left on the file system, if Camel was not proper [...]
+    "readLockIdempotentReleaseAsync": { "index": 85, "kind": "parameter", "displayName": "Read Lock Idempotent Release Async", "group": "lock", "label": "consumer,lock", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the delayed release task should be synchronous or asynchronous. See more details at the readLockIdempotentReleaseDelay option." },
+    "readLockIdempotentReleaseAsyncPoolSize": { "index": 86, "kind": "parameter", "displayName": "Read Lock Idempotent Release Async Pool Size", "group": "lock", "label": "consumer,lock", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "description": "The number of threads in the scheduled thread pool when using asynchronous release tasks. Using a default of 1 core threads should be sufficient in almost all use-cases, onl [...]
+    "readLockIdempotentReleaseDelay": { "index": 87, "kind": "parameter", "displayName": "Read Lock Idempotent Release Delay", "group": "lock", "label": "consumer,lock", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "description": "Whether to delay the release task for a period of millis. This can be used to delay the release tasks to expand the window when a file is regarded as read-locked, in an active\/active cluster [...]
+    "readLockIdempotentReleaseExecutorService": { "index": 88, "kind": "parameter", "displayName": "Read Lock Idempotent Release Executor Service", "group": "lock", "label": "consumer,lock", "required": false, "type": "object", "javaType": "java.util.concurrent.ScheduledExecutorService", "deprecated": false, "autowired": false, "secret": false, "description": "To use a custom and shared thread pool for asynchronous release tasks. See more details at the readLockIdempotentReleaseDelay opt [...]
+    "readLockLoggingLevel": { "index": 89, "kind": "parameter", "displayName": "Read Lock Logging Level", "group": "lock", "label": "consumer,lock", "required": false, "type": "object", "javaType": "org.apache.camel.LoggingLevel", "enum": [ "TRACE", "DEBUG", "INFO", "WARN", "ERROR", "OFF" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "DEBUG", "description": "Logging level used when a read lock could not be acquired. By default a DEBUG is logged. You can cha [...]
+    "readLockMarkerFile": { "index": 90, "kind": "parameter", "displayName": "Read Lock Marker File", "group": "lock", "label": "consumer,lock", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether to use marker file with the changed, rename, or exclusive read lock types. By default a marker file is used as well to guard against other processes picking up the same files. This b [...]
+    "readLockMinAge": { "index": 91, "kind": "parameter", "displayName": "Read Lock Min Age", "group": "lock", "label": "consumer,lock", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 0, "description": "This option is applied only for readLock=changed. It allows to specify a minimum age the file must be before attempting to acquire the read lock. For example use readLockMinAge=300s to require the file is [...]
+    "readLockMinLength": { "index": 92, "kind": "parameter", "displayName": "Read Lock Min Length", "group": "lock", "label": "consumer,lock", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 1, "description": "This option is applied only for readLock=changed. It allows you to configure a minimum file length. By default Camel expects the file to contain data, and thus the default value is 1. You can set th [...]
+    "readLockRemoveOnCommit": { "index": 93, "kind": "parameter", "displayName": "Read Lock Remove On Commit", "group": "lock", "label": "consumer,lock", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "This option is applied only for readLock=idempotent. It allows to specify whether to remove the file name entry from the idempotent repository when processing the file is succeeded [...]
+    "readLockRemoveOnRollback": { "index": 94, "kind": "parameter", "displayName": "Read Lock Remove On Rollback", "group": "lock", "label": "consumer,lock", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "This option is applied only for readLock=idempotent. It allows to specify whether to remove the file name entry from the idempotent repository when processing the file failed an [...]
+    "readLockTimeout": { "index": 95, "kind": "parameter", "displayName": "Read Lock Timeout", "group": "lock", "label": "consumer,lock", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 10000, "description": "Optional timeout in millis for the read-lock, if supported by the read-lock. If the read-lock could not be granted and the timeout triggered, then Camel will skip the file. At next poll Camel, will t [...]
+    "backoffErrorThreshold": { "index": 96, "kind": "parameter", "displayName": "Backoff Error Threshold", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "description": "The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in." },
+    "backoffIdleThreshold": { "index": 97, "kind": "parameter", "displayName": "Backoff Idle Threshold", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "description": "The number of subsequent idle polls that should happen before the backoffMultipler should kick-in." },
+    "backoffMultiplier": { "index": 98, "kind": "parameter", "displayName": "Backoff Multiplier", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "description": "To let the scheduled polling consumer backoff if there has been a number of subsequent idles\/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is h [...]
+    "delay": { "index": 99, "kind": "parameter", "displayName": "Delay", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 500, "description": "Milliseconds before the next poll." },
+    "greedy": { "index": 100, "kind": "parameter", "displayName": "Greedy", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages." },
+    "initialDelay": { "index": 101, "kind": "parameter", "displayName": "Initial Delay", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 1000, "description": "Milliseconds before the first poll starts." },
+    "repeatCount": { "index": 102, "kind": "parameter", "displayName": "Repeat Count", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 0, "description": "Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only fire once. If you set it to 5, it will only fire five times. A value of zero or negative means fire forever." },
+    "runLoggingLevel": { "index": 103, "kind": "parameter", "displayName": "Run Logging Level", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "object", "javaType": "org.apache.camel.LoggingLevel", "enum": [ "TRACE", "DEBUG", "INFO", "WARN", "ERROR", "OFF" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "TRACE", "description": "The consumer logs a start\/complete log line when it polls. This option allows you to configure the  [...]
+    "scheduledExecutorService": { "index": 104, "kind": "parameter", "displayName": "Scheduled Executor Service", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "object", "javaType": "java.util.concurrent.ScheduledExecutorService", "deprecated": false, "autowired": false, "secret": false, "description": "Allows for configuring a custom\/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool." },
+    "scheduler": { "index": 105, "kind": "parameter", "displayName": "Scheduler", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "object", "javaType": "java.lang.Object", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "none", "description": "To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler" },
+    "schedulerProperties": { "index": 106, "kind": "parameter", "displayName": "Scheduler Properties", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "object", "javaType": "java.util.Map<java.lang.String, java.lang.Object>", "prefix": "scheduler.", "multiValue": true, "deprecated": false, "autowired": false, "secret": false, "description": "To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler." },
+    "startScheduler": { "index": 107, "kind": "parameter", "displayName": "Start Scheduler", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether the scheduler should be auto started." },
+    "timeUnit": { "index": 108, "kind": "parameter", "displayName": "Time Unit", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "object", "javaType": "java.util.concurrent.TimeUnit", "enum": [ "NANOSECONDS", "MICROSECONDS", "MILLISECONDS", "SECONDS", "MINUTES", "HOURS", "DAYS" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "MILLISECONDS", "description": "Time unit for initialDelay and delay options." },
+    "useFixedDelay": { "index": 109, "kind": "parameter", "displayName": "Use Fixed Delay", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details." },
+    "ciphers": { "index": 110, "kind": "parameter", "displayName": "Ciphers", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.file.remote.SftpConfiguration", "configurationField": "configuration", "description": "Set a comma separated list of ciphers that will be used in order of preference. Possible cipher names are de [...]
+    "keyExchangeProtocols": { "index": 111, "kind": "parameter", "displayName": "Key Exchange Protocols", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.file.remote.SftpConfiguration", "configurationField": "configuration", "description": "Set a comma separated list of key exchange protocols that will be used in order  [...]
+    "keyPair": { "index": 112, "kind": "parameter", "displayName": "Key Pair", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "java.security.KeyPair", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.file.remote.SftpConfiguration", "configurationField": "configuration", "description": "Sets a key pair of the public and private key so to that the SFTP endpoint can do public\/private key v [...]
+    "knownHosts": { "index": 113, "kind": "parameter", "displayName": "Known Hosts", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "byte[]", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.file.remote.SftpConfiguration", "configurationField": "configuration", "description": "Sets the known_hosts from the byte array, so that the SFTP endpoint can do host key verification." },
+    "knownHostsFile": { "index": 114, "kind": "parameter", "displayName": "Known Hosts File", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.file.remote.SftpConfiguration", "configurationField": "configuration", "description": "Sets the known_hosts file, so that the SFTP endpoint can do host key verification." },
+    "knownHostsUri": { "index": 115, "kind": "parameter", "displayName": "Known Hosts Uri", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": true, "supportFileReference": true, "configurationClass": "org.apache.camel.component.file.remote.SftpConfiguration", "configurationField": "configuration", "description": "Sets the known_hosts file (loaded from cla [...]
+    "password": { "index": 116, "kind": "parameter", "displayName": "Password", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.file.remote.SftpConfiguration", "configurationField": "configuration", "description": "Password to use for login" },
+    "preferredAuthentications": { "index": 117, "kind": "parameter", "displayName": "Preferred Authentications", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.file.remote.SftpConfiguration", "configurationField": "configuration", "description": "Set the preferred authentications which SFTP endpoint will used. Some exa [...]
+    "privateKey": { "index": 118, "kind": "parameter", "displayName": "Private Key", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "byte[]", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.file.remote.SftpConfiguration", "configurationField": "configuration", "description": "Set the private key as byte so that the SFTP endpoint can do private key verification." },
+    "privateKeyFile": { "index": 119, "kind": "parameter", "displayName": "Private Key File", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.file.remote.SftpConfiguration", "configurationField": "configuration", "description": "Set the private key file so that the SFTP endpoint can do private key verification." },
+    "privateKeyPassphrase": { "index": 120, "kind": "parameter", "displayName": "Private Key Passphrase", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.file.remote.SftpConfiguration", "configurationField": "configuration", "description": "Set the private key file passphrase so that the SFTP endpoint can do private key  [...]
+    "privateKeyUri": { "index": 121, "kind": "parameter", "displayName": "Private Key Uri", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": true, "supportFileReference": true, "configurationClass": "org.apache.camel.component.file.remote.SftpConfiguration", "configurationField": "configuration", "description": "Set the private key file (loaded from clas [...]
+    "publicKeyAcceptedAlgorithms": { "index": 122, "kind": "parameter", "displayName": "Public Key Accepted Algorithms", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.file.remote.SftpConfiguration", "configurationField": "configuration", "description": "Set a comma separated list of public key accepted algorithms. Som [...]
+    "serverHostKeys": { "index": 123, "kind": "parameter", "displayName": "Server Host Keys", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.file.remote.SftpConfiguration", "configurationField": "configuration", "description": "Set a comma separated list of algorithms supported for the server host key. Some examples in [...]
+    "strictHostKeyChecking": { "index": 124, "kind": "parameter", "displayName": "Strict Host Key Checking", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "enum": [ "no", "yes" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "no", "configurationClass": "org.apache.camel.component.file.remote.SftpConfiguration", "configurationField": "configuration", "description": "Sets whether to use strict hos [...]
+    "username": { "index": 125, "kind": "parameter", "displayName": "Username", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.file.remote.SftpConfiguration", "configurationField": "configuration", "description": "Username to use for login" },
+    "useUserKnownHostsFile": { "index": 126, "kind": "parameter", "displayName": "Use User Known Hosts File", "group": "security", "label": "security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.file.remote.SftpConfiguration", "configurationField": "configuration", "description": "If knownHostFile has not been explicit configured then use the [...]
+    "shuffle": { "index": 127, "kind": "parameter", "displayName": "Shuffle", "group": "sort", "label": "consumer,sort", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "To shuffle the list of files (sort in random order)" },
+    "sortBy": { "index": 128, "kind": "parameter", "displayName": "Sort By", "group": "sort", "label": "consumer,sort", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Built-in sort by using the File Language. Supports nested sorts, so you can have a sort by file name and as a 2nd group sort by modified date." },
+    "sorter": { "index": 129, "kind": "parameter", "displayName": "Sorter", "group": "sort", "label": "consumer,sort", "required": false, "type": "object", "javaType": "java.util.Comparator<org.apache.camel.component.file.GenericFile<org.apache.camel.component.file.remote.SftpRemoteFile>>", "deprecated": false, "autowired": false, "secret": false, "description": "Pluggable sorter as a java.util.Comparator class." }
   }
 }
diff --git a/components/camel-azure/camel-azure-files/src/generated/java/org/apache/camel/component/file/azure/FilesEndpointConfigurer.java b/components/camel-azure/camel-azure-files/src/generated/java/org/apache/camel/component/file/azure/FilesEndpointConfigurer.java
index c2cda8375e6..a94a5995da9 100644
--- a/components/camel-azure/camel-azure-files/src/generated/java/org/apache/camel/component/file/azure/FilesEndpointConfigurer.java
+++ b/components/camel-azure/camel-azure-files/src/generated/java/org/apache/camel/component/file/azure/FilesEndpointConfigurer.java
@@ -39,6 +39,8 @@ public class FilesEndpointConfigurer extends PropertyConfigurerSupport implement
         case "backoffMultiplier": target.setBackoffMultiplier(property(camelContext, int.class, value)); return true;
         case "bridgeerrorhandler":
         case "bridgeErrorHandler": target.setBridgeErrorHandler(property(camelContext, boolean.class, value)); return true;
+        case "checksumfilealgorithm":
+        case "checksumFileAlgorithm": target.setChecksumFileAlgorithm(property(camelContext, java.lang.String.class, value)); return true;
         case "connecttimeout":
         case "connectTimeout": target.getConfiguration().setConnectTimeout(property(camelContext, int.class, value)); return true;
         case "delay": target.setDelay(property(camelContext, long.class, value)); return true;
@@ -211,6 +213,8 @@ public class FilesEndpointConfigurer extends PropertyConfigurerSupport implement
         case "backoffMultiplier": return int.class;
         case "bridgeerrorhandler":
         case "bridgeErrorHandler": return boolean.class;
+        case "checksumfilealgorithm":
+        case "checksumFileAlgorithm": return java.lang.String.class;
         case "connecttimeout":
         case "connectTimeout": return int.class;
         case "delay": return long.class;
@@ -384,6 +388,8 @@ public class FilesEndpointConfigurer extends PropertyConfigurerSupport implement
         case "backoffMultiplier": return target.getBackoffMultiplier();
         case "bridgeerrorhandler":
         case "bridgeErrorHandler": return target.isBridgeErrorHandler();
+        case "checksumfilealgorithm":
+        case "checksumFileAlgorithm": return target.getChecksumFileAlgorithm();
         case "connecttimeout":
         case "connectTimeout": return target.getConfiguration().getConnectTimeout();
         case "delay": return target.getDelay();
diff --git a/components/camel-azure/camel-azure-files/src/generated/java/org/apache/camel/component/file/azure/FilesEndpointUriFactory.java b/components/camel-azure/camel-azure-files/src/generated/java/org/apache/camel/component/file/azure/FilesEndpointUriFactory.java
index d6ad267770f..ff47793913d 100644
--- a/components/camel-azure/camel-azure-files/src/generated/java/org/apache/camel/component/file/azure/FilesEndpointUriFactory.java
+++ b/components/camel-azure/camel-azure-files/src/generated/java/org/apache/camel/component/file/azure/FilesEndpointUriFactory.java
@@ -21,7 +21,7 @@ public class FilesEndpointUriFactory extends org.apache.camel.support.component.
     private static final Set<String> SECRET_PROPERTY_NAMES;
     private static final Set<String> MULTI_VALUE_PREFIXES;
     static {
-        Set<String> props = new HashSet<>(101);
+        Set<String> props = new HashSet<>(102);
         props.add("account");
         props.add("allowNullBody");
         props.add("antExclude");
@@ -32,6 +32,7 @@ public class FilesEndpointUriFactory extends org.apache.camel.support.component.
         props.add("backoffIdleThreshold");
         props.add("backoffMultiplier");
         props.add("bridgeErrorHandler");
+        props.add("checksumFileAlgorithm");
         props.add("connectTimeout");
         props.add("delay");
         props.add("delete");
diff --git a/components/camel-azure/camel-azure-files/src/generated/resources/org/apache/camel/component/file/azure/azure-files.json b/components/camel-azure/camel-azure-files/src/generated/resources/org/apache/camel/component/file/azure/azure-files.json
index bc871ef79ed..a5bf806001e 100644
--- a/components/camel-azure/camel-azure-files/src/generated/resources/org/apache/camel/component/file/azure/azure-files.json
+++ b/components/camel-azure/camel-azure-files/src/generated/resources/org/apache/camel/component/file/azure/azure-files.json
@@ -64,81 +64,82 @@
     "onCompletionExceptionHandler": { "index": 22, "kind": "parameter", "displayName": "On Completion Exception Handler", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "object", "javaType": "org.apache.camel.spi.ExceptionHandler", "deprecated": false, "autowired": false, "secret": false, "description": "To use a custom org.apache.camel.spi.ExceptionHandler to handle any thrown exceptions that happens during the file on completion process where t [...]
     "pollStrategy": { "index": 23, "kind": "parameter", "displayName": "Poll Strategy", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "object", "javaType": "org.apache.camel.spi.PollingConsumerPollStrategy", "deprecated": false, "autowired": false, "secret": false, "description": "A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the po [...]
     "processStrategy": { "index": 24, "kind": "parameter", "displayName": "Process Strategy", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "object", "javaType": "org.apache.camel.component.file.GenericFileProcessStrategy<com.azure.storage.file.share.models.ShareFileItem>", "deprecated": false, "autowired": false, "secret": false, "description": "A pluggable org.apache.camel.component.file.GenericFileProcessStrategy allowing you to implement you [...]
-    "fileExist": { "index": 25, "kind": "parameter", "displayName": "File Exist", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "org.apache.camel.component.file.GenericFileExist", "enum": [ "Override", "Append", "Fail", "Ignore", "Move", "TryRename" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "Override", "description": "What to do if a file already exists with the same name. Override, which is the default, repl [...]
-    "flatten": { "index": 26, "kind": "parameter", "displayName": "Flatten", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Flatten is used to flatten the file name path to strip any leading paths, so it's just the file name. This allows you to consume recursively into sub-directories, but when you eg write the files to another directory [...]
-    "jailStartingDirectory": { "index": 27, "kind": "parameter", "displayName": "Jail Starting Directory", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Used for jailing (restricting) writing files to the starting directory (and sub) only. This is enabled by default to not allow Camel to write files to outside directories (to be more sec [...]
-    "tempFileName": { "index": 28, "kind": "parameter", "displayName": "Temp File Name", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "The same as tempPrefix option but offering a more fine grained control on the naming of the temporary filename as it uses the File Language. The location for tempFilename is relative to the final file location in the o [...]
-    "tempPrefix": { "index": 29, "kind": "parameter", "displayName": "Temp Prefix", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "This option is used to write the file using a temporary name and then, after the write is complete, rename it to the real name. Can be used to identify files being written and also avoid consumers (not using exclusive read  [...]
-    "allowNullBody": { "index": 30, "kind": "parameter", "displayName": "Allow Null Body", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Used to specify if a null body is allowed during file writing. If set to true then an empty file will be created, when set to false, and attempting to send a null body to the file c [...]
-    "disconnectOnBatchComplete": { "index": 31, "kind": "parameter", "displayName": "Disconnect On Batch Complete", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether or not to disconnect from remote FTP server right after a Batch upload is complete. disconnectOnBatchComplete will only disconnect the current conne [...]
-    "eagerDeleteTargetFile": { "index": 32, "kind": "parameter", "displayName": "Eager Delete Target File", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether or not to eagerly delete any existing target file. This option only applies when you use fileExists=Override and the tempFileName option as well. You can use [...]
-    "keepLastModified": { "index": 33, "kind": "parameter", "displayName": "Keep Last Modified", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Will keep the last modified timestamp from the source file (if any). Will use the FileConstants.FILE_LAST_MODIFIED header to located the timestamp. This header can contain eit [...]
-    "lazyStartProducer": { "index": 34, "kind": "parameter", "displayName": "Lazy Start Producer", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a produ [...]
-    "moveExistingFileStrategy": { "index": 35, "kind": "parameter", "displayName": "Move Existing File Strategy", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "object", "javaType": "org.apache.camel.component.file.strategy.FileMoveExistingStrategy", "deprecated": false, "autowired": false, "secret": false, "description": "Strategy (Custom Strategy) used to move file with special naming token to use when fileExist=Move is configured. By default, [...]
-    "autoCreate": { "index": 36, "kind": "parameter", "displayName": "Auto Create", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Automatically create missing directories in the file's pathname. For the file consumer, that means creating the starting directory. For the file producer, it means the directory the files should be written to." },
-    "connectTimeout": { "index": 37, "kind": "parameter", "displayName": "Connect Timeout", "group": "advanced", "label": "advanced", "required": false, "type": "duration", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "10000", "configurationClass": "org.apache.camel.component.file.azure.FilesConfiguration", "configurationField": "configuration", "description": "Sets the connect timeout for waiting for a connection to be established Used by  [...]
-    "maximumReconnectAttempts": { "index": 38, "kind": "parameter", "displayName": "Maximum Reconnect Attempts", "group": "advanced", "label": "advanced", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "description": "Specifies the maximum reconnect attempts Camel performs when it tries to connect to the remote FTP server. Use 0 to disable this behavior." },
-    "reconnectDelay": { "index": 39, "kind": "parameter", "displayName": "Reconnect Delay", "group": "advanced", "label": "advanced", "required": false, "type": "duration", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "1000", "description": "Delay in millis Camel will wait before performing a reconnect attempt." },
-    "throwExceptionOnConnectFailed": { "index": 40, "kind": "parameter", "displayName": "Throw Exception On Connect Failed", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.file.azure.FilesConfiguration", "configurationField": "configuration", "description": "Should an exception be thrown if connection fa [...]
-    "timeout": { "index": 41, "kind": "parameter", "displayName": "Timeout", "group": "advanced", "label": "advanced", "required": false, "type": "duration", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "30000", "configurationClass": "org.apache.camel.component.file.azure.FilesConfiguration", "configurationField": "configuration", "description": "Sets the data timeout for waiting for reply Used only by FTPClient" },
-    "sharedKey": { "index": 42, "kind": "parameter", "displayName": "Shared Key", "group": "both", "label": "both", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.file.azure.FilesConfiguration", "configurationField": "configuration", "description": "Shared key (storage account key)" },
-    "antExclude": { "index": 43, "kind": "parameter", "displayName": "Ant Exclude", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Ant style filter exclusion. If both antInclude and antExclude are used, antExclude takes precedence over antInclude. Multiple exclusions may be specified in comma-delimited format." },
-    "antFilterCaseSensitive": { "index": 44, "kind": "parameter", "displayName": "Ant Filter Case Sensitive", "group": "filter", "label": "consumer,filter", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Sets case sensitive flag on ant filter." },
-    "antInclude": { "index": 45, "kind": "parameter", "displayName": "Ant Include", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Ant style filter inclusion. Multiple inclusions may be specified in comma-delimited format." },
-    "eagerMaxMessagesPerPoll": { "index": 46, "kind": "parameter", "displayName": "Eager Max Messages Per Poll", "group": "filter", "label": "consumer,filter", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Allows for controlling whether the limit from maxMessagesPerPoll is eager or not. If eager then the limit is during the scanning of files. Where as false would scan all files, [...]
-    "exclude": { "index": 47, "kind": "parameter", "displayName": "Exclude", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Is used to exclude files, if filename matches the regex pattern (matching is case in-sensitive). Notice if you use symbols such as plus sign and others you would need to configure this using the RAW() syntax if configuring th [...]
-    "excludeExt": { "index": 48, "kind": "parameter", "displayName": "Exclude Ext", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Is used to exclude files matching file extension name (case insensitive). For example to exclude bak files, then use excludeExt=bak. Multiple extensions can be separated by comma, for example to exclude bak and dat fil [...]
-    "filter": { "index": 49, "kind": "parameter", "displayName": "Filter", "group": "filter", "label": "consumer,filter", "required": false, "type": "object", "javaType": "org.apache.camel.component.file.GenericFileFilter<com.azure.storage.file.share.models.ShareFileItem>", "deprecated": false, "autowired": false, "secret": false, "description": "Pluggable filter as a org.apache.camel.component.file.GenericFileFilter class. Will skip files if filter returns false in its accept() method." },
-    "filterDirectory": { "index": 50, "kind": "parameter", "displayName": "Filter Directory", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Filters the directory based on Simple language. For example to filter on current date, you can use a simple date pattern such as ${date:now:yyyMMdd}" },
-    "filterFile": { "index": 51, "kind": "parameter", "displayName": "Filter File", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Filters the file based on Simple language. For example to filter on file size, you can use ${file:size} 5000" },
-    "idempotent": { "index": 52, "kind": "parameter", "displayName": "Idempotent", "group": "filter", "label": "consumer,filter", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "false", "description": "Option to use the Idempotent Consumer EIP pattern to let Camel skip already processed files. Will by default use a memory based LRUCache that holds 1000 entries. If noop=true then idempotent w [...]
-    "idempotentKey": { "index": 53, "kind": "parameter", "displayName": "Idempotent Key", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "To use a custom idempotent key. By default the absolute path of the file is used. You can use the File Language, for example to use the file name and file size, you can do: idempotentKey=${file:name}-${file:size}" },
-    "idempotentRepository": { "index": 54, "kind": "parameter", "displayName": "Idempotent Repository", "group": "filter", "label": "consumer,filter", "required": false, "type": "object", "javaType": "org.apache.camel.spi.IdempotentRepository", "deprecated": false, "autowired": false, "secret": false, "description": "A pluggable repository org.apache.camel.spi.IdempotentRepository which by default use MemoryIdempotentRepository if none is specified and idempotent is true." },
-    "include": { "index": 55, "kind": "parameter", "displayName": "Include", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Is used to include files, if filename matches the regex pattern (matching is case in-sensitive). Notice if you use symbols such as plus sign and others you would need to configure this using the RAW() syntax if configuring th [...]
-    "includeExt": { "index": 56, "kind": "parameter", "displayName": "Include Ext", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Is used to include files matching file extension name (case insensitive). For example to include txt files, then use includeExt=txt. Multiple extensions can be separated by comma, for example to include txt and xml fil [...]
-    "maxDepth": { "index": 57, "kind": "parameter", "displayName": "Max Depth", "group": "filter", "label": "consumer,filter", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 2147483647, "description": "The maximum depth to traverse when recursively processing a directory." },
-    "maxMessagesPerPoll": { "index": 58, "kind": "parameter", "displayName": "Max Messages Per Poll", "group": "filter", "label": "consumer,filter", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "description": "To define a maximum messages to gather per poll. By default no maximum is set. Can be used to set a limit of e.g. 1000 to avoid when starting up the server that there are thousands of files. Set a value of 0 or n [...]
-    "minDepth": { "index": 59, "kind": "parameter", "displayName": "Min Depth", "group": "filter", "label": "consumer,filter", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "description": "The minimum depth to start processing when recursively processing a directory. Using minDepth=1 means the base directory. Using minDepth=2 means the first sub directory." },
-    "move": { "index": 60, "kind": "parameter", "displayName": "Move", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Expression (such as Simple Language) used to dynamically set the filename when moving it after processing. To move files into a .done subdirectory just enter .done." },
-    "exclusiveReadLockStrategy": { "index": 61, "kind": "parameter", "displayName": "Exclusive Read Lock Strategy", "group": "lock", "label": "consumer,lock", "required": false, "type": "object", "javaType": "org.apache.camel.component.file.GenericFileExclusiveReadLockStrategy<com.azure.storage.file.share.models.ShareFileItem>", "deprecated": false, "autowired": false, "secret": false, "description": "Pluggable read-lock as a org.apache.camel.component.file.GenericFileExclusiveReadLockSt [...]
-    "readLock": { "index": 62, "kind": "parameter", "displayName": "Read Lock", "group": "lock", "label": "consumer,lock", "required": false, "type": "string", "javaType": "java.lang.String", "enum": [ "none", "markerFile", "fileLock", "rename", "changed", "idempotent", "idempotent-changed", "idempotent-rename" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "none", "description": "Used by consumer, to only poll the files if it has exclusive read-lock on the  [...]
-    "readLockCheckInterval": { "index": 63, "kind": "parameter", "displayName": "Read Lock Check Interval", "group": "lock", "label": "consumer,lock", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 1000, "description": "Interval in millis for the read-lock, if supported by the read lock. This interval is used for sleeping between attempts to acquire the read lock. For example when using the changed read  [...]
-    "readLockDeleteOrphanLockFiles": { "index": 64, "kind": "parameter", "displayName": "Read Lock Delete Orphan Lock Files", "group": "lock", "label": "consumer,lock", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether or not read lock with marker files should upon startup delete any orphan read lock files, which may have been left on the file system, if Camel was not proper [...]
-    "readLockLoggingLevel": { "index": 65, "kind": "parameter", "displayName": "Read Lock Logging Level", "group": "lock", "label": "consumer,lock", "required": false, "type": "object", "javaType": "org.apache.camel.LoggingLevel", "enum": [ "TRACE", "DEBUG", "INFO", "WARN", "ERROR", "OFF" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "DEBUG", "description": "Logging level used when a read lock could not be acquired. By default a DEBUG is logged. You can cha [...]
-    "readLockMarkerFile": { "index": 66, "kind": "parameter", "displayName": "Read Lock Marker File", "group": "lock", "label": "consumer,lock", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether to use marker file with the changed, rename, or exclusive read lock types. By default a marker file is used as well to guard against other processes picking up the same files. This b [...]
-    "readLockMinAge": { "index": 67, "kind": "parameter", "displayName": "Read Lock Min Age", "group": "lock", "label": "consumer,lock", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 0, "description": "This option is applied only for readLock=changed. It allows to specify a minimum age the file must be before attempting to acquire the read lock. For example use readLockMinAge=300s to require the file is [...]
-    "readLockMinLength": { "index": 68, "kind": "parameter", "displayName": "Read Lock Min Length", "group": "lock", "label": "consumer,lock", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 1, "description": "This option is applied only for readLock=changed. It allows you to configure a minimum file length. By default Camel expects the file to contain data, and thus the default value is 1. You can set th [...]
-    "readLockRemoveOnCommit": { "index": 69, "kind": "parameter", "displayName": "Read Lock Remove On Commit", "group": "lock", "label": "consumer,lock", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "This option is applied only for readLock=idempotent. It allows to specify whether to remove the file name entry from the idempotent repository when processing the file is succeeded [...]
-    "readLockRemoveOnRollback": { "index": 70, "kind": "parameter", "displayName": "Read Lock Remove On Rollback", "group": "lock", "label": "consumer,lock", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "This option is applied only for readLock=idempotent. It allows to specify whether to remove the file name entry from the idempotent repository when processing the file failed an [...]
-    "readLockTimeout": { "index": 71, "kind": "parameter", "displayName": "Read Lock Timeout", "group": "lock", "label": "consumer,lock", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 10000, "description": "Optional timeout in millis for the read-lock, if supported by the read-lock. If the read-lock could not be granted and the timeout triggered, then Camel will skip the file. At next poll Camel, will t [...]
-    "backoffErrorThreshold": { "index": 72, "kind": "parameter", "displayName": "Backoff Error Threshold", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "description": "The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in." },
-    "backoffIdleThreshold": { "index": 73, "kind": "parameter", "displayName": "Backoff Idle Threshold", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "description": "The number of subsequent idle polls that should happen before the backoffMultipler should kick-in." },
-    "backoffMultiplier": { "index": 74, "kind": "parameter", "displayName": "Backoff Multiplier", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "description": "To let the scheduled polling consumer backoff if there has been a number of subsequent idles\/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is h [...]
-    "delay": { "index": 75, "kind": "parameter", "displayName": "Delay", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 500, "description": "Milliseconds before the next poll." },
-    "greedy": { "index": 76, "kind": "parameter", "displayName": "Greedy", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages." },
-    "initialDelay": { "index": 77, "kind": "parameter", "displayName": "Initial Delay", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 1000, "description": "Milliseconds before the first poll starts." },
-    "repeatCount": { "index": 78, "kind": "parameter", "displayName": "Repeat Count", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 0, "description": "Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only fire once. If you set it to 5, it will only fire five times. A value of zero or negative means fire forever." },
-    "runLoggingLevel": { "index": 79, "kind": "parameter", "displayName": "Run Logging Level", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "object", "javaType": "org.apache.camel.LoggingLevel", "enum": [ "TRACE", "DEBUG", "INFO", "WARN", "ERROR", "OFF" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "TRACE", "description": "The consumer logs a start\/complete log line when it polls. This option allows you to configure the l [...]
-    "scheduledExecutorService": { "index": 80, "kind": "parameter", "displayName": "Scheduled Executor Service", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "object", "javaType": "java.util.concurrent.ScheduledExecutorService", "deprecated": false, "autowired": false, "secret": false, "description": "Allows for configuring a custom\/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool." },
-    "scheduler": { "index": 81, "kind": "parameter", "displayName": "Scheduler", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "object", "javaType": "java.lang.Object", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "none", "description": "To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler" },
-    "schedulerProperties": { "index": 82, "kind": "parameter", "displayName": "Scheduler Properties", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "object", "javaType": "java.util.Map<java.lang.String, java.lang.Object>", "prefix": "scheduler.", "multiValue": true, "deprecated": false, "autowired": false, "secret": false, "description": "To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler." },
-    "startScheduler": { "index": 83, "kind": "parameter", "displayName": "Start Scheduler", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether the scheduler should be auto started." },
-    "timeUnit": { "index": 84, "kind": "parameter", "displayName": "Time Unit", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "object", "javaType": "java.util.concurrent.TimeUnit", "enum": [ "NANOSECONDS", "MICROSECONDS", "MILLISECONDS", "SECONDS", "MINUTES", "HOURS", "DAYS" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "MILLISECONDS", "description": "Time unit for initialDelay and delay options." },
-    "useFixedDelay": { "index": 85, "kind": "parameter", "displayName": "Use Fixed Delay", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details." },
-    "sdd": { "index": 86, "kind": "parameter", "displayName": "Sdd", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.file.azure.FilesToken", "configurationField": "token", "description": "part of service SAS token" },
-    "se": { "index": 87, "kind": "parameter", "displayName": "Se", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.file.azure.FilesToken", "configurationField": "token", "description": "part of SAS token" },
-    "si": { "index": 88, "kind": "parameter", "displayName": "Si", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.file.azure.FilesToken", "configurationField": "token", "description": "part of service SAS token" },
-    "sig": { "index": 89, "kind": "parameter", "displayName": "Sig", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.file.azure.FilesToken", "configurationField": "token", "description": "part of SAS token" },
-    "sip": { "index": 90, "kind": "parameter", "displayName": "Sip", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.file.azure.FilesToken", "configurationField": "token", "description": "part of SAS token" },
-    "sp": { "index": 91, "kind": "parameter", "displayName": "Sp", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.file.azure.FilesToken", "configurationField": "token", "description": "part of SAS token" },
-    "spr": { "index": 92, "kind": "parameter", "displayName": "Spr", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.file.azure.FilesToken", "configurationField": "token", "description": "part of SAS token" },
-    "sr": { "index": 93, "kind": "parameter", "displayName": "Sr", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.file.azure.FilesToken", "configurationField": "token", "description": "part of service SAS token" },
-    "srt": { "index": 94, "kind": "parameter", "displayName": "Srt", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.file.azure.FilesToken", "configurationField": "token", "description": "part of SAS token" },
-    "ss": { "index": 95, "kind": "parameter", "displayName": "Ss", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.file.azure.FilesToken", "configurationField": "token", "description": "part of account SAS token" },
-    "st": { "index": 96, "kind": "parameter", "displayName": "St", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.file.azure.FilesToken", "configurationField": "token", "description": "part of SAS token" },
-    "sv": { "index": 97, "kind": "parameter", "displayName": "Sv", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.file.azure.FilesToken", "configurationField": "token", "description": "part of SAS token" },
-    "shuffle": { "index": 98, "kind": "parameter", "displayName": "Shuffle", "group": "sort", "label": "consumer,sort", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "To shuffle the list of files (sort in random order)" },
-    "sortBy": { "index": 99, "kind": "parameter", "displayName": "Sort By", "group": "sort", "label": "consumer,sort", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Built-in sort by using the File Language. Supports nested sorts, so you can have a sort by file name and as a 2nd group sort by modified date." },
-    "sorter": { "index": 100, "kind": "parameter", "displayName": "Sorter", "group": "sort", "label": "consumer,sort", "required": false, "type": "object", "javaType": "java.util.Comparator<org.apache.camel.component.file.GenericFile<com.azure.storage.file.share.models.ShareFileItem>>", "deprecated": false, "autowired": false, "secret": false, "description": "Pluggable sorter as a java.util.Comparator class." }
+    "checksumFileAlgorithm": { "index": 25, "kind": "parameter", "displayName": "Checksum File Algorithm", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "If provided, then Camel will write a checksum file when the original file has been written. The checksum file will contain the checksum created with the provided algorithm for the original file. The c [...]
+    "fileExist": { "index": 26, "kind": "parameter", "displayName": "File Exist", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "org.apache.camel.component.file.GenericFileExist", "enum": [ "Override", "Append", "Fail", "Ignore", "Move", "TryRename" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "Override", "description": "What to do if a file already exists with the same name. Override, which is the default, repl [...]
+    "flatten": { "index": 27, "kind": "parameter", "displayName": "Flatten", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Flatten is used to flatten the file name path to strip any leading paths, so it's just the file name. This allows you to consume recursively into sub-directories, but when you eg write the files to another directory [...]
+    "jailStartingDirectory": { "index": 28, "kind": "parameter", "displayName": "Jail Starting Directory", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Used for jailing (restricting) writing files to the starting directory (and sub) only. This is enabled by default to not allow Camel to write files to outside directories (to be more sec [...]
+    "tempFileName": { "index": 29, "kind": "parameter", "displayName": "Temp File Name", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "The same as tempPrefix option but offering a more fine grained control on the naming of the temporary filename as it uses the File Language. The location for tempFilename is relative to the final file location in the o [...]
+    "tempPrefix": { "index": 30, "kind": "parameter", "displayName": "Temp Prefix", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "This option is used to write the file using a temporary name and then, after the write is complete, rename it to the real name. Can be used to identify files being written and also avoid consumers (not using exclusive read  [...]
+    "allowNullBody": { "index": 31, "kind": "parameter", "displayName": "Allow Null Body", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Used to specify if a null body is allowed during file writing. If set to true then an empty file will be created, when set to false, and attempting to send a null body to the file c [...]
+    "disconnectOnBatchComplete": { "index": 32, "kind": "parameter", "displayName": "Disconnect On Batch Complete", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether or not to disconnect from remote FTP server right after a Batch upload is complete. disconnectOnBatchComplete will only disconnect the current conne [...]
+    "eagerDeleteTargetFile": { "index": 33, "kind": "parameter", "displayName": "Eager Delete Target File", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether or not to eagerly delete any existing target file. This option only applies when you use fileExists=Override and the tempFileName option as well. You can use [...]
+    "keepLastModified": { "index": 34, "kind": "parameter", "displayName": "Keep Last Modified", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Will keep the last modified timestamp from the source file (if any). Will use the FileConstants.FILE_LAST_MODIFIED header to located the timestamp. This header can contain eit [...]
+    "lazyStartProducer": { "index": 35, "kind": "parameter", "displayName": "Lazy Start Producer", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a produ [...]
+    "moveExistingFileStrategy": { "index": 36, "kind": "parameter", "displayName": "Move Existing File Strategy", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "object", "javaType": "org.apache.camel.component.file.strategy.FileMoveExistingStrategy", "deprecated": false, "autowired": false, "secret": false, "description": "Strategy (Custom Strategy) used to move file with special naming token to use when fileExist=Move is configured. By default, [...]
+    "autoCreate": { "index": 37, "kind": "parameter", "displayName": "Auto Create", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Automatically create missing directories in the file's pathname. For the file consumer, that means creating the starting directory. For the file producer, it means the directory the files should be written to." },
+    "connectTimeout": { "index": 38, "kind": "parameter", "displayName": "Connect Timeout", "group": "advanced", "label": "advanced", "required": false, "type": "duration", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "10000", "configurationClass": "org.apache.camel.component.file.azure.FilesConfiguration", "configurationField": "configuration", "description": "Sets the connect timeout for waiting for a connection to be established Used by  [...]
+    "maximumReconnectAttempts": { "index": 39, "kind": "parameter", "displayName": "Maximum Reconnect Attempts", "group": "advanced", "label": "advanced", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "description": "Specifies the maximum reconnect attempts Camel performs when it tries to connect to the remote FTP server. Use 0 to disable this behavior." },
+    "reconnectDelay": { "index": 40, "kind": "parameter", "displayName": "Reconnect Delay", "group": "advanced", "label": "advanced", "required": false, "type": "duration", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "1000", "description": "Delay in millis Camel will wait before performing a reconnect attempt." },
+    "throwExceptionOnConnectFailed": { "index": 41, "kind": "parameter", "displayName": "Throw Exception On Connect Failed", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.file.azure.FilesConfiguration", "configurationField": "configuration", "description": "Should an exception be thrown if connection fa [...]
+    "timeout": { "index": 42, "kind": "parameter", "displayName": "Timeout", "group": "advanced", "label": "advanced", "required": false, "type": "duration", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "30000", "configurationClass": "org.apache.camel.component.file.azure.FilesConfiguration", "configurationField": "configuration", "description": "Sets the data timeout for waiting for reply Used only by FTPClient" },
+    "sharedKey": { "index": 43, "kind": "parameter", "displayName": "Shared Key", "group": "both", "label": "both", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.file.azure.FilesConfiguration", "configurationField": "configuration", "description": "Shared key (storage account key)" },
+    "antExclude": { "index": 44, "kind": "parameter", "displayName": "Ant Exclude", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Ant style filter exclusion. If both antInclude and antExclude are used, antExclude takes precedence over antInclude. Multiple exclusions may be specified in comma-delimited format." },
+    "antFilterCaseSensitive": { "index": 45, "kind": "parameter", "displayName": "Ant Filter Case Sensitive", "group": "filter", "label": "consumer,filter", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Sets case sensitive flag on ant filter." },
+    "antInclude": { "index": 46, "kind": "parameter", "displayName": "Ant Include", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Ant style filter inclusion. Multiple inclusions may be specified in comma-delimited format." },
+    "eagerMaxMessagesPerPoll": { "index": 47, "kind": "parameter", "displayName": "Eager Max Messages Per Poll", "group": "filter", "label": "consumer,filter", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Allows for controlling whether the limit from maxMessagesPerPoll is eager or not. If eager then the limit is during the scanning of files. Where as false would scan all files, [...]
+    "exclude": { "index": 48, "kind": "parameter", "displayName": "Exclude", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Is used to exclude files, if filename matches the regex pattern (matching is case in-sensitive). Notice if you use symbols such as plus sign and others you would need to configure this using the RAW() syntax if configuring th [...]
+    "excludeExt": { "index": 49, "kind": "parameter", "displayName": "Exclude Ext", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Is used to exclude files matching file extension name (case insensitive). For example to exclude bak files, then use excludeExt=bak. Multiple extensions can be separated by comma, for example to exclude bak and dat fil [...]
+    "filter": { "index": 50, "kind": "parameter", "displayName": "Filter", "group": "filter", "label": "consumer,filter", "required": false, "type": "object", "javaType": "org.apache.camel.component.file.GenericFileFilter<com.azure.storage.file.share.models.ShareFileItem>", "deprecated": false, "autowired": false, "secret": false, "description": "Pluggable filter as a org.apache.camel.component.file.GenericFileFilter class. Will skip files if filter returns false in its accept() method." },
+    "filterDirectory": { "index": 51, "kind": "parameter", "displayName": "Filter Directory", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Filters the directory based on Simple language. For example to filter on current date, you can use a simple date pattern such as ${date:now:yyyMMdd}" },
+    "filterFile": { "index": 52, "kind": "parameter", "displayName": "Filter File", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Filters the file based on Simple language. For example to filter on file size, you can use ${file:size} 5000" },
+    "idempotent": { "index": 53, "kind": "parameter", "displayName": "Idempotent", "group": "filter", "label": "consumer,filter", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "false", "description": "Option to use the Idempotent Consumer EIP pattern to let Camel skip already processed files. Will by default use a memory based LRUCache that holds 1000 entries. If noop=true then idempotent w [...]
+    "idempotentKey": { "index": 54, "kind": "parameter", "displayName": "Idempotent Key", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "To use a custom idempotent key. By default the absolute path of the file is used. You can use the File Language, for example to use the file name and file size, you can do: idempotentKey=${file:name}-${file:size}" },
+    "idempotentRepository": { "index": 55, "kind": "parameter", "displayName": "Idempotent Repository", "group": "filter", "label": "consumer,filter", "required": false, "type": "object", "javaType": "org.apache.camel.spi.IdempotentRepository", "deprecated": false, "autowired": false, "secret": false, "description": "A pluggable repository org.apache.camel.spi.IdempotentRepository which by default use MemoryIdempotentRepository if none is specified and idempotent is true." },
+    "include": { "index": 56, "kind": "parameter", "displayName": "Include", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Is used to include files, if filename matches the regex pattern (matching is case in-sensitive). Notice if you use symbols such as plus sign and others you would need to configure this using the RAW() syntax if configuring th [...]
+    "includeExt": { "index": 57, "kind": "parameter", "displayName": "Include Ext", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Is used to include files matching file extension name (case insensitive). For example to include txt files, then use includeExt=txt. Multiple extensions can be separated by comma, for example to include txt and xml fil [...]
+    "maxDepth": { "index": 58, "kind": "parameter", "displayName": "Max Depth", "group": "filter", "label": "consumer,filter", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 2147483647, "description": "The maximum depth to traverse when recursively processing a directory." },
+    "maxMessagesPerPoll": { "index": 59, "kind": "parameter", "displayName": "Max Messages Per Poll", "group": "filter", "label": "consumer,filter", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "description": "To define a maximum messages to gather per poll. By default no maximum is set. Can be used to set a limit of e.g. 1000 to avoid when starting up the server that there are thousands of files. Set a value of 0 or n [...]
+    "minDepth": { "index": 60, "kind": "parameter", "displayName": "Min Depth", "group": "filter", "label": "consumer,filter", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "description": "The minimum depth to start processing when recursively processing a directory. Using minDepth=1 means the base directory. Using minDepth=2 means the first sub directory." },
+    "move": { "index": 61, "kind": "parameter", "displayName": "Move", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Expression (such as Simple Language) used to dynamically set the filename when moving it after processing. To move files into a .done subdirectory just enter .done." },
+    "exclusiveReadLockStrategy": { "index": 62, "kind": "parameter", "displayName": "Exclusive Read Lock Strategy", "group": "lock", "label": "consumer,lock", "required": false, "type": "object", "javaType": "org.apache.camel.component.file.GenericFileExclusiveReadLockStrategy<com.azure.storage.file.share.models.ShareFileItem>", "deprecated": false, "autowired": false, "secret": false, "description": "Pluggable read-lock as a org.apache.camel.component.file.GenericFileExclusiveReadLockSt [...]
+    "readLock": { "index": 63, "kind": "parameter", "displayName": "Read Lock", "group": "lock", "label": "consumer,lock", "required": false, "type": "string", "javaType": "java.lang.String", "enum": [ "none", "markerFile", "fileLock", "rename", "changed", "idempotent", "idempotent-changed", "idempotent-rename" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "none", "description": "Used by consumer, to only poll the files if it has exclusive read-lock on the  [...]
+    "readLockCheckInterval": { "index": 64, "kind": "parameter", "displayName": "Read Lock Check Interval", "group": "lock", "label": "consumer,lock", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 1000, "description": "Interval in millis for the read-lock, if supported by the read lock. This interval is used for sleeping between attempts to acquire the read lock. For example when using the changed read  [...]
+    "readLockDeleteOrphanLockFiles": { "index": 65, "kind": "parameter", "displayName": "Read Lock Delete Orphan Lock Files", "group": "lock", "label": "consumer,lock", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether or not read lock with marker files should upon startup delete any orphan read lock files, which may have been left on the file system, if Camel was not proper [...]
+    "readLockLoggingLevel": { "index": 66, "kind": "parameter", "displayName": "Read Lock Logging Level", "group": "lock", "label": "consumer,lock", "required": false, "type": "object", "javaType": "org.apache.camel.LoggingLevel", "enum": [ "TRACE", "DEBUG", "INFO", "WARN", "ERROR", "OFF" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "DEBUG", "description": "Logging level used when a read lock could not be acquired. By default a DEBUG is logged. You can cha [...]
+    "readLockMarkerFile": { "index": 67, "kind": "parameter", "displayName": "Read Lock Marker File", "group": "lock", "label": "consumer,lock", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether to use marker file with the changed, rename, or exclusive read lock types. By default a marker file is used as well to guard against other processes picking up the same files. This b [...]
+    "readLockMinAge": { "index": 68, "kind": "parameter", "displayName": "Read Lock Min Age", "group": "lock", "label": "consumer,lock", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 0, "description": "This option is applied only for readLock=changed. It allows to specify a minimum age the file must be before attempting to acquire the read lock. For example use readLockMinAge=300s to require the file is [...]
+    "readLockMinLength": { "index": 69, "kind": "parameter", "displayName": "Read Lock Min Length", "group": "lock", "label": "consumer,lock", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 1, "description": "This option is applied only for readLock=changed. It allows you to configure a minimum file length. By default Camel expects the file to contain data, and thus the default value is 1. You can set th [...]
+    "readLockRemoveOnCommit": { "index": 70, "kind": "parameter", "displayName": "Read Lock Remove On Commit", "group": "lock", "label": "consumer,lock", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "This option is applied only for readLock=idempotent. It allows to specify whether to remove the file name entry from the idempotent repository when processing the file is succeeded [...]
+    "readLockRemoveOnRollback": { "index": 71, "kind": "parameter", "displayName": "Read Lock Remove On Rollback", "group": "lock", "label": "consumer,lock", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "This option is applied only for readLock=idempotent. It allows to specify whether to remove the file name entry from the idempotent repository when processing the file failed an [...]
+    "readLockTimeout": { "index": 72, "kind": "parameter", "displayName": "Read Lock Timeout", "group": "lock", "label": "consumer,lock", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 10000, "description": "Optional timeout in millis for the read-lock, if supported by the read-lock. If the read-lock could not be granted and the timeout triggered, then Camel will skip the file. At next poll Camel, will t [...]
+    "backoffErrorThreshold": { "index": 73, "kind": "parameter", "displayName": "Backoff Error Threshold", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "description": "The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in." },
+    "backoffIdleThreshold": { "index": 74, "kind": "parameter", "displayName": "Backoff Idle Threshold", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "description": "The number of subsequent idle polls that should happen before the backoffMultipler should kick-in." },
+    "backoffMultiplier": { "index": 75, "kind": "parameter", "displayName": "Backoff Multiplier", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "description": "To let the scheduled polling consumer backoff if there has been a number of subsequent idles\/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is h [...]
+    "delay": { "index": 76, "kind": "parameter", "displayName": "Delay", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 500, "description": "Milliseconds before the next poll." },
+    "greedy": { "index": 77, "kind": "parameter", "displayName": "Greedy", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages." },
+    "initialDelay": { "index": 78, "kind": "parameter", "displayName": "Initial Delay", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 1000, "description": "Milliseconds before the first poll starts." },
+    "repeatCount": { "index": 79, "kind": "parameter", "displayName": "Repeat Count", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 0, "description": "Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only fire once. If you set it to 5, it will only fire five times. A value of zero or negative means fire forever." },
+    "runLoggingLevel": { "index": 80, "kind": "parameter", "displayName": "Run Logging Level", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "object", "javaType": "org.apache.camel.LoggingLevel", "enum": [ "TRACE", "DEBUG", "INFO", "WARN", "ERROR", "OFF" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "TRACE", "description": "The consumer logs a start\/complete log line when it polls. This option allows you to configure the l [...]
+    "scheduledExecutorService": { "index": 81, "kind": "parameter", "displayName": "Scheduled Executor Service", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "object", "javaType": "java.util.concurrent.ScheduledExecutorService", "deprecated": false, "autowired": false, "secret": false, "description": "Allows for configuring a custom\/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool." },
+    "scheduler": { "index": 82, "kind": "parameter", "displayName": "Scheduler", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "object", "javaType": "java.lang.Object", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "none", "description": "To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler" },
+    "schedulerProperties": { "index": 83, "kind": "parameter", "displayName": "Scheduler Properties", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "object", "javaType": "java.util.Map<java.lang.String, java.lang.Object>", "prefix": "scheduler.", "multiValue": true, "deprecated": false, "autowired": false, "secret": false, "description": "To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler." },
+    "startScheduler": { "index": 84, "kind": "parameter", "displayName": "Start Scheduler", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether the scheduler should be auto started." },
+    "timeUnit": { "index": 85, "kind": "parameter", "displayName": "Time Unit", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "object", "javaType": "java.util.concurrent.TimeUnit", "enum": [ "NANOSECONDS", "MICROSECONDS", "MILLISECONDS", "SECONDS", "MINUTES", "HOURS", "DAYS" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "MILLISECONDS", "description": "Time unit for initialDelay and delay options." },
+    "useFixedDelay": { "index": 86, "kind": "parameter", "displayName": "Use Fixed Delay", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details." },
+    "sdd": { "index": 87, "kind": "parameter", "displayName": "Sdd", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.file.azure.FilesToken", "configurationField": "token", "description": "part of service SAS token" },
+    "se": { "index": 88, "kind": "parameter", "displayName": "Se", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.file.azure.FilesToken", "configurationField": "token", "description": "part of SAS token" },
+    "si": { "index": 89, "kind": "parameter", "displayName": "Si", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.file.azure.FilesToken", "configurationField": "token", "description": "part of service SAS token" },
+    "sig": { "index": 90, "kind": "parameter", "displayName": "Sig", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.file.azure.FilesToken", "configurationField": "token", "description": "part of SAS token" },
+    "sip": { "index": 91, "kind": "parameter", "displayName": "Sip", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.file.azure.FilesToken", "configurationField": "token", "description": "part of SAS token" },
+    "sp": { "index": 92, "kind": "parameter", "displayName": "Sp", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.file.azure.FilesToken", "configurationField": "token", "description": "part of SAS token" },
+    "spr": { "index": 93, "kind": "parameter", "displayName": "Spr", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.file.azure.FilesToken", "configurationField": "token", "description": "part of SAS token" },
+    "sr": { "index": 94, "kind": "parameter", "displayName": "Sr", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.file.azure.FilesToken", "configurationField": "token", "description": "part of service SAS token" },
+    "srt": { "index": 95, "kind": "parameter", "displayName": "Srt", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.file.azure.FilesToken", "configurationField": "token", "description": "part of SAS token" },
+    "ss": { "index": 96, "kind": "parameter", "displayName": "Ss", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.file.azure.FilesToken", "configurationField": "token", "description": "part of account SAS token" },
+    "st": { "index": 97, "kind": "parameter", "displayName": "St", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.file.azure.FilesToken", "configurationField": "token", "description": "part of SAS token" },
+    "sv": { "index": 98, "kind": "parameter", "displayName": "Sv", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.file.azure.FilesToken", "configurationField": "token", "description": "part of SAS token" },
+    "shuffle": { "index": 99, "kind": "parameter", "displayName": "Shuffle", "group": "sort", "label": "consumer,sort", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "To shuffle the list of files (sort in random order)" },
+    "sortBy": { "index": 100, "kind": "parameter", "displayName": "Sort By", "group": "sort", "label": "consumer,sort", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Built-in sort by using the File Language. Supports nested sorts, so you can have a sort by file name and as a 2nd group sort by modified date." },
+    "sorter": { "index": 101, "kind": "parameter", "displayName": "Sorter", "group": "sort", "label": "consumer,sort", "required": false, "type": "object", "javaType": "java.util.Comparator<org.apache.camel.component.file.GenericFile<com.azure.storage.file.share.models.ShareFileItem>>", "deprecated": false, "autowired": false, "secret": false, "description": "Pluggable sorter as a java.util.Comparator class." }
   }
 }
diff --git a/components/camel-file/src/generated/java/org/apache/camel/component/file/FileEndpointConfigurer.java b/components/camel-file/src/generated/java/org/apache/camel/component/file/FileEndpointConfigurer.java
index a4f4c82bcc1..89feb8b0cf7 100644
--- a/components/camel-file/src/generated/java/org/apache/camel/component/file/FileEndpointConfigurer.java
+++ b/components/camel-file/src/generated/java/org/apache/camel/component/file/FileEndpointConfigurer.java
@@ -44,6 +44,8 @@ public class FileEndpointConfigurer extends PropertyConfigurerSupport implements
         case "buffersize":
         case "bufferSize": target.setBufferSize(property(camelContext, int.class, value)); return true;
         case "charset": target.setCharset(property(camelContext, java.lang.String.class, value)); return true;
+        case "checksumfilealgorithm":
+        case "checksumFileAlgorithm": target.setChecksumFileAlgorithm(property(camelContext, java.lang.String.class, value)); return true;
         case "chmod": target.setChmod(property(camelContext, java.lang.String.class, value)); return true;
         case "chmoddirectory":
         case "chmodDirectory": target.setChmodDirectory(property(camelContext, java.lang.String.class, value)); return true;
@@ -224,6 +226,8 @@ public class FileEndpointConfigurer extends PropertyConfigurerSupport implements
         case "buffersize":
         case "bufferSize": return int.class;
         case "charset": return java.lang.String.class;
+        case "checksumfilealgorithm":
+        case "checksumFileAlgorithm": return java.lang.String.class;
         case "chmod": return java.lang.String.class;
         case "chmoddirectory":
         case "chmodDirectory": return java.lang.String.class;
@@ -405,6 +409,8 @@ public class FileEndpointConfigurer extends PropertyConfigurerSupport implements
         case "buffersize":
         case "bufferSize": return target.getBufferSize();
         case "charset": return target.getCharset();
+        case "checksumfilealgorithm":
+        case "checksumFileAlgorithm": return target.getChecksumFileAlgorithm();
         case "chmod": return target.getChmod();
         case "chmoddirectory":
         case "chmodDirectory": return target.getChmodDirectory();
diff --git a/components/camel-file/src/generated/java/org/apache/camel/component/file/FileEndpointUriFactory.java b/components/camel-file/src/generated/java/org/apache/camel/component/file/FileEndpointUriFactory.java
index c3492c1848f..417d54c4ca7 100644
--- a/components/camel-file/src/generated/java/org/apache/camel/component/file/FileEndpointUriFactory.java
+++ b/components/camel-file/src/generated/java/org/apache/camel/component/file/FileEndpointUriFactory.java
@@ -21,7 +21,7 @@ public class FileEndpointUriFactory extends org.apache.camel.support.component.E
     private static final Set<String> SECRET_PROPERTY_NAMES;
     private static final Set<String> MULTI_VALUE_PREFIXES;
     static {
-        Set<String> props = new HashSet<>(96);
+        Set<String> props = new HashSet<>(97);
         props.add("allowNullBody");
         props.add("antExclude");
         props.add("antFilterCaseSensitive");
@@ -34,6 +34,7 @@ public class FileEndpointUriFactory extends org.apache.camel.support.component.E
         props.add("bridgeErrorHandler");
         props.add("bufferSize");
         props.add("charset");
+        props.add("checksumFileAlgorithm");
         props.add("chmod");
         props.add("chmodDirectory");
         props.add("copyAndDeleteOnRenameFail");
diff --git a/components/camel-file/src/generated/resources/org/apache/camel/component/file/file.json b/components/camel-file/src/generated/resources/org/apache/camel/component/file/file.json
index c519ed4568a..ef2412cbbdb 100644
--- a/components/camel-file/src/generated/resources/org/apache/camel/component/file/file.json
+++ b/components/camel-file/src/generated/resources/org/apache/camel/component/file/file.json
@@ -74,74 +74,75 @@
     "startingDirectoryMustExist": { "index": 24, "kind": "parameter", "displayName": "Starting Directory Must Exist", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the starting directory must exist. Mind that the autoCreate option is default enabled, which means the starting directory is normally auto created [...]
     "startingDirectoryMustHaveAccess": { "index": 25, "kind": "parameter", "displayName": "Starting Directory Must Have Access", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the starting directory has access permissions. Mind that the startingDirectoryMustExist parameter must be set to true in order to verif [...]
     "appendChars": { "index": 26, "kind": "parameter", "displayName": "Append Chars", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Used to append characters (text) after writing files. This can for example be used to add new lines or other separators when writing and appending new files or existing files. To specify new-line (slash-n or slash-r) or t [...]
-    "fileExist": { "index": 27, "kind": "parameter", "displayName": "File Exist", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "org.apache.camel.component.file.GenericFileExist", "enum": [ "Override", "Append", "Fail", "Ignore", "Move", "TryRename" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "Override", "description": "What to do if a file already exists with the same name. Override, which is the default, repl [...]
-    "flatten": { "index": 28, "kind": "parameter", "displayName": "Flatten", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Flatten is used to flatten the file name path to strip any leading paths, so it's just the file name. This allows you to consume recursively into sub-directories, but when you eg write the files to another directory [...]
-    "jailStartingDirectory": { "index": 29, "kind": "parameter", "displayName": "Jail Starting Directory", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Used for jailing (restricting) writing files to the starting directory (and sub) only. This is enabled by default to not allow Camel to write files to outside directories (to be more sec [...]
-    "moveExisting": { "index": 30, "kind": "parameter", "displayName": "Move Existing", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Expression (such as File Language) used to compute file name to use when fileExist=Move is configured. To move files into a backup subdirectory just enter backup. This option only supports the following File Language to [...]
-    "tempFileName": { "index": 31, "kind": "parameter", "displayName": "Temp File Name", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "The same as tempPrefix option but offering a more fine grained control on the naming of the temporary filename as it uses the File Language. The location for tempFilename is relative to the final file location in the o [...]
-    "tempPrefix": { "index": 32, "kind": "parameter", "displayName": "Temp Prefix", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "This option is used to write the file using a temporary name and then, after the write is complete, rename it to the real name. Can be used to identify files being written and also avoid consumers (not using exclusive read  [...]
-    "allowNullBody": { "index": 33, "kind": "parameter", "displayName": "Allow Null Body", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Used to specify if a null body is allowed during file writing. If set to true then an empty file will be created, when set to false, and attempting to send a null body to the file c [...]
-    "chmod": { "index": 34, "kind": "parameter", "displayName": "Chmod", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Specify the file permissions which is sent by the producer, the chmod value must be between 000 and 777; If there is a leading digit like in 0755 we will ignore it." },
-    "chmodDirectory": { "index": 35, "kind": "parameter", "displayName": "Chmod Directory", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Specify the directory permissions used when the producer creates missing directories, the chmod value must be between 000 and 777; If there is a leading digit like in 0755 we will ignore it." },
-    "eagerDeleteTargetFile": { "index": 36, "kind": "parameter", "displayName": "Eager Delete Target File", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether or not to eagerly delete any existing target file. This option only applies when you use fileExists=Override and the tempFileName option as well. You can use [...]
-    "forceWrites": { "index": 37, "kind": "parameter", "displayName": "Force Writes", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether to force syncing writes to the file system. You can turn this off if you do not want this level of guarantee, for example if writing to logs \/ audit logs etc; this would yield be [...]
-    "keepLastModified": { "index": 38, "kind": "parameter", "displayName": "Keep Last Modified", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Will keep the last modified timestamp from the source file (if any). Will use the FileConstants.FILE_LAST_MODIFIED header to located the timestamp. This header can contain eit [...]
-    "lazyStartProducer": { "index": 39, "kind": "parameter", "displayName": "Lazy Start Producer", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a produ [...]
-    "moveExistingFileStrategy": { "index": 40, "kind": "parameter", "displayName": "Move Existing File Strategy", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "object", "javaType": "org.apache.camel.component.file.strategy.FileMoveExistingStrategy", "deprecated": false, "autowired": false, "secret": false, "description": "Strategy (Custom Strategy) used to move file with special naming token to use when fileExist=Move is configured. By default, [...]
-    "autoCreate": { "index": 41, "kind": "parameter", "displayName": "Auto Create", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Automatically create missing directories in the file's pathname. For the file consumer, that means creating the starting directory. For the file producer, it means the directory the files should be written to." },
-    "bufferSize": { "index": 42, "kind": "parameter", "displayName": "Buffer Size", "group": "advanced", "label": "advanced", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 131072, "description": "Buffer size in bytes used for writing files (or in case of FTP for downloading and uploading files)." },
-    "copyAndDeleteOnRenameFail": { "index": 43, "kind": "parameter", "displayName": "Copy And Delete On Rename Fail", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether to fallback and do a copy and delete file, in case the file could not be renamed directly. This option is not available for the FTP component." },
-    "renameUsingCopy": { "index": 44, "kind": "parameter", "displayName": "Rename Using Copy", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Perform rename operations using a copy and delete strategy. This is primarily used in environments where the regular rename operation is unreliable (e.g. across different file systems or networks). [...]
-    "synchronous": { "index": 45, "kind": "parameter", "displayName": "Synchronous", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Sets whether synchronous processing should be strictly used" },
-    "antExclude": { "index": 46, "kind": "parameter", "displayName": "Ant Exclude", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Ant style filter exclusion. If both antInclude and antExclude are used, antExclude takes precedence over antInclude. Multiple exclusions may be specified in comma-delimited format." },
-    "antFilterCaseSensitive": { "index": 47, "kind": "parameter", "displayName": "Ant Filter Case Sensitive", "group": "filter", "label": "consumer,filter", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Sets case sensitive flag on ant filter." },
-    "antInclude": { "index": 48, "kind": "parameter", "displayName": "Ant Include", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Ant style filter inclusion. Multiple inclusions may be specified in comma-delimited format." },
-    "eagerMaxMessagesPerPoll": { "index": 49, "kind": "parameter", "displayName": "Eager Max Messages Per Poll", "group": "filter", "label": "consumer,filter", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Allows for controlling whether the limit from maxMessagesPerPoll is eager or not. If eager then the limit is during the scanning of files. Where as false would scan all files, [...]
-    "exclude": { "index": 50, "kind": "parameter", "displayName": "Exclude", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Is used to exclude files, if filename matches the regex pattern (matching is case in-sensitive). Notice if you use symbols such as plus sign and others you would need to configure this using the RAW() syntax if configuring th [...]
-    "excludeExt": { "index": 51, "kind": "parameter", "displayName": "Exclude Ext", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Is used to exclude files matching file extension name (case insensitive). For example to exclude bak files, then use excludeExt=bak. Multiple extensions can be separated by comma, for example to exclude bak and dat fil [...]
-    "filter": { "index": 52, "kind": "parameter", "displayName": "Filter", "group": "filter", "label": "consumer,filter", "required": false, "type": "object", "javaType": "org.apache.camel.component.file.GenericFileFilter<java.io.File>", "deprecated": false, "autowired": false, "secret": false, "description": "Pluggable filter as a org.apache.camel.component.file.GenericFileFilter class. Will skip files if filter returns false in its accept() method." },
-    "filterDirectory": { "index": 53, "kind": "parameter", "displayName": "Filter Directory", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Filters the directory based on Simple language. For example to filter on current date, you can use a simple date pattern such as ${date:now:yyyMMdd}" },
-    "filterFile": { "index": 54, "kind": "parameter", "displayName": "Filter File", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Filters the file based on Simple language. For example to filter on file size, you can use ${file:size} 5000" },
-    "idempotent": { "index": 55, "kind": "parameter", "displayName": "Idempotent", "group": "filter", "label": "consumer,filter", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "false", "description": "Option to use the Idempotent Consumer EIP pattern to let Camel skip already processed files. Will by default use a memory based LRUCache that holds 1000 entries. If noop=true then idempotent w [...]
-    "idempotentKey": { "index": 56, "kind": "parameter", "displayName": "Idempotent Key", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "To use a custom idempotent key. By default the absolute path of the file is used. You can use the File Language, for example to use the file name and file size, you can do: idempotentKey=${file:name}-${file:size}" },
-    "idempotentRepository": { "index": 57, "kind": "parameter", "displayName": "Idempotent Repository", "group": "filter", "label": "consumer,filter", "required": false, "type": "object", "javaType": "org.apache.camel.spi.IdempotentRepository", "deprecated": false, "autowired": false, "secret": false, "description": "A pluggable repository org.apache.camel.spi.IdempotentRepository which by default use MemoryIdempotentRepository if none is specified and idempotent is true." },
-    "include": { "index": 58, "kind": "parameter", "displayName": "Include", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Is used to include files, if filename matches the regex pattern (matching is case in-sensitive). Notice if you use symbols such as plus sign and others you would need to configure this using the RAW() syntax if configuring th [...]
-    "includeExt": { "index": 59, "kind": "parameter", "displayName": "Include Ext", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Is used to include files matching file extension name (case insensitive). For example to include txt files, then use includeExt=txt. Multiple extensions can be separated by comma, for example to include txt and xml fil [...]
-    "maxDepth": { "index": 60, "kind": "parameter", "displayName": "Max Depth", "group": "filter", "label": "consumer,filter", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 2147483647, "description": "The maximum depth to traverse when recursively processing a directory." },
-    "maxMessagesPerPoll": { "index": 61, "kind": "parameter", "displayName": "Max Messages Per Poll", "group": "filter", "label": "consumer,filter", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "description": "To define a maximum messages to gather per poll. By default no maximum is set. Can be used to set a limit of e.g. 1000 to avoid when starting up the server that there are thousands of files. Set a value of 0 or n [...]
-    "minDepth": { "index": 62, "kind": "parameter", "displayName": "Min Depth", "group": "filter", "label": "consumer,filter", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "description": "The minimum depth to start processing when recursively processing a directory. Using minDepth=1 means the base directory. Using minDepth=2 means the first sub directory." },
-    "move": { "index": 63, "kind": "parameter", "displayName": "Move", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Expression (such as Simple Language) used to dynamically set the filename when moving it after processing. To move files into a .done subdirectory just enter .done." },
-    "exclusiveReadLockStrategy": { "index": 64, "kind": "parameter", "displayName": "Exclusive Read Lock Strategy", "group": "lock", "label": "consumer,lock", "required": false, "type": "object", "javaType": "org.apache.camel.component.file.GenericFileExclusiveReadLockStrategy<java.io.File>", "deprecated": false, "autowired": false, "secret": false, "description": "Pluggable read-lock as a org.apache.camel.component.file.GenericFileExclusiveReadLockStrategy implementation." },
-    "readLock": { "index": 65, "kind": "parameter", "displayName": "Read Lock", "group": "lock", "label": "consumer,lock", "required": false, "type": "string", "javaType": "java.lang.String", "enum": [ "none", "markerFile", "fileLock", "rename", "changed", "idempotent", "idempotent-changed", "idempotent-rename" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "none", "description": "Used by consumer, to only poll the files if it has exclusive read-lock on the  [...]
-    "readLockCheckInterval": { "index": 66, "kind": "parameter", "displayName": "Read Lock Check Interval", "group": "lock", "label": "consumer,lock", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 1000, "description": "Interval in millis for the read-lock, if supported by the read lock. This interval is used for sleeping between attempts to acquire the read lock. For example when using the changed read  [...]
-    "readLockDeleteOrphanLockFiles": { "index": 67, "kind": "parameter", "displayName": "Read Lock Delete Orphan Lock Files", "group": "lock", "label": "consumer,lock", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether or not read lock with marker files should upon startup delete any orphan read lock files, which may have been left on the file system, if Camel was not proper [...]
-    "readLockIdempotentReleaseAsync": { "index": 68, "kind": "parameter", "displayName": "Read Lock Idempotent Release Async", "group": "lock", "label": "consumer,lock", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the delayed release task should be synchronous or asynchronous. See more details at the readLockIdempotentReleaseDelay option." },
-    "readLockIdempotentReleaseAsyncPoolSize": { "index": 69, "kind": "parameter", "displayName": "Read Lock Idempotent Release Async Pool Size", "group": "lock", "label": "consumer,lock", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "description": "The number of threads in the scheduled thread pool when using asynchronous release tasks. Using a default of 1 core threads should be sufficient in almost all use-cases, onl [...]
-    "readLockIdempotentReleaseDelay": { "index": 70, "kind": "parameter", "displayName": "Read Lock Idempotent Release Delay", "group": "lock", "label": "consumer,lock", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "description": "Whether to delay the release task for a period of millis. This can be used to delay the release tasks to expand the window when a file is regarded as read-locked, in an active\/active cluster [...]
-    "readLockIdempotentReleaseExecutorService": { "index": 71, "kind": "parameter", "displayName": "Read Lock Idempotent Release Executor Service", "group": "lock", "label": "consumer,lock", "required": false, "type": "object", "javaType": "java.util.concurrent.ScheduledExecutorService", "deprecated": false, "autowired": false, "secret": false, "description": "To use a custom and shared thread pool for asynchronous release tasks. See more details at the readLockIdempotentReleaseDelay opt [...]
-    "readLockLoggingLevel": { "index": 72, "kind": "parameter", "displayName": "Read Lock Logging Level", "group": "lock", "label": "consumer,lock", "required": false, "type": "object", "javaType": "org.apache.camel.LoggingLevel", "enum": [ "TRACE", "DEBUG", "INFO", "WARN", "ERROR", "OFF" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "DEBUG", "description": "Logging level used when a read lock could not be acquired. By default a DEBUG is logged. You can cha [...]
-    "readLockMarkerFile": { "index": 73, "kind": "parameter", "displayName": "Read Lock Marker File", "group": "lock", "label": "consumer,lock", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether to use marker file with the changed, rename, or exclusive read lock types. By default a marker file is used as well to guard against other processes picking up the same files. This b [...]
-    "readLockMinAge": { "index": 74, "kind": "parameter", "displayName": "Read Lock Min Age", "group": "lock", "label": "consumer,lock", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 0, "description": "This option is applied only for readLock=changed. It allows to specify a minimum age the file must be before attempting to acquire the read lock. For example use readLockMinAge=300s to require the file is [...]
-    "readLockMinLength": { "index": 75, "kind": "parameter", "displayName": "Read Lock Min Length", "group": "lock", "label": "consumer,lock", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 1, "description": "This option is applied only for readLock=changed. It allows you to configure a minimum file length. By default Camel expects the file to contain data, and thus the default value is 1. You can set th [...]
-    "readLockRemoveOnCommit": { "index": 76, "kind": "parameter", "displayName": "Read Lock Remove On Commit", "group": "lock", "label": "consumer,lock", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "This option is applied only for readLock=idempotent. It allows to specify whether to remove the file name entry from the idempotent repository when processing the file is succeeded [...]
-    "readLockRemoveOnRollback": { "index": 77, "kind": "parameter", "displayName": "Read Lock Remove On Rollback", "group": "lock", "label": "consumer,lock", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "This option is applied only for readLock=idempotent. It allows to specify whether to remove the file name entry from the idempotent repository when processing the file failed an [...]
-    "readLockTimeout": { "index": 78, "kind": "parameter", "displayName": "Read Lock Timeout", "group": "lock", "label": "consumer,lock", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 10000, "description": "Optional timeout in millis for the read-lock, if supported by the read-lock. If the read-lock could not be granted and the timeout triggered, then Camel will skip the file. At next poll Camel, will t [...]
-    "backoffErrorThreshold": { "index": 79, "kind": "parameter", "displayName": "Backoff Error Threshold", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "description": "The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in." },
-    "backoffIdleThreshold": { "index": 80, "kind": "parameter", "displayName": "Backoff Idle Threshold", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "description": "The number of subsequent idle polls that should happen before the backoffMultipler should kick-in." },
-    "backoffMultiplier": { "index": 81, "kind": "parameter", "displayName": "Backoff Multiplier", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "description": "To let the scheduled polling consumer backoff if there has been a number of subsequent idles\/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is h [...]
-    "delay": { "index": 82, "kind": "parameter", "displayName": "Delay", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 500, "description": "Milliseconds before the next poll." },
-    "greedy": { "index": 83, "kind": "parameter", "displayName": "Greedy", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages." },
-    "initialDelay": { "index": 84, "kind": "parameter", "displayName": "Initial Delay", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 1000, "description": "Milliseconds before the first poll starts." },
-    "repeatCount": { "index": 85, "kind": "parameter", "displayName": "Repeat Count", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 0, "description": "Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only fire once. If you set it to 5, it will only fire five times. A value of zero or negative means fire forever." },
-    "runLoggingLevel": { "index": 86, "kind": "parameter", "displayName": "Run Logging Level", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "object", "javaType": "org.apache.camel.LoggingLevel", "enum": [ "TRACE", "DEBUG", "INFO", "WARN", "ERROR", "OFF" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "TRACE", "description": "The consumer logs a start\/complete log line when it polls. This option allows you to configure the l [...]
-    "scheduledExecutorService": { "index": 87, "kind": "parameter", "displayName": "Scheduled Executor Service", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "object", "javaType": "java.util.concurrent.ScheduledExecutorService", "deprecated": false, "autowired": false, "secret": false, "description": "Allows for configuring a custom\/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool." },
-    "scheduler": { "index": 88, "kind": "parameter", "displayName": "Scheduler", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "object", "javaType": "java.lang.Object", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "none", "description": "To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler" },
-    "schedulerProperties": { "index": 89, "kind": "parameter", "displayName": "Scheduler Properties", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "object", "javaType": "java.util.Map<java.lang.String, java.lang.Object>", "prefix": "scheduler.", "multiValue": true, "deprecated": false, "autowired": false, "secret": false, "description": "To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler." },
-    "startScheduler": { "index": 90, "kind": "parameter", "displayName": "Start Scheduler", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether the scheduler should be auto started." },
-    "timeUnit": { "index": 91, "kind": "parameter", "displayName": "Time Unit", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "object", "javaType": "java.util.concurrent.TimeUnit", "enum": [ "NANOSECONDS", "MICROSECONDS", "MILLISECONDS", "SECONDS", "MINUTES", "HOURS", "DAYS" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "MILLISECONDS", "description": "Time unit for initialDelay and delay options." },
-    "useFixedDelay": { "index": 92, "kind": "parameter", "displayName": "Use Fixed Delay", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details." },
-    "shuffle": { "index": 93, "kind": "parameter", "displayName": "Shuffle", "group": "sort", "label": "consumer,sort", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "To shuffle the list of files (sort in random order)" },
-    "sortBy": { "index": 94, "kind": "parameter", "displayName": "Sort By", "group": "sort", "label": "consumer,sort", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Built-in sort by using the File Language. Supports nested sorts, so you can have a sort by file name and as a 2nd group sort by modified date." },
-    "sorter": { "index": 95, "kind": "parameter", "displayName": "Sorter", "group": "sort", "label": "consumer,sort", "required": false, "type": "object", "javaType": "java.util.Comparator<org.apache.camel.component.file.GenericFile<java.io.File>>", "deprecated": false, "autowired": false, "secret": false, "description": "Pluggable sorter as a java.util.Comparator class." }
+    "checksumFileAlgorithm": { "index": 27, "kind": "parameter", "displayName": "Checksum File Algorithm", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "If provided, then Camel will write a checksum file when the original file has been written. The checksum file will contain the checksum created with the provided algorithm for the original file. The c [...]
+    "fileExist": { "index": 28, "kind": "parameter", "displayName": "File Exist", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "org.apache.camel.component.file.GenericFileExist", "enum": [ "Override", "Append", "Fail", "Ignore", "Move", "TryRename" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "Override", "description": "What to do if a file already exists with the same name. Override, which is the default, repl [...]
+    "flatten": { "index": 29, "kind": "parameter", "displayName": "Flatten", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Flatten is used to flatten the file name path to strip any leading paths, so it's just the file name. This allows you to consume recursively into sub-directories, but when you eg write the files to another directory [...]
+    "jailStartingDirectory": { "index": 30, "kind": "parameter", "displayName": "Jail Starting Directory", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Used for jailing (restricting) writing files to the starting directory (and sub) only. This is enabled by default to not allow Camel to write files to outside directories (to be more sec [...]
+    "moveExisting": { "index": 31, "kind": "parameter", "displayName": "Move Existing", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Expression (such as File Language) used to compute file name to use when fileExist=Move is configured. To move files into a backup subdirectory just enter backup. This option only supports the following File Language to [...]
+    "tempFileName": { "index": 32, "kind": "parameter", "displayName": "Temp File Name", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "The same as tempPrefix option but offering a more fine grained control on the naming of the temporary filename as it uses the File Language. The location for tempFilename is relative to the final file location in the o [...]
+    "tempPrefix": { "index": 33, "kind": "parameter", "displayName": "Temp Prefix", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "This option is used to write the file using a temporary name and then, after the write is complete, rename it to the real name. Can be used to identify files being written and also avoid consumers (not using exclusive read  [...]
+    "allowNullBody": { "index": 34, "kind": "parameter", "displayName": "Allow Null Body", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Used to specify if a null body is allowed during file writing. If set to true then an empty file will be created, when set to false, and attempting to send a null body to the file c [...]
+    "chmod": { "index": 35, "kind": "parameter", "displayName": "Chmod", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Specify the file permissions which is sent by the producer, the chmod value must be between 000 and 777; If there is a leading digit like in 0755 we will ignore it." },
+    "chmodDirectory": { "index": 36, "kind": "parameter", "displayName": "Chmod Directory", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Specify the directory permissions used when the producer creates missing directories, the chmod value must be between 000 and 777; If there is a leading digit like in 0755 we will ignore it." },
+    "eagerDeleteTargetFile": { "index": 37, "kind": "parameter", "displayName": "Eager Delete Target File", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether or not to eagerly delete any existing target file. This option only applies when you use fileExists=Override and the tempFileName option as well. You can use [...]
+    "forceWrites": { "index": 38, "kind": "parameter", "displayName": "Force Writes", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether to force syncing writes to the file system. You can turn this off if you do not want this level of guarantee, for example if writing to logs \/ audit logs etc; this would yield be [...]
+    "keepLastModified": { "index": 39, "kind": "parameter", "displayName": "Keep Last Modified", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Will keep the last modified timestamp from the source file (if any). Will use the FileConstants.FILE_LAST_MODIFIED header to located the timestamp. This header can contain eit [...]
+    "lazyStartProducer": { "index": 40, "kind": "parameter", "displayName": "Lazy Start Producer", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a produ [...]
+    "moveExistingFileStrategy": { "index": 41, "kind": "parameter", "displayName": "Move Existing File Strategy", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "object", "javaType": "org.apache.camel.component.file.strategy.FileMoveExistingStrategy", "deprecated": false, "autowired": false, "secret": false, "description": "Strategy (Custom Strategy) used to move file with special naming token to use when fileExist=Move is configured. By default, [...]
+    "autoCreate": { "index": 42, "kind": "parameter", "displayName": "Auto Create", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Automatically create missing directories in the file's pathname. For the file consumer, that means creating the starting directory. For the file producer, it means the directory the files should be written to." },
+    "bufferSize": { "index": 43, "kind": "parameter", "displayName": "Buffer Size", "group": "advanced", "label": "advanced", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 131072, "description": "Buffer size in bytes used for writing files (or in case of FTP for downloading and uploading files)." },
+    "copyAndDeleteOnRenameFail": { "index": 44, "kind": "parameter", "displayName": "Copy And Delete On Rename Fail", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether to fallback and do a copy and delete file, in case the file could not be renamed directly. This option is not available for the FTP component." },
+    "renameUsingCopy": { "index": 45, "kind": "parameter", "displayName": "Rename Using Copy", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Perform rename operations using a copy and delete strategy. This is primarily used in environments where the regular rename operation is unreliable (e.g. across different file systems or networks). [...]
+    "synchronous": { "index": 46, "kind": "parameter", "displayName": "Synchronous", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Sets whether synchronous processing should be strictly used" },
+    "antExclude": { "index": 47, "kind": "parameter", "displayName": "Ant Exclude", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Ant style filter exclusion. If both antInclude and antExclude are used, antExclude takes precedence over antInclude. Multiple exclusions may be specified in comma-delimited format." },
+    "antFilterCaseSensitive": { "index": 48, "kind": "parameter", "displayName": "Ant Filter Case Sensitive", "group": "filter", "label": "consumer,filter", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Sets case sensitive flag on ant filter." },
+    "antInclude": { "index": 49, "kind": "parameter", "displayName": "Ant Include", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Ant style filter inclusion. Multiple inclusions may be specified in comma-delimited format." },
+    "eagerMaxMessagesPerPoll": { "index": 50, "kind": "parameter", "displayName": "Eager Max Messages Per Poll", "group": "filter", "label": "consumer,filter", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Allows for controlling whether the limit from maxMessagesPerPoll is eager or not. If eager then the limit is during the scanning of files. Where as false would scan all files, [...]
+    "exclude": { "index": 51, "kind": "parameter", "displayName": "Exclude", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Is used to exclude files, if filename matches the regex pattern (matching is case in-sensitive). Notice if you use symbols such as plus sign and others you would need to configure this using the RAW() syntax if configuring th [...]
+    "excludeExt": { "index": 52, "kind": "parameter", "displayName": "Exclude Ext", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Is used to exclude files matching file extension name (case insensitive). For example to exclude bak files, then use excludeExt=bak. Multiple extensions can be separated by comma, for example to exclude bak and dat fil [...]
+    "filter": { "index": 53, "kind": "parameter", "displayName": "Filter", "group": "filter", "label": "consumer,filter", "required": false, "type": "object", "javaType": "org.apache.camel.component.file.GenericFileFilter<java.io.File>", "deprecated": false, "autowired": false, "secret": false, "description": "Pluggable filter as a org.apache.camel.component.file.GenericFileFilter class. Will skip files if filter returns false in its accept() method." },
+    "filterDirectory": { "index": 54, "kind": "parameter", "displayName": "Filter Directory", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Filters the directory based on Simple language. For example to filter on current date, you can use a simple date pattern such as ${date:now:yyyMMdd}" },
+    "filterFile": { "index": 55, "kind": "parameter", "displayName": "Filter File", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Filters the file based on Simple language. For example to filter on file size, you can use ${file:size} 5000" },
+    "idempotent": { "index": 56, "kind": "parameter", "displayName": "Idempotent", "group": "filter", "label": "consumer,filter", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "false", "description": "Option to use the Idempotent Consumer EIP pattern to let Camel skip already processed files. Will by default use a memory based LRUCache that holds 1000 entries. If noop=true then idempotent w [...]
+    "idempotentKey": { "index": 57, "kind": "parameter", "displayName": "Idempotent Key", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "To use a custom idempotent key. By default the absolute path of the file is used. You can use the File Language, for example to use the file name and file size, you can do: idempotentKey=${file:name}-${file:size}" },
+    "idempotentRepository": { "index": 58, "kind": "parameter", "displayName": "Idempotent Repository", "group": "filter", "label": "consumer,filter", "required": false, "type": "object", "javaType": "org.apache.camel.spi.IdempotentRepository", "deprecated": false, "autowired": false, "secret": false, "description": "A pluggable repository org.apache.camel.spi.IdempotentRepository which by default use MemoryIdempotentRepository if none is specified and idempotent is true." },
+    "include": { "index": 59, "kind": "parameter", "displayName": "Include", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Is used to include files, if filename matches the regex pattern (matching is case in-sensitive). Notice if you use symbols such as plus sign and others you would need to configure this using the RAW() syntax if configuring th [...]
+    "includeExt": { "index": 60, "kind": "parameter", "displayName": "Include Ext", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Is used to include files matching file extension name (case insensitive). For example to include txt files, then use includeExt=txt. Multiple extensions can be separated by comma, for example to include txt and xml fil [...]
+    "maxDepth": { "index": 61, "kind": "parameter", "displayName": "Max Depth", "group": "filter", "label": "consumer,filter", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 2147483647, "description": "The maximum depth to traverse when recursively processing a directory." },
+    "maxMessagesPerPoll": { "index": 62, "kind": "parameter", "displayName": "Max Messages Per Poll", "group": "filter", "label": "consumer,filter", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "description": "To define a maximum messages to gather per poll. By default no maximum is set. Can be used to set a limit of e.g. 1000 to avoid when starting up the server that there are thousands of files. Set a value of 0 or n [...]
+    "minDepth": { "index": 63, "kind": "parameter", "displayName": "Min Depth", "group": "filter", "label": "consumer,filter", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "description": "The minimum depth to start processing when recursively processing a directory. Using minDepth=1 means the base directory. Using minDepth=2 means the first sub directory." },
+    "move": { "index": 64, "kind": "parameter", "displayName": "Move", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Expression (such as Simple Language) used to dynamically set the filename when moving it after processing. To move files into a .done subdirectory just enter .done." },
+    "exclusiveReadLockStrategy": { "index": 65, "kind": "parameter", "displayName": "Exclusive Read Lock Strategy", "group": "lock", "label": "consumer,lock", "required": false, "type": "object", "javaType": "org.apache.camel.component.file.GenericFileExclusiveReadLockStrategy<java.io.File>", "deprecated": false, "autowired": false, "secret": false, "description": "Pluggable read-lock as a org.apache.camel.component.file.GenericFileExclusiveReadLockStrategy implementation." },
+    "readLock": { "index": 66, "kind": "parameter", "displayName": "Read Lock", "group": "lock", "label": "consumer,lock", "required": false, "type": "string", "javaType": "java.lang.String", "enum": [ "none", "markerFile", "fileLock", "rename", "changed", "idempotent", "idempotent-changed", "idempotent-rename" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "none", "description": "Used by consumer, to only poll the files if it has exclusive read-lock on the  [...]
+    "readLockCheckInterval": { "index": 67, "kind": "parameter", "displayName": "Read Lock Check Interval", "group": "lock", "label": "consumer,lock", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 1000, "description": "Interval in millis for the read-lock, if supported by the read lock. This interval is used for sleeping between attempts to acquire the read lock. For example when using the changed read  [...]
+    "readLockDeleteOrphanLockFiles": { "index": 68, "kind": "parameter", "displayName": "Read Lock Delete Orphan Lock Files", "group": "lock", "label": "consumer,lock", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether or not read lock with marker files should upon startup delete any orphan read lock files, which may have been left on the file system, if Camel was not proper [...]
+    "readLockIdempotentReleaseAsync": { "index": 69, "kind": "parameter", "displayName": "Read Lock Idempotent Release Async", "group": "lock", "label": "consumer,lock", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the delayed release task should be synchronous or asynchronous. See more details at the readLockIdempotentReleaseDelay option." },
+    "readLockIdempotentReleaseAsyncPoolSize": { "index": 70, "kind": "parameter", "displayName": "Read Lock Idempotent Release Async Pool Size", "group": "lock", "label": "consumer,lock", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "description": "The number of threads in the scheduled thread pool when using asynchronous release tasks. Using a default of 1 core threads should be sufficient in almost all use-cases, onl [...]
+    "readLockIdempotentReleaseDelay": { "index": 71, "kind": "parameter", "displayName": "Read Lock Idempotent Release Delay", "group": "lock", "label": "consumer,lock", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "description": "Whether to delay the release task for a period of millis. This can be used to delay the release tasks to expand the window when a file is regarded as read-locked, in an active\/active cluster [...]
+    "readLockIdempotentReleaseExecutorService": { "index": 72, "kind": "parameter", "displayName": "Read Lock Idempotent Release Executor Service", "group": "lock", "label": "consumer,lock", "required": false, "type": "object", "javaType": "java.util.concurrent.ScheduledExecutorService", "deprecated": false, "autowired": false, "secret": false, "description": "To use a custom and shared thread pool for asynchronous release tasks. See more details at the readLockIdempotentReleaseDelay opt [...]
+    "readLockLoggingLevel": { "index": 73, "kind": "parameter", "displayName": "Read Lock Logging Level", "group": "lock", "label": "consumer,lock", "required": false, "type": "object", "javaType": "org.apache.camel.LoggingLevel", "enum": [ "TRACE", "DEBUG", "INFO", "WARN", "ERROR", "OFF" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "DEBUG", "description": "Logging level used when a read lock could not be acquired. By default a DEBUG is logged. You can cha [...]
+    "readLockMarkerFile": { "index": 74, "kind": "parameter", "displayName": "Read Lock Marker File", "group": "lock", "label": "consumer,lock", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether to use marker file with the changed, rename, or exclusive read lock types. By default a marker file is used as well to guard against other processes picking up the same files. This b [...]
+    "readLockMinAge": { "index": 75, "kind": "parameter", "displayName": "Read Lock Min Age", "group": "lock", "label": "consumer,lock", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 0, "description": "This option is applied only for readLock=changed. It allows to specify a minimum age the file must be before attempting to acquire the read lock. For example use readLockMinAge=300s to require the file is [...]
+    "readLockMinLength": { "index": 76, "kind": "parameter", "displayName": "Read Lock Min Length", "group": "lock", "label": "consumer,lock", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 1, "description": "This option is applied only for readLock=changed. It allows you to configure a minimum file length. By default Camel expects the file to contain data, and thus the default value is 1. You can set th [...]
+    "readLockRemoveOnCommit": { "index": 77, "kind": "parameter", "displayName": "Read Lock Remove On Commit", "group": "lock", "label": "consumer,lock", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "This option is applied only for readLock=idempotent. It allows to specify whether to remove the file name entry from the idempotent repository when processing the file is succeeded [...]
+    "readLockRemoveOnRollback": { "index": 78, "kind": "parameter", "displayName": "Read Lock Remove On Rollback", "group": "lock", "label": "consumer,lock", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "This option is applied only for readLock=idempotent. It allows to specify whether to remove the file name entry from the idempotent repository when processing the file failed an [...]
+    "readLockTimeout": { "index": 79, "kind": "parameter", "displayName": "Read Lock Timeout", "group": "lock", "label": "consumer,lock", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 10000, "description": "Optional timeout in millis for the read-lock, if supported by the read-lock. If the read-lock could not be granted and the timeout triggered, then Camel will skip the file. At next poll Camel, will t [...]
+    "backoffErrorThreshold": { "index": 80, "kind": "parameter", "displayName": "Backoff Error Threshold", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "description": "The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in." },
+    "backoffIdleThreshold": { "index": 81, "kind": "parameter", "displayName": "Backoff Idle Threshold", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "description": "The number of subsequent idle polls that should happen before the backoffMultipler should kick-in." },
+    "backoffMultiplier": { "index": 82, "kind": "parameter", "displayName": "Backoff Multiplier", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "description": "To let the scheduled polling consumer backoff if there has been a number of subsequent idles\/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is h [...]
+    "delay": { "index": 83, "kind": "parameter", "displayName": "Delay", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 500, "description": "Milliseconds before the next poll." },
+    "greedy": { "index": 84, "kind": "parameter", "displayName": "Greedy", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages." },
+    "initialDelay": { "index": 85, "kind": "parameter", "displayName": "Initial Delay", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 1000, "description": "Milliseconds before the first poll starts." },
+    "repeatCount": { "index": 86, "kind": "parameter", "displayName": "Repeat Count", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 0, "description": "Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only fire once. If you set it to 5, it will only fire five times. A value of zero or negative means fire forever." },
+    "runLoggingLevel": { "index": 87, "kind": "parameter", "displayName": "Run Logging Level", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "object", "javaType": "org.apache.camel.LoggingLevel", "enum": [ "TRACE", "DEBUG", "INFO", "WARN", "ERROR", "OFF" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "TRACE", "description": "The consumer logs a start\/complete log line when it polls. This option allows you to configure the l [...]
+    "scheduledExecutorService": { "index": 88, "kind": "parameter", "displayName": "Scheduled Executor Service", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "object", "javaType": "java.util.concurrent.ScheduledExecutorService", "deprecated": false, "autowired": false, "secret": false, "description": "Allows for configuring a custom\/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool." },
+    "scheduler": { "index": 89, "kind": "parameter", "displayName": "Scheduler", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "object", "javaType": "java.lang.Object", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "none", "description": "To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler" },
+    "schedulerProperties": { "index": 90, "kind": "parameter", "displayName": "Scheduler Properties", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "object", "javaType": "java.util.Map<java.lang.String, java.lang.Object>", "prefix": "scheduler.", "multiValue": true, "deprecated": false, "autowired": false, "secret": false, "description": "To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler." },
+    "startScheduler": { "index": 91, "kind": "parameter", "displayName": "Start Scheduler", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether the scheduler should be auto started." },
+    "timeUnit": { "index": 92, "kind": "parameter", "displayName": "Time Unit", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "object", "javaType": "java.util.concurrent.TimeUnit", "enum": [ "NANOSECONDS", "MICROSECONDS", "MILLISECONDS", "SECONDS", "MINUTES", "HOURS", "DAYS" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "MILLISECONDS", "description": "Time unit for initialDelay and delay options." },
+    "useFixedDelay": { "index": 93, "kind": "parameter", "displayName": "Use Fixed Delay", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details." },
+    "shuffle": { "index": 94, "kind": "parameter", "displayName": "Shuffle", "group": "sort", "label": "consumer,sort", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "To shuffle the list of files (sort in random order)" },
+    "sortBy": { "index": 95, "kind": "parameter", "displayName": "Sort By", "group": "sort", "label": "consumer,sort", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Built-in sort by using the File Language. Supports nested sorts, so you can have a sort by file name and as a 2nd group sort by modified date." },
+    "sorter": { "index": 96, "kind": "parameter", "displayName": "Sorter", "group": "sort", "label": "consumer,sort", "required": false, "type": "object", "javaType": "java.util.Comparator<org.apache.camel.component.file.GenericFile<java.io.File>>", "deprecated": false, "autowired": false, "secret": false, "description": "Pluggable sorter as a java.util.Comparator class." }
   }
 }
diff --git a/components/camel-ftp/src/generated/java/org/apache/camel/component/file/remote/FtpEndpointConfigurer.java b/components/camel-ftp/src/generated/java/org/apache/camel/component/file/remote/FtpEndpointConfigurer.java
index 714f6981264..d2d2dfdbff4 100644
--- a/components/camel-ftp/src/generated/java/org/apache/camel/component/file/remote/FtpEndpointConfigurer.java
+++ b/components/camel-ftp/src/generated/java/org/apache/camel/component/file/remote/FtpEndpointConfigurer.java
@@ -46,6 +46,8 @@ public class FtpEndpointConfigurer extends PropertyConfigurerSupport implements
         case "buffersize":
         case "bufferSize": target.setBufferSize(property(camelContext, int.class, value)); return true;
         case "charset": target.setCharset(property(camelContext, java.lang.String.class, value)); return true;
+        case "checksumfilealgorithm":
+        case "checksumFileAlgorithm": target.setChecksumFileAlgorithm(property(camelContext, java.lang.String.class, value)); return true;
         case "chmod": target.getConfiguration().setChmod(property(camelContext, java.lang.String.class, value)); return true;
         case "connecttimeout":
         case "connectTimeout": target.getConfiguration().setConnectTimeout(property(camelContext, int.class, value)); return true;
@@ -248,6 +250,8 @@ public class FtpEndpointConfigurer extends PropertyConfigurerSupport implements
         case "buffersize":
         case "bufferSize": return int.class;
         case "charset": return java.lang.String.class;
+        case "checksumfilealgorithm":
+        case "checksumFileAlgorithm": return java.lang.String.class;
         case "chmod": return java.lang.String.class;
         case "connecttimeout":
         case "connectTimeout": return int.class;
@@ -451,6 +455,8 @@ public class FtpEndpointConfigurer extends PropertyConfigurerSupport implements
         case "buffersize":
         case "bufferSize": return target.getBufferSize();
         case "charset": return target.getCharset();
+        case "checksumfilealgorithm":
+        case "checksumFileAlgorithm": return target.getChecksumFileAlgorithm();
         case "chmod": return target.getConfiguration().getChmod();
         case "connecttimeout":
         case "connectTimeout": return target.getConfiguration().getConnectTimeout();
diff --git a/components/camel-ftp/src/generated/java/org/apache/camel/component/file/remote/FtpEndpointUriFactory.java b/components/camel-ftp/src/generated/java/org/apache/camel/component/file/remote/FtpEndpointUriFactory.java
index ee074a5627d..42b7f0c320e 100644
--- a/components/camel-ftp/src/generated/java/org/apache/camel/component/file/remote/FtpEndpointUriFactory.java
+++ b/components/camel-ftp/src/generated/java/org/apache/camel/component/file/remote/FtpEndpointUriFactory.java
@@ -21,7 +21,7 @@ public class FtpEndpointUriFactory extends org.apache.camel.support.component.En
     private static final Set<String> SECRET_PROPERTY_NAMES;
     private static final Set<String> MULTI_VALUE_PREFIXES;
     static {
-        Set<String> props = new HashSet<>(113);
+        Set<String> props = new HashSet<>(114);
         props.add("account");
         props.add("activePortRange");
         props.add("allowNullBody");
@@ -36,6 +36,7 @@ public class FtpEndpointUriFactory extends org.apache.camel.support.component.En
         props.add("bridgeErrorHandler");
         props.add("bufferSize");
         props.add("charset");
+        props.add("checksumFileAlgorithm");
         props.add("chmod");
         props.add("connectTimeout");
         props.add("delay");
diff --git a/components/camel-ftp/src/generated/java/org/apache/camel/component/file/remote/FtpsEndpointUriFactory.java b/components/camel-ftp/src/generated/java/org/apache/camel/component/file/remote/FtpsEndpointUriFactory.java
index ad9cbd98050..86ea130a1bb 100644
--- a/components/camel-ftp/src/generated/java/org/apache/camel/component/file/remote/FtpsEndpointUriFactory.java
+++ b/components/camel-ftp/src/generated/java/org/apache/camel/component/file/remote/FtpsEndpointUriFactory.java
@@ -21,7 +21,7 @@ public class FtpsEndpointUriFactory extends org.apache.camel.support.component.E
     private static final Set<String> SECRET_PROPERTY_NAMES;
     private static final Set<String> MULTI_VALUE_PREFIXES;
     static {
-        Set<String> props = new HashSet<>(121);
+        Set<String> props = new HashSet<>(122);
         props.add("account");
         props.add("activePortRange");
         props.add("allowNullBody");
@@ -36,6 +36,7 @@ public class FtpsEndpointUriFactory extends org.apache.camel.support.component.E
         props.add("bridgeErrorHandler");
         props.add("bufferSize");
         props.add("charset");
+        props.add("checksumFileAlgorithm");
         props.add("chmod");
         props.add("connectTimeout");
         props.add("delay");
diff --git a/components/camel-ftp/src/generated/java/org/apache/camel/component/file/remote/SftpEndpointConfigurer.java b/components/camel-ftp/src/generated/java/org/apache/camel/component/file/remote/SftpEndpointConfigurer.java
index 6f5b3104593..1944a5a7e17 100644
--- a/components/camel-ftp/src/generated/java/org/apache/camel/component/file/remote/SftpEndpointConfigurer.java
+++ b/components/camel-ftp/src/generated/java/org/apache/camel/component/file/remote/SftpEndpointConfigurer.java
@@ -45,6 +45,8 @@ public class SftpEndpointConfigurer extends PropertyConfigurerSupport implements
         case "bulkrequests":
         case "bulkRequests": target.getConfiguration().setBulkRequests(property(camelContext, java.lang.Integer.class, value)); return true;
         case "charset": target.setCharset(property(camelContext, java.lang.String.class, value)); return true;
+        case "checksumfilealgorithm":
+        case "checksumFileAlgorithm": target.setChecksumFileAlgorithm(property(camelContext, java.lang.String.class, value)); return true;
         case "chmod": target.getConfiguration().setChmod(property(camelContext, java.lang.String.class, value)); return true;
         case "chmoddirectory":
         case "chmodDirectory": target.getConfiguration().setChmodDirectory(property(camelContext, java.lang.String.class, value)); return true;
@@ -277,6 +279,8 @@ public class SftpEndpointConfigurer extends PropertyConfigurerSupport implements
         case "bulkrequests":
         case "bulkRequests": return java.lang.Integer.class;
         case "charset": return java.lang.String.class;
+        case "checksumfilealgorithm":
+        case "checksumFileAlgorithm": return java.lang.String.class;
         case "chmod": return java.lang.String.class;
         case "chmoddirectory":
         case "chmodDirectory": return java.lang.String.class;
@@ -510,6 +514,8 @@ public class SftpEndpointConfigurer extends PropertyConfigurerSupport implements
         case "bulkrequests":
         case "bulkRequests": return target.getConfiguration().getBulkRequests();
         case "charset": return target.getCharset();
+        case "checksumfilealgorithm":
+        case "checksumFileAlgorithm": return target.getChecksumFileAlgorithm();
         case "chmod": return target.getConfiguration().getChmod();
         case "chmoddirectory":
         case "chmodDirectory": return target.getConfiguration().getChmodDirectory();
diff --git a/components/camel-ftp/src/generated/java/org/apache/camel/component/file/remote/SftpEndpointUriFactory.java b/components/camel-ftp/src/generated/java/org/apache/camel/component/file/remote/SftpEndpointUriFactory.java
index 80fd1cd27cd..ea8f983b765 100644
--- a/components/camel-ftp/src/generated/java/org/apache/camel/component/file/remote/SftpEndpointUriFactory.java
+++ b/components/camel-ftp/src/generated/java/org/apache/camel/component/file/remote/SftpEndpointUriFactory.java
@@ -21,7 +21,7 @@ public class SftpEndpointUriFactory extends org.apache.camel.support.component.E
     private static final Set<String> SECRET_PROPERTY_NAMES;
     private static final Set<String> MULTI_VALUE_PREFIXES;
     static {
-        Set<String> props = new HashSet<>(129);
+        Set<String> props = new HashSet<>(130);
         props.add("allowNullBody");
         props.add("antExclude");
         props.add("antFilterCaseSensitive");
@@ -35,6 +35,7 @@ public class SftpEndpointUriFactory extends org.apache.camel.support.component.E
         props.add("bridgeErrorHandler");
         props.add("bulkRequests");
         props.add("charset");
+        props.add("checksumFileAlgorithm");
         props.add("chmod");
         props.add("chmodDirectory");
         props.add("ciphers");
diff --git a/components/camel-ftp/src/generated/resources/org/apache/camel/component/file/remote/ftp.json b/components/camel-ftp/src/generated/resources/org/apache/camel/component/file/remote/ftp.json
index bde3fa9f4ac..c4a03cdeb83 100644
--- a/components/camel-ftp/src/generated/resources/org/apache/camel/component/file/remote/ftp.json
+++ b/components/camel-ftp/src/generated/resources/org/apache/camel/component/file/remote/ftp.json
@@ -77,83 +77,84 @@
     "pollStrategy": { "index": 32, "kind": "parameter", "displayName": "Poll Strategy", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "object", "javaType": "org.apache.camel.spi.PollingConsumerPollStrategy", "deprecated": false, "autowired": false, "secret": false, "description": "A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the po [...]
     "processStrategy": { "index": 33, "kind": "parameter", "displayName": "Process Strategy", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "object", "javaType": "org.apache.camel.component.file.GenericFileProcessStrategy<org.apache.commons.net.ftp.FTPFile>", "deprecated": false, "autowired": false, "secret": false, "description": "A pluggable org.apache.camel.component.file.GenericFileProcessStrategy allowing you to implement your own readLock  [...]
     "useList": { "index": 34, "kind": "parameter", "displayName": "Use List", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.file.remote.FtpConfiguration", "configurationField": "configuration", "description": "Whether to allow using LIST command when downloading a file. Default is tru [...]
-    "fileExist": { "index": 35, "kind": "parameter", "displayName": "File Exist", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "org.apache.camel.component.file.GenericFileExist", "enum": [ "Override", "Append", "Fail", "Ignore", "Move", "TryRename" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "Override", "description": "What to do if a file already exists with the same name. Override, which is the default, repl [...]
-    "flatten": { "index": 36, "kind": "parameter", "displayName": "Flatten", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Flatten is used to flatten the file name path to strip any leading paths, so it's just the file name. This allows you to consume recursively into sub-directories, but when you eg write the files to another directory [...]
-    "jailStartingDirectory": { "index": 37, "kind": "parameter", "displayName": "Jail Starting Directory", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Used for jailing (restricting) writing files to the starting directory (and sub) only. This is enabled by default to not allow Camel to write files to outside directories (to be more sec [...]
-    "moveExisting": { "index": 38, "kind": "parameter", "displayName": "Move Existing", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Expression (such as File Language) used to compute file name to use when fileExist=Move is configured. To move files into a backup subdirectory just enter backup. This option only supports the following File Language to [...]
-    "tempFileName": { "index": 39, "kind": "parameter", "displayName": "Temp File Name", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "The same as tempPrefix option but offering a more fine grained control on the naming of the temporary filename as it uses the File Language. The location for tempFilename is relative to the final file location in the o [...]
-    "tempPrefix": { "index": 40, "kind": "parameter", "displayName": "Temp Prefix", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "This option is used to write the file using a temporary name and then, after the write is complete, rename it to the real name. Can be used to identify files being written and also avoid consumers (not using exclusive read  [...]
-    "allowNullBody": { "index": 41, "kind": "parameter", "displayName": "Allow Null Body", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Used to specify if a null body is allowed during file writing. If set to true then an empty file will be created, when set to false, and attempting to send a null body to the file c [...]
-    "chmod": { "index": 42, "kind": "parameter", "displayName": "Chmod", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.file.remote.FtpConfiguration", "configurationField": "configuration", "description": "Allows you to set chmod on the stored file. For example chmod=640." },
-    "disconnectOnBatchComplete": { "index": 43, "kind": "parameter", "displayName": "Disconnect On Batch Complete", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether or not to disconnect from remote FTP server right after a Batch upload is complete. disconnectOnBatchComplete will only disconnect the current conne [...]
-    "eagerDeleteTargetFile": { "index": 44, "kind": "parameter", "displayName": "Eager Delete Target File", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether or not to eagerly delete any existing target file. This option only applies when you use fileExists=Override and the tempFileName option as well. You can use [...]
-    "keepLastModified": { "index": 45, "kind": "parameter", "displayName": "Keep Last Modified", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Will keep the last modified timestamp from the source file (if any). Will use the FileConstants.FILE_LAST_MODIFIED header to located the timestamp. This header can contain eit [...]
-    "lazyStartProducer": { "index": 46, "kind": "parameter", "displayName": "Lazy Start Producer", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a produ [...]
-    "moveExistingFileStrategy": { "index": 47, "kind": "parameter", "displayName": "Move Existing File Strategy", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "object", "javaType": "org.apache.camel.component.file.strategy.FileMoveExistingStrategy", "deprecated": false, "autowired": false, "secret": false, "description": "Strategy (Custom Strategy) used to move file with special naming token to use when fileExist=Move is configured. By default, [...]
-    "sendNoop": { "index": 48, "kind": "parameter", "displayName": "Send Noop", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.file.remote.FtpConfiguration", "configurationField": "configuration", "description": "Whether to send a noop command as a pre-write check before uploading file [...]
-    "activePortRange": { "index": 49, "kind": "parameter", "displayName": "Active Port Range", "group": "advanced", "label": "advanced", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.file.remote.FtpConfiguration", "configurationField": "configuration", "description": "Set the client side port range in active mode. The syntax is: minPort-maxPort Both port numb [...]
-    "autoCreate": { "index": 50, "kind": "parameter", "displayName": "Auto Create", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Automatically create missing directories in the file's pathname. For the file consumer, that means creating the starting directory. For the file producer, it means the directory the files should be written to." },
-    "bufferSize": { "index": 51, "kind": "parameter", "displayName": "Buffer Size", "group": "advanced", "label": "advanced", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 131072, "description": "Buffer size in bytes used for writing files (or in case of FTP for downloading and uploading files)." },
-    "connectTimeout": { "index": 52, "kind": "parameter", "displayName": "Connect Timeout", "group": "advanced", "label": "advanced", "required": false, "type": "duration", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "10000", "configurationClass": "org.apache.camel.component.file.remote.FtpConfiguration", "configurationField": "configuration", "description": "Sets the connect timeout for waiting for a connection to be established Used by b [...]
-    "ftpClient": { "index": 53, "kind": "parameter", "displayName": "Ftp Client", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "org.apache.commons.net.ftp.FTPClient", "deprecated": false, "autowired": false, "secret": false, "description": "To use a custom instance of FTPClient" },
-    "ftpClientConfig": { "index": 54, "kind": "parameter", "displayName": "Ftp Client Config", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "org.apache.commons.net.ftp.FTPClientConfig", "deprecated": false, "autowired": false, "secret": false, "description": "To use a custom instance of FTPClientConfig to configure the FTP client the endpoint should use." },
-    "ftpClientConfigParameters": { "index": 55, "kind": "parameter", "displayName": "Ftp Client Config Parameters", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "java.util.Map<java.lang.String, java.lang.Object>", "prefix": "ftpClientConfig.", "multiValue": true, "deprecated": false, "autowired": false, "secret": false, "description": "Used by FtpComponent to provide additional parameters for the FTPClientConfig" },
-    "ftpClientParameters": { "index": 56, "kind": "parameter", "displayName": "Ftp Client Parameters", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "java.util.Map<java.lang.String, java.lang.Object>", "prefix": "ftpClient.", "multiValue": true, "deprecated": false, "autowired": false, "secret": false, "description": "Used by FtpComponent to provide additional parameters for the FTPClient" },
-    "maximumReconnectAttempts": { "index": 57, "kind": "parameter", "displayName": "Maximum Reconnect Attempts", "group": "advanced", "label": "advanced", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "description": "Specifies the maximum reconnect attempts Camel performs when it tries to connect to the remote FTP server. Use 0 to disable this behavior." },
-    "reconnectDelay": { "index": 58, "kind": "parameter", "displayName": "Reconnect Delay", "group": "advanced", "label": "advanced", "required": false, "type": "duration", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "1000", "description": "Delay in millis Camel will wait before performing a reconnect attempt." },
-    "siteCommand": { "index": 59, "kind": "parameter", "displayName": "Site Command", "group": "advanced", "label": "advanced", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.file.remote.FtpConfiguration", "configurationField": "configuration", "description": "Sets optional site command(s) to be executed after successful login. Multiple site commands can be se [...]
-    "soTimeout": { "index": 60, "kind": "parameter", "displayName": "So Timeout", "group": "advanced", "label": "advanced", "required": false, "type": "duration", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "300000", "configurationClass": "org.apache.camel.component.file.remote.FtpConfiguration", "configurationField": "configuration", "description": "Sets the so timeout FTP and FTPS Is the SocketOptions.SO_TIMEOUT value in millis. Recommen [...]
-    "stepwise": { "index": 61, "kind": "parameter", "displayName": "Stepwise", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.file.remote.FtpConfiguration", "configurationField": "configuration", "description": "Sets whether we should stepwise change directories while traversing file structures when downl [...]
-    "throwExceptionOnConnectFailed": { "index": 62, "kind": "parameter", "displayName": "Throw Exception On Connect Failed", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.file.remote.FtpConfiguration", "configurationField": "configuration", "description": "Should an exception be thrown if connection fai [...]
-    "timeout": { "index": 63, "kind": "parameter", "displayName": "Timeout", "group": "advanced", "label": "advanced", "required": false, "type": "duration", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "30000", "configurationClass": "org.apache.camel.component.file.remote.FtpConfiguration", "configurationField": "configuration", "description": "Sets the data timeout for waiting for reply Used only by FTPClient" },
-    "antExclude": { "index": 64, "kind": "parameter", "displayName": "Ant Exclude", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Ant style filter exclusion. If both antInclude and antExclude are used, antExclude takes precedence over antInclude. Multiple exclusions may be specified in comma-delimited format." },
-    "antFilterCaseSensitive": { "index": 65, "kind": "parameter", "displayName": "Ant Filter Case Sensitive", "group": "filter", "label": "consumer,filter", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Sets case sensitive flag on ant filter." },
-    "antInclude": { "index": 66, "kind": "parameter", "displayName": "Ant Include", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Ant style filter inclusion. Multiple inclusions may be specified in comma-delimited format." },
-    "eagerMaxMessagesPerPoll": { "index": 67, "kind": "parameter", "displayName": "Eager Max Messages Per Poll", "group": "filter", "label": "consumer,filter", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Allows for controlling whether the limit from maxMessagesPerPoll is eager or not. If eager then the limit is during the scanning of files. Where as false would scan all files, [...]
-    "exclude": { "index": 68, "kind": "parameter", "displayName": "Exclude", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Is used to exclude files, if filename matches the regex pattern (matching is case in-sensitive). Notice if you use symbols such as plus sign and others you would need to configure this using the RAW() syntax if configuring th [...]
-    "excludeExt": { "index": 69, "kind": "parameter", "displayName": "Exclude Ext", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Is used to exclude files matching file extension name (case insensitive). For example to exclude bak files, then use excludeExt=bak. Multiple extensions can be separated by comma, for example to exclude bak and dat fil [...]
-    "filter": { "index": 70, "kind": "parameter", "displayName": "Filter", "group": "filter", "label": "consumer,filter", "required": false, "type": "object", "javaType": "org.apache.camel.component.file.GenericFileFilter<org.apache.commons.net.ftp.FTPFile>", "deprecated": false, "autowired": false, "secret": false, "description": "Pluggable filter as a org.apache.camel.component.file.GenericFileFilter class. Will skip files if filter returns false in its accept() method." },
-    "filterDirectory": { "index": 71, "kind": "parameter", "displayName": "Filter Directory", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Filters the directory based on Simple language. For example to filter on current date, you can use a simple date pattern such as ${date:now:yyyMMdd}" },
-    "filterFile": { "index": 72, "kind": "parameter", "displayName": "Filter File", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Filters the file based on Simple language. For example to filter on file size, you can use ${file:size} 5000" },
-    "idempotent": { "index": 73, "kind": "parameter", "displayName": "Idempotent", "group": "filter", "label": "consumer,filter", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "false", "description": "Option to use the Idempotent Consumer EIP pattern to let Camel skip already processed files. Will by default use a memory based LRUCache that holds 1000 entries. If noop=true then idempotent w [...]
-    "idempotentKey": { "index": 74, "kind": "parameter", "displayName": "Idempotent Key", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "To use a custom idempotent key. By default the absolute path of the file is used. You can use the File Language, for example to use the file name and file size, you can do: idempotentKey=${file:name}-${file:size}" },
-    "idempotentRepository": { "index": 75, "kind": "parameter", "displayName": "Idempotent Repository", "group": "filter", "label": "consumer,filter", "required": false, "type": "object", "javaType": "org.apache.camel.spi.IdempotentRepository", "deprecated": false, "autowired": false, "secret": false, "description": "A pluggable repository org.apache.camel.spi.IdempotentRepository which by default use MemoryIdempotentRepository if none is specified and idempotent is true." },
-    "include": { "index": 76, "kind": "parameter", "displayName": "Include", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Is used to include files, if filename matches the regex pattern (matching is case in-sensitive). Notice if you use symbols such as plus sign and others you would need to configure this using the RAW() syntax if configuring th [...]
-    "includeExt": { "index": 77, "kind": "parameter", "displayName": "Include Ext", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Is used to include files matching file extension name (case insensitive). For example to include txt files, then use includeExt=txt. Multiple extensions can be separated by comma, for example to include txt and xml fil [...]
-    "maxDepth": { "index": 78, "kind": "parameter", "displayName": "Max Depth", "group": "filter", "label": "consumer,filter", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 2147483647, "description": "The maximum depth to traverse when recursively processing a directory." },
-    "maxMessagesPerPoll": { "index": 79, "kind": "parameter", "displayName": "Max Messages Per Poll", "group": "filter", "label": "consumer,filter", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "description": "To define a maximum messages to gather per poll. By default no maximum is set. Can be used to set a limit of e.g. 1000 to avoid when starting up the server that there are thousands of files. Set a value of 0 or n [...]
-    "minDepth": { "index": 80, "kind": "parameter", "displayName": "Min Depth", "group": "filter", "label": "consumer,filter", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "description": "The minimum depth to start processing when recursively processing a directory. Using minDepth=1 means the base directory. Using minDepth=2 means the first sub directory." },
-    "move": { "index": 81, "kind": "parameter", "displayName": "Move", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Expression (such as Simple Language) used to dynamically set the filename when moving it after processing. To move files into a .done subdirectory just enter .done." },
-    "exclusiveReadLockStrategy": { "index": 82, "kind": "parameter", "displayName": "Exclusive Read Lock Strategy", "group": "lock", "label": "consumer,lock", "required": false, "type": "object", "javaType": "org.apache.camel.component.file.GenericFileExclusiveReadLockStrategy<org.apache.commons.net.ftp.FTPFile>", "deprecated": false, "autowired": false, "secret": false, "description": "Pluggable read-lock as a org.apache.camel.component.file.GenericFileExclusiveReadLockStrategy implemen [...]
-    "readLock": { "index": 83, "kind": "parameter", "displayName": "Read Lock", "group": "lock", "label": "consumer,lock", "required": false, "type": "string", "javaType": "java.lang.String", "enum": [ "none", "markerFile", "fileLock", "rename", "changed", "idempotent", "idempotent-changed", "idempotent-rename" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "none", "description": "Used by consumer, to only poll the files if it has exclusive read-lock on the  [...]
-    "readLockCheckInterval": { "index": 84, "kind": "parameter", "displayName": "Read Lock Check Interval", "group": "lock", "label": "consumer,lock", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 1000, "description": "Interval in millis for the read-lock, if supported by the read lock. This interval is used for sleeping between attempts to acquire the read lock. For example when using the changed read  [...]
-    "readLockDeleteOrphanLockFiles": { "index": 85, "kind": "parameter", "displayName": "Read Lock Delete Orphan Lock Files", "group": "lock", "label": "consumer,lock", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether or not read lock with marker files should upon startup delete any orphan read lock files, which may have been left on the file system, if Camel was not proper [...]
-    "readLockLoggingLevel": { "index": 86, "kind": "parameter", "displayName": "Read Lock Logging Level", "group": "lock", "label": "consumer,lock", "required": false, "type": "object", "javaType": "org.apache.camel.LoggingLevel", "enum": [ "TRACE", "DEBUG", "INFO", "WARN", "ERROR", "OFF" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "DEBUG", "description": "Logging level used when a read lock could not be acquired. By default a DEBUG is logged. You can cha [...]
-    "readLockMarkerFile": { "index": 87, "kind": "parameter", "displayName": "Read Lock Marker File", "group": "lock", "label": "consumer,lock", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether to use marker file with the changed, rename, or exclusive read lock types. By default a marker file is used as well to guard against other processes picking up the same files. This b [...]
-    "readLockMinAge": { "index": 88, "kind": "parameter", "displayName": "Read Lock Min Age", "group": "lock", "label": "consumer,lock", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 0, "description": "This option is applied only for readLock=changed. It allows to specify a minimum age the file must be before attempting to acquire the read lock. For example use readLockMinAge=300s to require the file is [...]
-    "readLockMinLength": { "index": 89, "kind": "parameter", "displayName": "Read Lock Min Length", "group": "lock", "label": "consumer,lock", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 1, "description": "This option is applied only for readLock=changed. It allows you to configure a minimum file length. By default Camel expects the file to contain data, and thus the default value is 1. You can set th [...]
-    "readLockRemoveOnCommit": { "index": 90, "kind": "parameter", "displayName": "Read Lock Remove On Commit", "group": "lock", "label": "consumer,lock", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "This option is applied only for readLock=idempotent. It allows to specify whether to remove the file name entry from the idempotent repository when processing the file is succeeded [...]
-    "readLockRemoveOnRollback": { "index": 91, "kind": "parameter", "displayName": "Read Lock Remove On Rollback", "group": "lock", "label": "consumer,lock", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "This option is applied only for readLock=idempotent. It allows to specify whether to remove the file name entry from the idempotent repository when processing the file failed an [...]
-    "readLockTimeout": { "index": 92, "kind": "parameter", "displayName": "Read Lock Timeout", "group": "lock", "label": "consumer,lock", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 10000, "description": "Optional timeout in millis for the read-lock, if supported by the read-lock. If the read-lock could not be granted and the timeout triggered, then Camel will skip the file. At next poll Camel, will t [...]
-    "backoffErrorThreshold": { "index": 93, "kind": "parameter", "displayName": "Backoff Error Threshold", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "description": "The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in." },
-    "backoffIdleThreshold": { "index": 94, "kind": "parameter", "displayName": "Backoff Idle Threshold", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "description": "The number of subsequent idle polls that should happen before the backoffMultipler should kick-in." },
-    "backoffMultiplier": { "index": 95, "kind": "parameter", "displayName": "Backoff Multiplier", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "description": "To let the scheduled polling consumer backoff if there has been a number of subsequent idles\/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is h [...]
-    "delay": { "index": 96, "kind": "parameter", "displayName": "Delay", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 500, "description": "Milliseconds before the next poll." },
-    "greedy": { "index": 97, "kind": "parameter", "displayName": "Greedy", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages." },
-    "initialDelay": { "index": 98, "kind": "parameter", "displayName": "Initial Delay", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 1000, "description": "Milliseconds before the first poll starts." },
-    "repeatCount": { "index": 99, "kind": "parameter", "displayName": "Repeat Count", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 0, "description": "Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only fire once. If you set it to 5, it will only fire five times. A value of zero or negative means fire forever." },
-    "runLoggingLevel": { "index": 100, "kind": "parameter", "displayName": "Run Logging Level", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "object", "javaType": "org.apache.camel.LoggingLevel", "enum": [ "TRACE", "DEBUG", "INFO", "WARN", "ERROR", "OFF" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "TRACE", "description": "The consumer logs a start\/complete log line when it polls. This option allows you to configure the  [...]
-    "scheduledExecutorService": { "index": 101, "kind": "parameter", "displayName": "Scheduled Executor Service", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "object", "javaType": "java.util.concurrent.ScheduledExecutorService", "deprecated": false, "autowired": false, "secret": false, "description": "Allows for configuring a custom\/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool." },
-    "scheduler": { "index": 102, "kind": "parameter", "displayName": "Scheduler", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "object", "javaType": "java.lang.Object", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "none", "description": "To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler" },
-    "schedulerProperties": { "index": 103, "kind": "parameter", "displayName": "Scheduler Properties", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "object", "javaType": "java.util.Map<java.lang.String, java.lang.Object>", "prefix": "scheduler.", "multiValue": true, "deprecated": false, "autowired": false, "secret": false, "description": "To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler." },
-    "startScheduler": { "index": 104, "kind": "parameter", "displayName": "Start Scheduler", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether the scheduler should be auto started." },
-    "timeUnit": { "index": 105, "kind": "parameter", "displayName": "Time Unit", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "object", "javaType": "java.util.concurrent.TimeUnit", "enum": [ "NANOSECONDS", "MICROSECONDS", "MILLISECONDS", "SECONDS", "MINUTES", "HOURS", "DAYS" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "MILLISECONDS", "description": "Time unit for initialDelay and delay options." },
-    "useFixedDelay": { "index": 106, "kind": "parameter", "displayName": "Use Fixed Delay", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details." },
-    "account": { "index": 107, "kind": "parameter", "displayName": "Account", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.file.remote.FtpConfiguration", "configurationField": "configuration", "description": "Account to use for login" },
-    "password": { "index": 108, "kind": "parameter", "displayName": "Password", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.file.remote.FtpConfiguration", "configurationField": "configuration", "description": "Password to use for login" },
-    "username": { "index": 109, "kind": "parameter", "displayName": "Username", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.file.remote.FtpConfiguration", "configurationField": "configuration", "description": "Username to use for login" },
-    "shuffle": { "index": 110, "kind": "parameter", "displayName": "Shuffle", "group": "sort", "label": "consumer,sort", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "To shuffle the list of files (sort in random order)" },
-    "sortBy": { "index": 111, "kind": "parameter", "displayName": "Sort By", "group": "sort", "label": "consumer,sort", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Built-in sort by using the File Language. Supports nested sorts, so you can have a sort by file name and as a 2nd group sort by modified date." },
-    "sorter": { "index": 112, "kind": "parameter", "displayName": "Sorter", "group": "sort", "label": "consumer,sort", "required": false, "type": "object", "javaType": "java.util.Comparator<org.apache.camel.component.file.GenericFile<org.apache.commons.net.ftp.FTPFile>>", "deprecated": false, "autowired": false, "secret": false, "description": "Pluggable sorter as a java.util.Comparator class." }
+    "checksumFileAlgorithm": { "index": 35, "kind": "parameter", "displayName": "Checksum File Algorithm", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "If provided, then Camel will write a checksum file when the original file has been written. The checksum file will contain the checksum created with the provided algorithm for the original file. The c [...]
+    "fileExist": { "index": 36, "kind": "parameter", "displayName": "File Exist", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "org.apache.camel.component.file.GenericFileExist", "enum": [ "Override", "Append", "Fail", "Ignore", "Move", "TryRename" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "Override", "description": "What to do if a file already exists with the same name. Override, which is the default, repl [...]
+    "flatten": { "index": 37, "kind": "parameter", "displayName": "Flatten", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Flatten is used to flatten the file name path to strip any leading paths, so it's just the file name. This allows you to consume recursively into sub-directories, but when you eg write the files to another directory [...]
+    "jailStartingDirectory": { "index": 38, "kind": "parameter", "displayName": "Jail Starting Directory", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Used for jailing (restricting) writing files to the starting directory (and sub) only. This is enabled by default to not allow Camel to write files to outside directories (to be more sec [...]
+    "moveExisting": { "index": 39, "kind": "parameter", "displayName": "Move Existing", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Expression (such as File Language) used to compute file name to use when fileExist=Move is configured. To move files into a backup subdirectory just enter backup. This option only supports the following File Language to [...]
+    "tempFileName": { "index": 40, "kind": "parameter", "displayName": "Temp File Name", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "The same as tempPrefix option but offering a more fine grained control on the naming of the temporary filename as it uses the File Language. The location for tempFilename is relative to the final file location in the o [...]
+    "tempPrefix": { "index": 41, "kind": "parameter", "displayName": "Temp Prefix", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "This option is used to write the file using a temporary name and then, after the write is complete, rename it to the real name. Can be used to identify files being written and also avoid consumers (not using exclusive read  [...]
+    "allowNullBody": { "index": 42, "kind": "parameter", "displayName": "Allow Null Body", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Used to specify if a null body is allowed during file writing. If set to true then an empty file will be created, when set to false, and attempting to send a null body to the file c [...]
+    "chmod": { "index": 43, "kind": "parameter", "displayName": "Chmod", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.file.remote.FtpConfiguration", "configurationField": "configuration", "description": "Allows you to set chmod on the stored file. For example chmod=640." },
+    "disconnectOnBatchComplete": { "index": 44, "kind": "parameter", "displayName": "Disconnect On Batch Complete", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether or not to disconnect from remote FTP server right after a Batch upload is complete. disconnectOnBatchComplete will only disconnect the current conne [...]
+    "eagerDeleteTargetFile": { "index": 45, "kind": "parameter", "displayName": "Eager Delete Target File", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether or not to eagerly delete any existing target file. This option only applies when you use fileExists=Override and the tempFileName option as well. You can use [...]
+    "keepLastModified": { "index": 46, "kind": "parameter", "displayName": "Keep Last Modified", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Will keep the last modified timestamp from the source file (if any). Will use the FileConstants.FILE_LAST_MODIFIED header to located the timestamp. This header can contain eit [...]
+    "lazyStartProducer": { "index": 47, "kind": "parameter", "displayName": "Lazy Start Producer", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a produ [...]
+    "moveExistingFileStrategy": { "index": 48, "kind": "parameter", "displayName": "Move Existing File Strategy", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "object", "javaType": "org.apache.camel.component.file.strategy.FileMoveExistingStrategy", "deprecated": false, "autowired": false, "secret": false, "description": "Strategy (Custom Strategy) used to move file with special naming token to use when fileExist=Move is configured. By default, [...]
+    "sendNoop": { "index": 49, "kind": "parameter", "displayName": "Send Noop", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.file.remote.FtpConfiguration", "configurationField": "configuration", "description": "Whether to send a noop command as a pre-write check before uploading file [...]
+    "activePortRange": { "index": 50, "kind": "parameter", "displayName": "Active Port Range", "group": "advanced", "label": "advanced", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.file.remote.FtpConfiguration", "configurationField": "configuration", "description": "Set the client side port range in active mode. The syntax is: minPort-maxPort Both port numb [...]
+    "autoCreate": { "index": 51, "kind": "parameter", "displayName": "Auto Create", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Automatically create missing directories in the file's pathname. For the file consumer, that means creating the starting directory. For the file producer, it means the directory the files should be written to." },
+    "bufferSize": { "index": 52, "kind": "parameter", "displayName": "Buffer Size", "group": "advanced", "label": "advanced", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 131072, "description": "Buffer size in bytes used for writing files (or in case of FTP for downloading and uploading files)." },
+    "connectTimeout": { "index": 53, "kind": "parameter", "displayName": "Connect Timeout", "group": "advanced", "label": "advanced", "required": false, "type": "duration", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "10000", "configurationClass": "org.apache.camel.component.file.remote.FtpConfiguration", "configurationField": "configuration", "description": "Sets the connect timeout for waiting for a connection to be established Used by b [...]
+    "ftpClient": { "index": 54, "kind": "parameter", "displayName": "Ftp Client", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "org.apache.commons.net.ftp.FTPClient", "deprecated": false, "autowired": false, "secret": false, "description": "To use a custom instance of FTPClient" },
+    "ftpClientConfig": { "index": 55, "kind": "parameter", "displayName": "Ftp Client Config", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "org.apache.commons.net.ftp.FTPClientConfig", "deprecated": false, "autowired": false, "secret": false, "description": "To use a custom instance of FTPClientConfig to configure the FTP client the endpoint should use." },
+    "ftpClientConfigParameters": { "index": 56, "kind": "parameter", "displayName": "Ftp Client Config Parameters", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "java.util.Map<java.lang.String, java.lang.Object>", "prefix": "ftpClientConfig.", "multiValue": true, "deprecated": false, "autowired": false, "secret": false, "description": "Used by FtpComponent to provide additional parameters for the FTPClientConfig" },
+    "ftpClientParameters": { "index": 57, "kind": "parameter", "displayName": "Ftp Client Parameters", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "java.util.Map<java.lang.String, java.lang.Object>", "prefix": "ftpClient.", "multiValue": true, "deprecated": false, "autowired": false, "secret": false, "description": "Used by FtpComponent to provide additional parameters for the FTPClient" },
+    "maximumReconnectAttempts": { "index": 58, "kind": "parameter", "displayName": "Maximum Reconnect Attempts", "group": "advanced", "label": "advanced", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "description": "Specifies the maximum reconnect attempts Camel performs when it tries to connect to the remote FTP server. Use 0 to disable this behavior." },
+    "reconnectDelay": { "index": 59, "kind": "parameter", "displayName": "Reconnect Delay", "group": "advanced", "label": "advanced", "required": false, "type": "duration", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "1000", "description": "Delay in millis Camel will wait before performing a reconnect attempt." },
+    "siteCommand": { "index": 60, "kind": "parameter", "displayName": "Site Command", "group": "advanced", "label": "advanced", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.file.remote.FtpConfiguration", "configurationField": "configuration", "description": "Sets optional site command(s) to be executed after successful login. Multiple site commands can be se [...]
+    "soTimeout": { "index": 61, "kind": "parameter", "displayName": "So Timeout", "group": "advanced", "label": "advanced", "required": false, "type": "duration", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "300000", "configurationClass": "org.apache.camel.component.file.remote.FtpConfiguration", "configurationField": "configuration", "description": "Sets the so timeout FTP and FTPS Is the SocketOptions.SO_TIMEOUT value in millis. Recommen [...]
+    "stepwise": { "index": 62, "kind": "parameter", "displayName": "Stepwise", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.file.remote.FtpConfiguration", "configurationField": "configuration", "description": "Sets whether we should stepwise change directories while traversing file structures when downl [...]
+    "throwExceptionOnConnectFailed": { "index": 63, "kind": "parameter", "displayName": "Throw Exception On Connect Failed", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.file.remote.FtpConfiguration", "configurationField": "configuration", "description": "Should an exception be thrown if connection fai [...]
+    "timeout": { "index": 64, "kind": "parameter", "displayName": "Timeout", "group": "advanced", "label": "advanced", "required": false, "type": "duration", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "30000", "configurationClass": "org.apache.camel.component.file.remote.FtpConfiguration", "configurationField": "configuration", "description": "Sets the data timeout for waiting for reply Used only by FTPClient" },
+    "antExclude": { "index": 65, "kind": "parameter", "displayName": "Ant Exclude", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Ant style filter exclusion. If both antInclude and antExclude are used, antExclude takes precedence over antInclude. Multiple exclusions may be specified in comma-delimited format." },
+    "antFilterCaseSensitive": { "index": 66, "kind": "parameter", "displayName": "Ant Filter Case Sensitive", "group": "filter", "label": "consumer,filter", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Sets case sensitive flag on ant filter." },
+    "antInclude": { "index": 67, "kind": "parameter", "displayName": "Ant Include", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Ant style filter inclusion. Multiple inclusions may be specified in comma-delimited format." },
+    "eagerMaxMessagesPerPoll": { "index": 68, "kind": "parameter", "displayName": "Eager Max Messages Per Poll", "group": "filter", "label": "consumer,filter", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Allows for controlling whether the limit from maxMessagesPerPoll is eager or not. If eager then the limit is during the scanning of files. Where as false would scan all files, [...]
+    "exclude": { "index": 69, "kind": "parameter", "displayName": "Exclude", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Is used to exclude files, if filename matches the regex pattern (matching is case in-sensitive). Notice if you use symbols such as plus sign and others you would need to configure this using the RAW() syntax if configuring th [...]
+    "excludeExt": { "index": 70, "kind": "parameter", "displayName": "Exclude Ext", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Is used to exclude files matching file extension name (case insensitive). For example to exclude bak files, then use excludeExt=bak. Multiple extensions can be separated by comma, for example to exclude bak and dat fil [...]
+    "filter": { "index": 71, "kind": "parameter", "displayName": "Filter", "group": "filter", "label": "consumer,filter", "required": false, "type": "object", "javaType": "org.apache.camel.component.file.GenericFileFilter<org.apache.commons.net.ftp.FTPFile>", "deprecated": false, "autowired": false, "secret": false, "description": "Pluggable filter as a org.apache.camel.component.file.GenericFileFilter class. Will skip files if filter returns false in its accept() method." },
+    "filterDirectory": { "index": 72, "kind": "parameter", "displayName": "Filter Directory", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Filters the directory based on Simple language. For example to filter on current date, you can use a simple date pattern such as ${date:now:yyyMMdd}" },
+    "filterFile": { "index": 73, "kind": "parameter", "displayName": "Filter File", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Filters the file based on Simple language. For example to filter on file size, you can use ${file:size} 5000" },
+    "idempotent": { "index": 74, "kind": "parameter", "displayName": "Idempotent", "group": "filter", "label": "consumer,filter", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "false", "description": "Option to use the Idempotent Consumer EIP pattern to let Camel skip already processed files. Will by default use a memory based LRUCache that holds 1000 entries. If noop=true then idempotent w [...]
+    "idempotentKey": { "index": 75, "kind": "parameter", "displayName": "Idempotent Key", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "To use a custom idempotent key. By default the absolute path of the file is used. You can use the File Language, for example to use the file name and file size, you can do: idempotentKey=${file:name}-${file:size}" },
+    "idempotentRepository": { "index": 76, "kind": "parameter", "displayName": "Idempotent Repository", "group": "filter", "label": "consumer,filter", "required": false, "type": "object", "javaType": "org.apache.camel.spi.IdempotentRepository", "deprecated": false, "autowired": false, "secret": false, "description": "A pluggable repository org.apache.camel.spi.IdempotentRepository which by default use MemoryIdempotentRepository if none is specified and idempotent is true." },
+    "include": { "index": 77, "kind": "parameter", "displayName": "Include", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Is used to include files, if filename matches the regex pattern (matching is case in-sensitive). Notice if you use symbols such as plus sign and others you would need to configure this using the RAW() syntax if configuring th [...]
+    "includeExt": { "index": 78, "kind": "parameter", "displayName": "Include Ext", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Is used to include files matching file extension name (case insensitive). For example to include txt files, then use includeExt=txt. Multiple extensions can be separated by comma, for example to include txt and xml fil [...]
+    "maxDepth": { "index": 79, "kind": "parameter", "displayName": "Max Depth", "group": "filter", "label": "consumer,filter", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 2147483647, "description": "The maximum depth to traverse when recursively processing a directory." },
+    "maxMessagesPerPoll": { "index": 80, "kind": "parameter", "displayName": "Max Messages Per Poll", "group": "filter", "label": "consumer,filter", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "description": "To define a maximum messages to gather per poll. By default no maximum is set. Can be used to set a limit of e.g. 1000 to avoid when starting up the server that there are thousands of files. Set a value of 0 or n [...]
+    "minDepth": { "index": 81, "kind": "parameter", "displayName": "Min Depth", "group": "filter", "label": "consumer,filter", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "description": "The minimum depth to start processing when recursively processing a directory. Using minDepth=1 means the base directory. Using minDepth=2 means the first sub directory." },
+    "move": { "index": 82, "kind": "parameter", "displayName": "Move", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Expression (such as Simple Language) used to dynamically set the filename when moving it after processing. To move files into a .done subdirectory just enter .done." },
+    "exclusiveReadLockStrategy": { "index": 83, "kind": "parameter", "displayName": "Exclusive Read Lock Strategy", "group": "lock", "label": "consumer,lock", "required": false, "type": "object", "javaType": "org.apache.camel.component.file.GenericFileExclusiveReadLockStrategy<org.apache.commons.net.ftp.FTPFile>", "deprecated": false, "autowired": false, "secret": false, "description": "Pluggable read-lock as a org.apache.camel.component.file.GenericFileExclusiveReadLockStrategy implemen [...]
+    "readLock": { "index": 84, "kind": "parameter", "displayName": "Read Lock", "group": "lock", "label": "consumer,lock", "required": false, "type": "string", "javaType": "java.lang.String", "enum": [ "none", "markerFile", "fileLock", "rename", "changed", "idempotent", "idempotent-changed", "idempotent-rename" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "none", "description": "Used by consumer, to only poll the files if it has exclusive read-lock on the  [...]
+    "readLockCheckInterval": { "index": 85, "kind": "parameter", "displayName": "Read Lock Check Interval", "group": "lock", "label": "consumer,lock", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 1000, "description": "Interval in millis for the read-lock, if supported by the read lock. This interval is used for sleeping between attempts to acquire the read lock. For example when using the changed read  [...]
+    "readLockDeleteOrphanLockFiles": { "index": 86, "kind": "parameter", "displayName": "Read Lock Delete Orphan Lock Files", "group": "lock", "label": "consumer,lock", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether or not read lock with marker files should upon startup delete any orphan read lock files, which may have been left on the file system, if Camel was not proper [...]
+    "readLockLoggingLevel": { "index": 87, "kind": "parameter", "displayName": "Read Lock Logging Level", "group": "lock", "label": "consumer,lock", "required": false, "type": "object", "javaType": "org.apache.camel.LoggingLevel", "enum": [ "TRACE", "DEBUG", "INFO", "WARN", "ERROR", "OFF" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "DEBUG", "description": "Logging level used when a read lock could not be acquired. By default a DEBUG is logged. You can cha [...]
+    "readLockMarkerFile": { "index": 88, "kind": "parameter", "displayName": "Read Lock Marker File", "group": "lock", "label": "consumer,lock", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether to use marker file with the changed, rename, or exclusive read lock types. By default a marker file is used as well to guard against other processes picking up the same files. This b [...]
+    "readLockMinAge": { "index": 89, "kind": "parameter", "displayName": "Read Lock Min Age", "group": "lock", "label": "consumer,lock", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 0, "description": "This option is applied only for readLock=changed. It allows to specify a minimum age the file must be before attempting to acquire the read lock. For example use readLockMinAge=300s to require the file is [...]
+    "readLockMinLength": { "index": 90, "kind": "parameter", "displayName": "Read Lock Min Length", "group": "lock", "label": "consumer,lock", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 1, "description": "This option is applied only for readLock=changed. It allows you to configure a minimum file length. By default Camel expects the file to contain data, and thus the default value is 1. You can set th [...]
+    "readLockRemoveOnCommit": { "index": 91, "kind": "parameter", "displayName": "Read Lock Remove On Commit", "group": "lock", "label": "consumer,lock", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "This option is applied only for readLock=idempotent. It allows to specify whether to remove the file name entry from the idempotent repository when processing the file is succeeded [...]
+    "readLockRemoveOnRollback": { "index": 92, "kind": "parameter", "displayName": "Read Lock Remove On Rollback", "group": "lock", "label": "consumer,lock", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "This option is applied only for readLock=idempotent. It allows to specify whether to remove the file name entry from the idempotent repository when processing the file failed an [...]
+    "readLockTimeout": { "index": 93, "kind": "parameter", "displayName": "Read Lock Timeout", "group": "lock", "label": "consumer,lock", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 10000, "description": "Optional timeout in millis for the read-lock, if supported by the read-lock. If the read-lock could not be granted and the timeout triggered, then Camel will skip the file. At next poll Camel, will t [...]
+    "backoffErrorThreshold": { "index": 94, "kind": "parameter", "displayName": "Backoff Error Threshold", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "description": "The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in." },
+    "backoffIdleThreshold": { "index": 95, "kind": "parameter", "displayName": "Backoff Idle Threshold", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "description": "The number of subsequent idle polls that should happen before the backoffMultipler should kick-in." },
+    "backoffMultiplier": { "index": 96, "kind": "parameter", "displayName": "Backoff Multiplier", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "description": "To let the scheduled polling consumer backoff if there has been a number of subsequent idles\/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is h [...]
+    "delay": { "index": 97, "kind": "parameter", "displayName": "Delay", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 500, "description": "Milliseconds before the next poll." },
+    "greedy": { "index": 98, "kind": "parameter", "displayName": "Greedy", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages." },
+    "initialDelay": { "index": 99, "kind": "parameter", "displayName": "Initial Delay", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 1000, "description": "Milliseconds before the first poll starts." },
+    "repeatCount": { "index": 100, "kind": "parameter", "displayName": "Repeat Count", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 0, "description": "Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only fire once. If you set it to 5, it will only fire five times. A value of zero or negative means fire forever." },
+    "runLoggingLevel": { "index": 101, "kind": "parameter", "displayName": "Run Logging Level", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "object", "javaType": "org.apache.camel.LoggingLevel", "enum": [ "TRACE", "DEBUG", "INFO", "WARN", "ERROR", "OFF" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "TRACE", "description": "The consumer logs a start\/complete log line when it polls. This option allows you to configure the  [...]
+    "scheduledExecutorService": { "index": 102, "kind": "parameter", "displayName": "Scheduled Executor Service", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "object", "javaType": "java.util.concurrent.ScheduledExecutorService", "deprecated": false, "autowired": false, "secret": false, "description": "Allows for configuring a custom\/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool." },
+    "scheduler": { "index": 103, "kind": "parameter", "displayName": "Scheduler", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "object", "javaType": "java.lang.Object", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "none", "description": "To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler" },
+    "schedulerProperties": { "index": 104, "kind": "parameter", "displayName": "Scheduler Properties", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "object", "javaType": "java.util.Map<java.lang.String, java.lang.Object>", "prefix": "scheduler.", "multiValue": true, "deprecated": false, "autowired": false, "secret": false, "description": "To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler." },
+    "startScheduler": { "index": 105, "kind": "parameter", "displayName": "Start Scheduler", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether the scheduler should be auto started." },
+    "timeUnit": { "index": 106, "kind": "parameter", "displayName": "Time Unit", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "object", "javaType": "java.util.concurrent.TimeUnit", "enum": [ "NANOSECONDS", "MICROSECONDS", "MILLISECONDS", "SECONDS", "MINUTES", "HOURS", "DAYS" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "MILLISECONDS", "description": "Time unit for initialDelay and delay options." },
+    "useFixedDelay": { "index": 107, "kind": "parameter", "displayName": "Use Fixed Delay", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details." },
+    "account": { "index": 108, "kind": "parameter", "displayName": "Account", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.file.remote.FtpConfiguration", "configurationField": "configuration", "description": "Account to use for login" },
+    "password": { "index": 109, "kind": "parameter", "displayName": "Password", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.file.remote.FtpConfiguration", "configurationField": "configuration", "description": "Password to use for login" },
+    "username": { "index": 110, "kind": "parameter", "displayName": "Username", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.file.remote.FtpConfiguration", "configurationField": "configuration", "description": "Username to use for login" },
+    "shuffle": { "index": 111, "kind": "parameter", "displayName": "Shuffle", "group": "sort", "label": "consumer,sort", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "To shuffle the list of files (sort in random order)" },
+    "sortBy": { "index": 112, "kind": "parameter", "displayName": "Sort By", "group": "sort", "label": "consumer,sort", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Built-in sort by using the File Language. Supports nested sorts, so you can have a sort by file name and as a 2nd group sort by modified date." },
+    "sorter": { "index": 113, "kind": "parameter", "displayName": "Sorter", "group": "sort", "label": "consumer,sort", "required": false, "type": "object", "javaType": "java.util.Comparator<org.apache.camel.component.file.GenericFile<org.apache.commons.net.ftp.FTPFile>>", "deprecated": false, "autowired": false, "secret": false, "description": "Pluggable sorter as a java.util.Comparator class." }
   }
 }
diff --git a/components/camel-ftp/src/generated/resources/org/apache/camel/component/file/remote/ftps.json b/components/camel-ftp/src/generated/resources/org/apache/camel/component/file/remote/ftps.json
index 6ec7423c40d..65ba93938ca 100644
--- a/components/camel-ftp/src/generated/resources/org/apache/camel/component/file/remote/ftps.json
+++ b/components/camel-ftp/src/generated/resources/org/apache/camel/component/file/remote/ftps.json
@@ -78,91 +78,92 @@
     "pollStrategy": { "index": 32, "kind": "parameter", "displayName": "Poll Strategy", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "object", "javaType": "org.apache.camel.spi.PollingConsumerPollStrategy", "deprecated": false, "autowired": false, "secret": false, "description": "A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the po [...]
     "processStrategy": { "index": 33, "kind": "parameter", "displayName": "Process Strategy", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "object", "javaType": "org.apache.camel.component.file.GenericFileProcessStrategy<org.apache.commons.net.ftp.FTPFile>", "deprecated": false, "autowired": false, "secret": false, "description": "A pluggable org.apache.camel.component.file.GenericFileProcessStrategy allowing you to implement your own readLock  [...]
     "useList": { "index": 34, "kind": "parameter", "displayName": "Use List", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.file.remote.FtpsConfiguration", "configurationField": "configuration", "description": "Whether to allow using LIST command when downloading a file. Default is tr [...]
-    "fileExist": { "index": 35, "kind": "parameter", "displayName": "File Exist", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "org.apache.camel.component.file.GenericFileExist", "enum": [ "Override", "Append", "Fail", "Ignore", "Move", "TryRename" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "Override", "description": "What to do if a file already exists with the same name. Override, which is the default, repl [...]
-    "flatten": { "index": 36, "kind": "parameter", "displayName": "Flatten", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Flatten is used to flatten the file name path to strip any leading paths, so it's just the file name. This allows you to consume recursively into sub-directories, but when you eg write the files to another directory [...]
-    "jailStartingDirectory": { "index": 37, "kind": "parameter", "displayName": "Jail Starting Directory", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Used for jailing (restricting) writing files to the starting directory (and sub) only. This is enabled by default to not allow Camel to write files to outside directories (to be more sec [...]
-    "moveExisting": { "index": 38, "kind": "parameter", "displayName": "Move Existing", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Expression (such as File Language) used to compute file name to use when fileExist=Move is configured. To move files into a backup subdirectory just enter backup. This option only supports the following File Language to [...]
-    "tempFileName": { "index": 39, "kind": "parameter", "displayName": "Temp File Name", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "The same as tempPrefix option but offering a more fine grained control on the naming of the temporary filename as it uses the File Language. The location for tempFilename is relative to the final file location in the o [...]
-    "tempPrefix": { "index": 40, "kind": "parameter", "displayName": "Temp Prefix", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "This option is used to write the file using a temporary name and then, after the write is complete, rename it to the real name. Can be used to identify files being written and also avoid consumers (not using exclusive read  [...]
-    "allowNullBody": { "index": 41, "kind": "parameter", "displayName": "Allow Null Body", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Used to specify if a null body is allowed during file writing. If set to true then an empty file will be created, when set to false, and attempting to send a null body to the file c [...]
-    "chmod": { "index": 42, "kind": "parameter", "displayName": "Chmod", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.file.remote.FtpsConfiguration", "configurationField": "configuration", "description": "Allows you to set chmod on the stored file. For example chmod=640." },
-    "disconnectOnBatchComplete": { "index": 43, "kind": "parameter", "displayName": "Disconnect On Batch Complete", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether or not to disconnect from remote FTP server right after a Batch upload is complete. disconnectOnBatchComplete will only disconnect the current conne [...]
-    "eagerDeleteTargetFile": { "index": 44, "kind": "parameter", "displayName": "Eager Delete Target File", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether or not to eagerly delete any existing target file. This option only applies when you use fileExists=Override and the tempFileName option as well. You can use [...]
-    "keepLastModified": { "index": 45, "kind": "parameter", "displayName": "Keep Last Modified", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Will keep the last modified timestamp from the source file (if any). Will use the FileConstants.FILE_LAST_MODIFIED header to located the timestamp. This header can contain eit [...]
-    "lazyStartProducer": { "index": 46, "kind": "parameter", "displayName": "Lazy Start Producer", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a produ [...]
-    "moveExistingFileStrategy": { "index": 47, "kind": "parameter", "displayName": "Move Existing File Strategy", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "object", "javaType": "org.apache.camel.component.file.strategy.FileMoveExistingStrategy", "deprecated": false, "autowired": false, "secret": false, "description": "Strategy (Custom Strategy) used to move file with special naming token to use when fileExist=Move is configured. By default, [...]
-    "sendNoop": { "index": 48, "kind": "parameter", "displayName": "Send Noop", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.file.remote.FtpsConfiguration", "configurationField": "configuration", "description": "Whether to send a noop command as a pre-write check before uploading fil [...]
-    "activePortRange": { "index": 49, "kind": "parameter", "displayName": "Active Port Range", "group": "advanced", "label": "advanced", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.file.remote.FtpsConfiguration", "configurationField": "configuration", "description": "Set the client side port range in active mode. The syntax is: minPort-maxPort Both port num [...]
-    "autoCreate": { "index": 50, "kind": "parameter", "displayName": "Auto Create", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Automatically create missing directories in the file's pathname. For the file consumer, that means creating the starting directory. For the file producer, it means the directory the files should be written to." },
-    "bufferSize": { "index": 51, "kind": "parameter", "displayName": "Buffer Size", "group": "advanced", "label": "advanced", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 131072, "description": "Buffer size in bytes used for writing files (or in case of FTP for downloading and uploading files)." },
-    "connectTimeout": { "index": 52, "kind": "parameter", "displayName": "Connect Timeout", "group": "advanced", "label": "advanced", "required": false, "type": "duration", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "10000", "configurationClass": "org.apache.camel.component.file.remote.FtpsConfiguration", "configurationField": "configuration", "description": "Sets the connect timeout for waiting for a connection to be established Used by  [...]
-    "ftpClient": { "index": 53, "kind": "parameter", "displayName": "Ftp Client", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "org.apache.commons.net.ftp.FTPClient", "deprecated": false, "autowired": false, "secret": false, "description": "To use a custom instance of FTPClient" },
-    "ftpClientConfig": { "index": 54, "kind": "parameter", "displayName": "Ftp Client Config", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "org.apache.commons.net.ftp.FTPClientConfig", "deprecated": false, "autowired": false, "secret": false, "description": "To use a custom instance of FTPClientConfig to configure the FTP client the endpoint should use." },
-    "ftpClientConfigParameters": { "index": 55, "kind": "parameter", "displayName": "Ftp Client Config Parameters", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "java.util.Map<java.lang.String, java.lang.Object>", "prefix": "ftpClientConfig.", "multiValue": true, "deprecated": false, "autowired": false, "secret": false, "description": "Used by FtpComponent to provide additional parameters for the FTPClientConfig" },
-    "ftpClientParameters": { "index": 56, "kind": "parameter", "displayName": "Ftp Client Parameters", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "java.util.Map<java.lang.String, java.lang.Object>", "prefix": "ftpClient.", "multiValue": true, "deprecated": false, "autowired": false, "secret": false, "description": "Used by FtpComponent to provide additional parameters for the FTPClient" },
-    "maximumReconnectAttempts": { "index": 57, "kind": "parameter", "displayName": "Maximum Reconnect Attempts", "group": "advanced", "label": "advanced", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "description": "Specifies the maximum reconnect attempts Camel performs when it tries to connect to the remote FTP server. Use 0 to disable this behavior." },
-    "reconnectDelay": { "index": 58, "kind": "parameter", "displayName": "Reconnect Delay", "group": "advanced", "label": "advanced", "required": false, "type": "duration", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "1000", "description": "Delay in millis Camel will wait before performing a reconnect attempt." },
-    "siteCommand": { "index": 59, "kind": "parameter", "displayName": "Site Command", "group": "advanced", "label": "advanced", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.file.remote.FtpsConfiguration", "configurationField": "configuration", "description": "Sets optional site command(s) to be executed after successful login. Multiple site commands can be s [...]
-    "soTimeout": { "index": 60, "kind": "parameter", "displayName": "So Timeout", "group": "advanced", "label": "advanced", "required": false, "type": "duration", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "300000", "configurationClass": "org.apache.camel.component.file.remote.FtpsConfiguration", "configurationField": "configuration", "description": "Sets the so timeout FTP and FTPS Is the SocketOptions.SO_TIMEOUT value in millis. Recomme [...]
-    "stepwise": { "index": 61, "kind": "parameter", "displayName": "Stepwise", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.file.remote.FtpsConfiguration", "configurationField": "configuration", "description": "Sets whether we should stepwise change directories while traversing file structures when down [...]
-    "throwExceptionOnConnectFailed": { "index": 62, "kind": "parameter", "displayName": "Throw Exception On Connect Failed", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.file.remote.FtpsConfiguration", "configurationField": "configuration", "description": "Should an exception be thrown if connection fa [...]
-    "timeout": { "index": 63, "kind": "parameter", "displayName": "Timeout", "group": "advanced", "label": "advanced", "required": false, "type": "duration", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "30000", "configurationClass": "org.apache.camel.component.file.remote.FtpsConfiguration", "configurationField": "configuration", "description": "Sets the data timeout for waiting for reply Used only by FTPClient" },
-    "antExclude": { "index": 64, "kind": "parameter", "displayName": "Ant Exclude", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Ant style filter exclusion. If both antInclude and antExclude are used, antExclude takes precedence over antInclude. Multiple exclusions may be specified in comma-delimited format." },
-    "antFilterCaseSensitive": { "index": 65, "kind": "parameter", "displayName": "Ant Filter Case Sensitive", "group": "filter", "label": "consumer,filter", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Sets case sensitive flag on ant filter." },
-    "antInclude": { "index": 66, "kind": "parameter", "displayName": "Ant Include", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Ant style filter inclusion. Multiple inclusions may be specified in comma-delimited format." },
-    "eagerMaxMessagesPerPoll": { "index": 67, "kind": "parameter", "displayName": "Eager Max Messages Per Poll", "group": "filter", "label": "consumer,filter", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Allows for controlling whether the limit from maxMessagesPerPoll is eager or not. If eager then the limit is during the scanning of files. Where as false would scan all files, [...]
-    "exclude": { "index": 68, "kind": "parameter", "displayName": "Exclude", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Is used to exclude files, if filename matches the regex pattern (matching is case in-sensitive). Notice if you use symbols such as plus sign and others you would need to configure this using the RAW() syntax if configuring th [...]
-    "excludeExt": { "index": 69, "kind": "parameter", "displayName": "Exclude Ext", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Is used to exclude files matching file extension name (case insensitive). For example to exclude bak files, then use excludeExt=bak. Multiple extensions can be separated by comma, for example to exclude bak and dat fil [...]
-    "filter": { "index": 70, "kind": "parameter", "displayName": "Filter", "group": "filter", "label": "consumer,filter", "required": false, "type": "object", "javaType": "org.apache.camel.component.file.GenericFileFilter<org.apache.commons.net.ftp.FTPFile>", "deprecated": false, "autowired": false, "secret": false, "description": "Pluggable filter as a org.apache.camel.component.file.GenericFileFilter class. Will skip files if filter returns false in its accept() method." },
-    "filterDirectory": { "index": 71, "kind": "parameter", "displayName": "Filter Directory", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Filters the directory based on Simple language. For example to filter on current date, you can use a simple date pattern such as ${date:now:yyyMMdd}" },
-    "filterFile": { "index": 72, "kind": "parameter", "displayName": "Filter File", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Filters the file based on Simple language. For example to filter on file size, you can use ${file:size} 5000" },
-    "idempotent": { "index": 73, "kind": "parameter", "displayName": "Idempotent", "group": "filter", "label": "consumer,filter", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "false", "description": "Option to use the Idempotent Consumer EIP pattern to let Camel skip already processed files. Will by default use a memory based LRUCache that holds 1000 entries. If noop=true then idempotent w [...]
-    "idempotentKey": { "index": 74, "kind": "parameter", "displayName": "Idempotent Key", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "To use a custom idempotent key. By default the absolute path of the file is used. You can use the File Language, for example to use the file name and file size, you can do: idempotentKey=${file:name}-${file:size}" },
-    "idempotentRepository": { "index": 75, "kind": "parameter", "displayName": "Idempotent Repository", "group": "filter", "label": "consumer,filter", "required": false, "type": "object", "javaType": "org.apache.camel.spi.IdempotentRepository", "deprecated": false, "autowired": false, "secret": false, "description": "A pluggable repository org.apache.camel.spi.IdempotentRepository which by default use MemoryIdempotentRepository if none is specified and idempotent is true." },
-    "include": { "index": 76, "kind": "parameter", "displayName": "Include", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Is used to include files, if filename matches the regex pattern (matching is case in-sensitive). Notice if you use symbols such as plus sign and others you would need to configure this using the RAW() syntax if configuring th [...]
-    "includeExt": { "index": 77, "kind": "parameter", "displayName": "Include Ext", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Is used to include files matching file extension name (case insensitive). For example to include txt files, then use includeExt=txt. Multiple extensions can be separated by comma, for example to include txt and xml fil [...]
-    "maxDepth": { "index": 78, "kind": "parameter", "displayName": "Max Depth", "group": "filter", "label": "consumer,filter", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 2147483647, "description": "The maximum depth to traverse when recursively processing a directory." },
-    "maxMessagesPerPoll": { "index": 79, "kind": "parameter", "displayName": "Max Messages Per Poll", "group": "filter", "label": "consumer,filter", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "description": "To define a maximum messages to gather per poll. By default no maximum is set. Can be used to set a limit of e.g. 1000 to avoid when starting up the server that there are thousands of files. Set a value of 0 or n [...]
-    "minDepth": { "index": 80, "kind": "parameter", "displayName": "Min Depth", "group": "filter", "label": "consumer,filter", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "description": "The minimum depth to start processing when recursively processing a directory. Using minDepth=1 means the base directory. Using minDepth=2 means the first sub directory." },
-    "move": { "index": 81, "kind": "parameter", "displayName": "Move", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Expression (such as Simple Language) used to dynamically set the filename when moving it after processing. To move files into a .done subdirectory just enter .done." },
-    "exclusiveReadLockStrategy": { "index": 82, "kind": "parameter", "displayName": "Exclusive Read Lock Strategy", "group": "lock", "label": "consumer,lock", "required": false, "type": "object", "javaType": "org.apache.camel.component.file.GenericFileExclusiveReadLockStrategy<org.apache.commons.net.ftp.FTPFile>", "deprecated": false, "autowired": false, "secret": false, "description": "Pluggable read-lock as a org.apache.camel.component.file.GenericFileExclusiveReadLockStrategy implemen [...]
-    "readLock": { "index": 83, "kind": "parameter", "displayName": "Read Lock", "group": "lock", "label": "consumer,lock", "required": false, "type": "string", "javaType": "java.lang.String", "enum": [ "none", "markerFile", "fileLock", "rename", "changed", "idempotent", "idempotent-changed", "idempotent-rename" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "none", "description": "Used by consumer, to only poll the files if it has exclusive read-lock on the  [...]
-    "readLockCheckInterval": { "index": 84, "kind": "parameter", "displayName": "Read Lock Check Interval", "group": "lock", "label": "consumer,lock", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 1000, "description": "Interval in millis for the read-lock, if supported by the read lock. This interval is used for sleeping between attempts to acquire the read lock. For example when using the changed read  [...]
-    "readLockDeleteOrphanLockFiles": { "index": 85, "kind": "parameter", "displayName": "Read Lock Delete Orphan Lock Files", "group": "lock", "label": "consumer,lock", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether or not read lock with marker files should upon startup delete any orphan read lock files, which may have been left on the file system, if Camel was not proper [...]
-    "readLockLoggingLevel": { "index": 86, "kind": "parameter", "displayName": "Read Lock Logging Level", "group": "lock", "label": "consumer,lock", "required": false, "type": "object", "javaType": "org.apache.camel.LoggingLevel", "enum": [ "TRACE", "DEBUG", "INFO", "WARN", "ERROR", "OFF" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "DEBUG", "description": "Logging level used when a read lock could not be acquired. By default a DEBUG is logged. You can cha [...]
-    "readLockMarkerFile": { "index": 87, "kind": "parameter", "displayName": "Read Lock Marker File", "group": "lock", "label": "consumer,lock", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether to use marker file with the changed, rename, or exclusive read lock types. By default a marker file is used as well to guard against other processes picking up the same files. This b [...]
-    "readLockMinAge": { "index": 88, "kind": "parameter", "displayName": "Read Lock Min Age", "group": "lock", "label": "consumer,lock", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 0, "description": "This option is applied only for readLock=changed. It allows to specify a minimum age the file must be before attempting to acquire the read lock. For example use readLockMinAge=300s to require the file is [...]
-    "readLockMinLength": { "index": 89, "kind": "parameter", "displayName": "Read Lock Min Length", "group": "lock", "label": "consumer,lock", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 1, "description": "This option is applied only for readLock=changed. It allows you to configure a minimum file length. By default Camel expects the file to contain data, and thus the default value is 1. You can set th [...]
-    "readLockRemoveOnCommit": { "index": 90, "kind": "parameter", "displayName": "Read Lock Remove On Commit", "group": "lock", "label": "consumer,lock", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "This option is applied only for readLock=idempotent. It allows to specify whether to remove the file name entry from the idempotent repository when processing the file is succeeded [...]
-    "readLockRemoveOnRollback": { "index": 91, "kind": "parameter", "displayName": "Read Lock Remove On Rollback", "group": "lock", "label": "consumer,lock", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "This option is applied only for readLock=idempotent. It allows to specify whether to remove the file name entry from the idempotent repository when processing the file failed an [...]
-    "readLockTimeout": { "index": 92, "kind": "parameter", "displayName": "Read Lock Timeout", "group": "lock", "label": "consumer,lock", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 10000, "description": "Optional timeout in millis for the read-lock, if supported by the read-lock. If the read-lock could not be granted and the timeout triggered, then Camel will skip the file. At next poll Camel, will t [...]
-    "backoffErrorThreshold": { "index": 93, "kind": "parameter", "displayName": "Backoff Error Threshold", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "description": "The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in." },
-    "backoffIdleThreshold": { "index": 94, "kind": "parameter", "displayName": "Backoff Idle Threshold", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "description": "The number of subsequent idle polls that should happen before the backoffMultipler should kick-in." },
-    "backoffMultiplier": { "index": 95, "kind": "parameter", "displayName": "Backoff Multiplier", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "description": "To let the scheduled polling consumer backoff if there has been a number of subsequent idles\/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is h [...]
-    "delay": { "index": 96, "kind": "parameter", "displayName": "Delay", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 500, "description": "Milliseconds before the next poll." },
-    "greedy": { "index": 97, "kind": "parameter", "displayName": "Greedy", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages." },
-    "initialDelay": { "index": 98, "kind": "parameter", "displayName": "Initial Delay", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 1000, "description": "Milliseconds before the first poll starts." },
-    "repeatCount": { "index": 99, "kind": "parameter", "displayName": "Repeat Count", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 0, "description": "Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only fire once. If you set it to 5, it will only fire five times. A value of zero or negative means fire forever." },
-    "runLoggingLevel": { "index": 100, "kind": "parameter", "displayName": "Run Logging Level", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "object", "javaType": "org.apache.camel.LoggingLevel", "enum": [ "TRACE", "DEBUG", "INFO", "WARN", "ERROR", "OFF" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "TRACE", "description": "The consumer logs a start\/complete log line when it polls. This option allows you to configure the  [...]
-    "scheduledExecutorService": { "index": 101, "kind": "parameter", "displayName": "Scheduled Executor Service", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "object", "javaType": "java.util.concurrent.ScheduledExecutorService", "deprecated": false, "autowired": false, "secret": false, "description": "Allows for configuring a custom\/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool." },
-    "scheduler": { "index": 102, "kind": "parameter", "displayName": "Scheduler", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "object", "javaType": "java.lang.Object", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "none", "description": "To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler" },
-    "schedulerProperties": { "index": 103, "kind": "parameter", "displayName": "Scheduler Properties", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "object", "javaType": "java.util.Map<java.lang.String, java.lang.Object>", "prefix": "scheduler.", "multiValue": true, "deprecated": false, "autowired": false, "secret": false, "description": "To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler." },
-    "startScheduler": { "index": 104, "kind": "parameter", "displayName": "Start Scheduler", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether the scheduler should be auto started." },
-    "timeUnit": { "index": 105, "kind": "parameter", "displayName": "Time Unit", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "object", "javaType": "java.util.concurrent.TimeUnit", "enum": [ "NANOSECONDS", "MICROSECONDS", "MILLISECONDS", "SECONDS", "MINUTES", "HOURS", "DAYS" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "MILLISECONDS", "description": "Time unit for initialDelay and delay options." },
-    "useFixedDelay": { "index": 106, "kind": "parameter", "displayName": "Use Fixed Delay", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details." },
-    "account": { "index": 107, "kind": "parameter", "displayName": "Account", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.file.remote.FtpsConfiguration", "configurationField": "configuration", "description": "Account to use for login" },
-    "disableSecureDataChannelDefaults": { "index": 108, "kind": "parameter", "displayName": "Disable Secure Data Channel Defaults", "group": "security", "label": "security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.file.remote.FtpsConfiguration", "configurationField": "configuration", "description": "Use this option to disable default opti [...]
-    "execPbsz": { "index": 109, "kind": "parameter", "displayName": "Exec Pbsz", "group": "security", "label": "security", "required": false, "type": "integer", "javaType": "java.lang.Long", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.file.remote.FtpsConfiguration", "configurationField": "configuration", "description": "When using secure data channel you can set the exec protection buffer size" },
-    "execProt": { "index": 110, "kind": "parameter", "displayName": "Exec Prot", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.file.remote.FtpsConfiguration", "configurationField": "configuration", "description": "The exec protection level PROT command. C - Clear S - Safe(SSL protocol only) E - Confidential(SSL protoc [...]
-    "ftpClientKeyStoreParameters": { "index": 111, "kind": "parameter", "displayName": "Ftp Client Key Store Parameters", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "java.util.Map<java.lang.String, java.lang.Object>", "prefix": "ftpClient.keyStore.", "multiValue": true, "deprecated": false, "autowired": false, "secret": false, "description": "Set the key store parameters" },
-    "ftpClientTrustStoreParameters": { "index": 112, "kind": "parameter", "displayName": "Ftp Client Trust Store Parameters", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "java.util.Map<java.lang.String, java.lang.Object>", "prefix": "ftpClient.trustStore.", "multiValue": true, "deprecated": false, "autowired": false, "secret": false, "description": "Set the trust store parameters" },
-    "implicit": { "index": 113, "kind": "parameter", "displayName": "Implicit", "group": "security", "label": "security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.file.remote.FtpsConfiguration", "configurationField": "configuration", "description": "Set the security mode (Implicit\/Explicit). true - Implicit Mode \/ False - Explicit Mode" },
-    "password": { "index": 114, "kind": "parameter", "displayName": "Password", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.file.remote.FtpsConfiguration", "configurationField": "configuration", "description": "Password to use for login" },
-    "securityProtocol": { "index": 115, "kind": "parameter", "displayName": "Security Protocol", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "TLSv1.3", "configurationClass": "org.apache.camel.component.file.remote.FtpsConfiguration", "configurationField": "configuration", "description": "Set the underlying security protocol." },
-    "sslContextParameters": { "index": 116, "kind": "parameter", "displayName": "Ssl Context Parameters", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.apache.camel.support.jsse.SSLContextParameters", "deprecated": false, "autowired": false, "secret": false, "description": "Gets the JSSE configuration that overrides any settings in FtpsEndpoint#ftpClientKeyStoreParameters, ftpClientTrustStoreParameters, and FtpsConfiguration#getSecurityPr [...]
-    "username": { "index": 117, "kind": "parameter", "displayName": "Username", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.file.remote.FtpsConfiguration", "configurationField": "configuration", "description": "Username to use for login" },
-    "shuffle": { "index": 118, "kind": "parameter", "displayName": "Shuffle", "group": "sort", "label": "consumer,sort", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "To shuffle the list of files (sort in random order)" },
-    "sortBy": { "index": 119, "kind": "parameter", "displayName": "Sort By", "group": "sort", "label": "consumer,sort", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Built-in sort by using the File Language. Supports nested sorts, so you can have a sort by file name and as a 2nd group sort by modified date." },
-    "sorter": { "index": 120, "kind": "parameter", "displayName": "Sorter", "group": "sort", "label": "consumer,sort", "required": false, "type": "object", "javaType": "java.util.Comparator<org.apache.camel.component.file.GenericFile<org.apache.commons.net.ftp.FTPFile>>", "deprecated": false, "autowired": false, "secret": false, "description": "Pluggable sorter as a java.util.Comparator class." }
+    "checksumFileAlgorithm": { "index": 35, "kind": "parameter", "displayName": "Checksum File Algorithm", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "If provided, then Camel will write a checksum file when the original file has been written. The checksum file will contain the checksum created with the provided algorithm for the original file. The c [...]
+    "fileExist": { "index": 36, "kind": "parameter", "displayName": "File Exist", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "org.apache.camel.component.file.GenericFileExist", "enum": [ "Override", "Append", "Fail", "Ignore", "Move", "TryRename" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "Override", "description": "What to do if a file already exists with the same name. Override, which is the default, repl [...]
+    "flatten": { "index": 37, "kind": "parameter", "displayName": "Flatten", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Flatten is used to flatten the file name path to strip any leading paths, so it's just the file name. This allows you to consume recursively into sub-directories, but when you eg write the files to another directory [...]
+    "jailStartingDirectory": { "index": 38, "kind": "parameter", "displayName": "Jail Starting Directory", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Used for jailing (restricting) writing files to the starting directory (and sub) only. This is enabled by default to not allow Camel to write files to outside directories (to be more sec [...]
+    "moveExisting": { "index": 39, "kind": "parameter", "displayName": "Move Existing", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Expression (such as File Language) used to compute file name to use when fileExist=Move is configured. To move files into a backup subdirectory just enter backup. This option only supports the following File Language to [...]
+    "tempFileName": { "index": 40, "kind": "parameter", "displayName": "Temp File Name", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "The same as tempPrefix option but offering a more fine grained control on the naming of the temporary filename as it uses the File Language. The location for tempFilename is relative to the final file location in the o [...]
+    "tempPrefix": { "index": 41, "kind": "parameter", "displayName": "Temp Prefix", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "This option is used to write the file using a temporary name and then, after the write is complete, rename it to the real name. Can be used to identify files being written and also avoid consumers (not using exclusive read  [...]
+    "allowNullBody": { "index": 42, "kind": "parameter", "displayName": "Allow Null Body", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Used to specify if a null body is allowed during file writing. If set to true then an empty file will be created, when set to false, and attempting to send a null body to the file c [...]
+    "chmod": { "index": 43, "kind": "parameter", "displayName": "Chmod", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.file.remote.FtpsConfiguration", "configurationField": "configuration", "description": "Allows you to set chmod on the stored file. For example chmod=640." },
+    "disconnectOnBatchComplete": { "index": 44, "kind": "parameter", "displayName": "Disconnect On Batch Complete", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether or not to disconnect from remote FTP server right after a Batch upload is complete. disconnectOnBatchComplete will only disconnect the current conne [...]
+    "eagerDeleteTargetFile": { "index": 45, "kind": "parameter", "displayName": "Eager Delete Target File", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether or not to eagerly delete any existing target file. This option only applies when you use fileExists=Override and the tempFileName option as well. You can use [...]
+    "keepLastModified": { "index": 46, "kind": "parameter", "displayName": "Keep Last Modified", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Will keep the last modified timestamp from the source file (if any). Will use the FileConstants.FILE_LAST_MODIFIED header to located the timestamp. This header can contain eit [...]
+    "lazyStartProducer": { "index": 47, "kind": "parameter", "displayName": "Lazy Start Producer", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a produ [...]
+    "moveExistingFileStrategy": { "index": 48, "kind": "parameter", "displayName": "Move Existing File Strategy", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "object", "javaType": "org.apache.camel.component.file.strategy.FileMoveExistingStrategy", "deprecated": false, "autowired": false, "secret": false, "description": "Strategy (Custom Strategy) used to move file with special naming token to use when fileExist=Move is configured. By default, [...]
+    "sendNoop": { "index": 49, "kind": "parameter", "displayName": "Send Noop", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.file.remote.FtpsConfiguration", "configurationField": "configuration", "description": "Whether to send a noop command as a pre-write check before uploading fil [...]
+    "activePortRange": { "index": 50, "kind": "parameter", "displayName": "Active Port Range", "group": "advanced", "label": "advanced", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.file.remote.FtpsConfiguration", "configurationField": "configuration", "description": "Set the client side port range in active mode. The syntax is: minPort-maxPort Both port num [...]
+    "autoCreate": { "index": 51, "kind": "parameter", "displayName": "Auto Create", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Automatically create missing directories in the file's pathname. For the file consumer, that means creating the starting directory. For the file producer, it means the directory the files should be written to." },
+    "bufferSize": { "index": 52, "kind": "parameter", "displayName": "Buffer Size", "group": "advanced", "label": "advanced", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 131072, "description": "Buffer size in bytes used for writing files (or in case of FTP for downloading and uploading files)." },
+    "connectTimeout": { "index": 53, "kind": "parameter", "displayName": "Connect Timeout", "group": "advanced", "label": "advanced", "required": false, "type": "duration", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "10000", "configurationClass": "org.apache.camel.component.file.remote.FtpsConfiguration", "configurationField": "configuration", "description": "Sets the connect timeout for waiting for a connection to be established Used by  [...]
+    "ftpClient": { "index": 54, "kind": "parameter", "displayName": "Ftp Client", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "org.apache.commons.net.ftp.FTPClient", "deprecated": false, "autowired": false, "secret": false, "description": "To use a custom instance of FTPClient" },
+    "ftpClientConfig": { "index": 55, "kind": "parameter", "displayName": "Ftp Client Config", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "org.apache.commons.net.ftp.FTPClientConfig", "deprecated": false, "autowired": false, "secret": false, "description": "To use a custom instance of FTPClientConfig to configure the FTP client the endpoint should use." },
+    "ftpClientConfigParameters": { "index": 56, "kind": "parameter", "displayName": "Ftp Client Config Parameters", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "java.util.Map<java.lang.String, java.lang.Object>", "prefix": "ftpClientConfig.", "multiValue": true, "deprecated": false, "autowired": false, "secret": false, "description": "Used by FtpComponent to provide additional parameters for the FTPClientConfig" },
+    "ftpClientParameters": { "index": 57, "kind": "parameter", "displayName": "Ftp Client Parameters", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "java.util.Map<java.lang.String, java.lang.Object>", "prefix": "ftpClient.", "multiValue": true, "deprecated": false, "autowired": false, "secret": false, "description": "Used by FtpComponent to provide additional parameters for the FTPClient" },
+    "maximumReconnectAttempts": { "index": 58, "kind": "parameter", "displayName": "Maximum Reconnect Attempts", "group": "advanced", "label": "advanced", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "description": "Specifies the maximum reconnect attempts Camel performs when it tries to connect to the remote FTP server. Use 0 to disable this behavior." },
+    "reconnectDelay": { "index": 59, "kind": "parameter", "displayName": "Reconnect Delay", "group": "advanced", "label": "advanced", "required": false, "type": "duration", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "1000", "description": "Delay in millis Camel will wait before performing a reconnect attempt." },
+    "siteCommand": { "index": 60, "kind": "parameter", "displayName": "Site Command", "group": "advanced", "label": "advanced", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.file.remote.FtpsConfiguration", "configurationField": "configuration", "description": "Sets optional site command(s) to be executed after successful login. Multiple site commands can be s [...]
+    "soTimeout": { "index": 61, "kind": "parameter", "displayName": "So Timeout", "group": "advanced", "label": "advanced", "required": false, "type": "duration", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "300000", "configurationClass": "org.apache.camel.component.file.remote.FtpsConfiguration", "configurationField": "configuration", "description": "Sets the so timeout FTP and FTPS Is the SocketOptions.SO_TIMEOUT value in millis. Recomme [...]
+    "stepwise": { "index": 62, "kind": "parameter", "displayName": "Stepwise", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.file.remote.FtpsConfiguration", "configurationField": "configuration", "description": "Sets whether we should stepwise change directories while traversing file structures when down [...]
+    "throwExceptionOnConnectFailed": { "index": 63, "kind": "parameter", "displayName": "Throw Exception On Connect Failed", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.file.remote.FtpsConfiguration", "configurationField": "configuration", "description": "Should an exception be thrown if connection fa [...]
+    "timeout": { "index": 64, "kind": "parameter", "displayName": "Timeout", "group": "advanced", "label": "advanced", "required": false, "type": "duration", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "30000", "configurationClass": "org.apache.camel.component.file.remote.FtpsConfiguration", "configurationField": "configuration", "description": "Sets the data timeout for waiting for reply Used only by FTPClient" },
+    "antExclude": { "index": 65, "kind": "parameter", "displayName": "Ant Exclude", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Ant style filter exclusion. If both antInclude and antExclude are used, antExclude takes precedence over antInclude. Multiple exclusions may be specified in comma-delimited format." },
+    "antFilterCaseSensitive": { "index": 66, "kind": "parameter", "displayName": "Ant Filter Case Sensitive", "group": "filter", "label": "consumer,filter", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Sets case sensitive flag on ant filter." },
+    "antInclude": { "index": 67, "kind": "parameter", "displayName": "Ant Include", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Ant style filter inclusion. Multiple inclusions may be specified in comma-delimited format." },
+    "eagerMaxMessagesPerPoll": { "index": 68, "kind": "parameter", "displayName": "Eager Max Messages Per Poll", "group": "filter", "label": "consumer,filter", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Allows for controlling whether the limit from maxMessagesPerPoll is eager or not. If eager then the limit is during the scanning of files. Where as false would scan all files, [...]
+    "exclude": { "index": 69, "kind": "parameter", "displayName": "Exclude", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Is used to exclude files, if filename matches the regex pattern (matching is case in-sensitive). Notice if you use symbols such as plus sign and others you would need to configure this using the RAW() syntax if configuring th [...]
+    "excludeExt": { "index": 70, "kind": "parameter", "displayName": "Exclude Ext", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Is used to exclude files matching file extension name (case insensitive). For example to exclude bak files, then use excludeExt=bak. Multiple extensions can be separated by comma, for example to exclude bak and dat fil [...]
+    "filter": { "index": 71, "kind": "parameter", "displayName": "Filter", "group": "filter", "label": "consumer,filter", "required": false, "type": "object", "javaType": "org.apache.camel.component.file.GenericFileFilter<org.apache.commons.net.ftp.FTPFile>", "deprecated": false, "autowired": false, "secret": false, "description": "Pluggable filter as a org.apache.camel.component.file.GenericFileFilter class. Will skip files if filter returns false in its accept() method." },
+    "filterDirectory": { "index": 72, "kind": "parameter", "displayName": "Filter Directory", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Filters the directory based on Simple language. For example to filter on current date, you can use a simple date pattern such as ${date:now:yyyMMdd}" },
+    "filterFile": { "index": 73, "kind": "parameter", "displayName": "Filter File", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Filters the file based on Simple language. For example to filter on file size, you can use ${file:size} 5000" },
+    "idempotent": { "index": 74, "kind": "parameter", "displayName": "Idempotent", "group": "filter", "label": "consumer,filter", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "false", "description": "Option to use the Idempotent Consumer EIP pattern to let Camel skip already processed files. Will by default use a memory based LRUCache that holds 1000 entries. If noop=true then idempotent w [...]
+    "idempotentKey": { "index": 75, "kind": "parameter", "displayName": "Idempotent Key", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "To use a custom idempotent key. By default the absolute path of the file is used. You can use the File Language, for example to use the file name and file size, you can do: idempotentKey=${file:name}-${file:size}" },
+    "idempotentRepository": { "index": 76, "kind": "parameter", "displayName": "Idempotent Repository", "group": "filter", "label": "consumer,filter", "required": false, "type": "object", "javaType": "org.apache.camel.spi.IdempotentRepository", "deprecated": false, "autowired": false, "secret": false, "description": "A pluggable repository org.apache.camel.spi.IdempotentRepository which by default use MemoryIdempotentRepository if none is specified and idempotent is true." },
+    "include": { "index": 77, "kind": "parameter", "displayName": "Include", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Is used to include files, if filename matches the regex pattern (matching is case in-sensitive). Notice if you use symbols such as plus sign and others you would need to configure this using the RAW() syntax if configuring th [...]
+    "includeExt": { "index": 78, "kind": "parameter", "displayName": "Include Ext", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Is used to include files matching file extension name (case insensitive). For example to include txt files, then use includeExt=txt. Multiple extensions can be separated by comma, for example to include txt and xml fil [...]
+    "maxDepth": { "index": 79, "kind": "parameter", "displayName": "Max Depth", "group": "filter", "label": "consumer,filter", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 2147483647, "description": "The maximum depth to traverse when recursively processing a directory." },
+    "maxMessagesPerPoll": { "index": 80, "kind": "parameter", "displayName": "Max Messages Per Poll", "group": "filter", "label": "consumer,filter", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "description": "To define a maximum messages to gather per poll. By default no maximum is set. Can be used to set a limit of e.g. 1000 to avoid when starting up the server that there are thousands of files. Set a value of 0 or n [...]
+    "minDepth": { "index": 81, "kind": "parameter", "displayName": "Min Depth", "group": "filter", "label": "consumer,filter", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "description": "The minimum depth to start processing when recursively processing a directory. Using minDepth=1 means the base directory. Using minDepth=2 means the first sub directory." },
+    "move": { "index": 82, "kind": "parameter", "displayName": "Move", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Expression (such as Simple Language) used to dynamically set the filename when moving it after processing. To move files into a .done subdirectory just enter .done." },
+    "exclusiveReadLockStrategy": { "index": 83, "kind": "parameter", "displayName": "Exclusive Read Lock Strategy", "group": "lock", "label": "consumer,lock", "required": false, "type": "object", "javaType": "org.apache.camel.component.file.GenericFileExclusiveReadLockStrategy<org.apache.commons.net.ftp.FTPFile>", "deprecated": false, "autowired": false, "secret": false, "description": "Pluggable read-lock as a org.apache.camel.component.file.GenericFileExclusiveReadLockStrategy implemen [...]
+    "readLock": { "index": 84, "kind": "parameter", "displayName": "Read Lock", "group": "lock", "label": "consumer,lock", "required": false, "type": "string", "javaType": "java.lang.String", "enum": [ "none", "markerFile", "fileLock", "rename", "changed", "idempotent", "idempotent-changed", "idempotent-rename" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "none", "description": "Used by consumer, to only poll the files if it has exclusive read-lock on the  [...]
+    "readLockCheckInterval": { "index": 85, "kind": "parameter", "displayName": "Read Lock Check Interval", "group": "lock", "label": "consumer,lock", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 1000, "description": "Interval in millis for the read-lock, if supported by the read lock. This interval is used for sleeping between attempts to acquire the read lock. For example when using the changed read  [...]
+    "readLockDeleteOrphanLockFiles": { "index": 86, "kind": "parameter", "displayName": "Read Lock Delete Orphan Lock Files", "group": "lock", "label": "consumer,lock", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether or not read lock with marker files should upon startup delete any orphan read lock files, which may have been left on the file system, if Camel was not proper [...]
+    "readLockLoggingLevel": { "index": 87, "kind": "parameter", "displayName": "Read Lock Logging Level", "group": "lock", "label": "consumer,lock", "required": false, "type": "object", "javaType": "org.apache.camel.LoggingLevel", "enum": [ "TRACE", "DEBUG", "INFO", "WARN", "ERROR", "OFF" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "DEBUG", "description": "Logging level used when a read lock could not be acquired. By default a DEBUG is logged. You can cha [...]
+    "readLockMarkerFile": { "index": 88, "kind": "parameter", "displayName": "Read Lock Marker File", "group": "lock", "label": "consumer,lock", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether to use marker file with the changed, rename, or exclusive read lock types. By default a marker file is used as well to guard against other processes picking up the same files. This b [...]
+    "readLockMinAge": { "index": 89, "kind": "parameter", "displayName": "Read Lock Min Age", "group": "lock", "label": "consumer,lock", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 0, "description": "This option is applied only for readLock=changed. It allows to specify a minimum age the file must be before attempting to acquire the read lock. For example use readLockMinAge=300s to require the file is [...]
+    "readLockMinLength": { "index": 90, "kind": "parameter", "displayName": "Read Lock Min Length", "group": "lock", "label": "consumer,lock", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 1, "description": "This option is applied only for readLock=changed. It allows you to configure a minimum file length. By default Camel expects the file to contain data, and thus the default value is 1. You can set th [...]
+    "readLockRemoveOnCommit": { "index": 91, "kind": "parameter", "displayName": "Read Lock Remove On Commit", "group": "lock", "label": "consumer,lock", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "This option is applied only for readLock=idempotent. It allows to specify whether to remove the file name entry from the idempotent repository when processing the file is succeeded [...]
+    "readLockRemoveOnRollback": { "index": 92, "kind": "parameter", "displayName": "Read Lock Remove On Rollback", "group": "lock", "label": "consumer,lock", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "This option is applied only for readLock=idempotent. It allows to specify whether to remove the file name entry from the idempotent repository when processing the file failed an [...]
+    "readLockTimeout": { "index": 93, "kind": "parameter", "displayName": "Read Lock Timeout", "group": "lock", "label": "consumer,lock", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 10000, "description": "Optional timeout in millis for the read-lock, if supported by the read-lock. If the read-lock could not be granted and the timeout triggered, then Camel will skip the file. At next poll Camel, will t [...]
+    "backoffErrorThreshold": { "index": 94, "kind": "parameter", "displayName": "Backoff Error Threshold", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "description": "The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in." },
+    "backoffIdleThreshold": { "index": 95, "kind": "parameter", "displayName": "Backoff Idle Threshold", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "description": "The number of subsequent idle polls that should happen before the backoffMultipler should kick-in." },
+    "backoffMultiplier": { "index": 96, "kind": "parameter", "displayName": "Backoff Multiplier", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "description": "To let the scheduled polling consumer backoff if there has been a number of subsequent idles\/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is h [...]
+    "delay": { "index": 97, "kind": "parameter", "displayName": "Delay", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 500, "description": "Milliseconds before the next poll." },
+    "greedy": { "index": 98, "kind": "parameter", "displayName": "Greedy", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages." },
+    "initialDelay": { "index": 99, "kind": "parameter", "displayName": "Initial Delay", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 1000, "description": "Milliseconds before the first poll starts." },
+    "repeatCount": { "index": 100, "kind": "parameter", "displayName": "Repeat Count", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 0, "description": "Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only fire once. If you set it to 5, it will only fire five times. A value of zero or negative means fire forever." },
+    "runLoggingLevel": { "index": 101, "kind": "parameter", "displayName": "Run Logging Level", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "object", "javaType": "org.apache.camel.LoggingLevel", "enum": [ "TRACE", "DEBUG", "INFO", "WARN", "ERROR", "OFF" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "TRACE", "description": "The consumer logs a start\/complete log line when it polls. This option allows you to configure the  [...]
+    "scheduledExecutorService": { "index": 102, "kind": "parameter", "displayName": "Scheduled Executor Service", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "object", "javaType": "java.util.concurrent.ScheduledExecutorService", "deprecated": false, "autowired": false, "secret": false, "description": "Allows for configuring a custom\/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool." },
+    "scheduler": { "index": 103, "kind": "parameter", "displayName": "Scheduler", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "object", "javaType": "java.lang.Object", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "none", "description": "To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler" },
+    "schedulerProperties": { "index": 104, "kind": "parameter", "displayName": "Scheduler Properties", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "object", "javaType": "java.util.Map<java.lang.String, java.lang.Object>", "prefix": "scheduler.", "multiValue": true, "deprecated": false, "autowired": false, "secret": false, "description": "To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler." },
+    "startScheduler": { "index": 105, "kind": "parameter", "displayName": "Start Scheduler", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether the scheduler should be auto started." },
+    "timeUnit": { "index": 106, "kind": "parameter", "displayName": "Time Unit", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "object", "javaType": "java.util.concurrent.TimeUnit", "enum": [ "NANOSECONDS", "MICROSECONDS", "MILLISECONDS", "SECONDS", "MINUTES", "HOURS", "DAYS" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "MILLISECONDS", "description": "Time unit for initialDelay and delay options." },
+    "useFixedDelay": { "index": 107, "kind": "parameter", "displayName": "Use Fixed Delay", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details." },
+    "account": { "index": 108, "kind": "parameter", "displayName": "Account", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.file.remote.FtpsConfiguration", "configurationField": "configuration", "description": "Account to use for login" },
+    "disableSecureDataChannelDefaults": { "index": 109, "kind": "parameter", "displayName": "Disable Secure Data Channel Defaults", "group": "security", "label": "security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.file.remote.FtpsConfiguration", "configurationField": "configuration", "description": "Use this option to disable default opti [...]
+    "execPbsz": { "index": 110, "kind": "parameter", "displayName": "Exec Pbsz", "group": "security", "label": "security", "required": false, "type": "integer", "javaType": "java.lang.Long", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.file.remote.FtpsConfiguration", "configurationField": "configuration", "description": "When using secure data channel you can set the exec protection buffer size" },
+    "execProt": { "index": 111, "kind": "parameter", "displayName": "Exec Prot", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.file.remote.FtpsConfiguration", "configurationField": "configuration", "description": "The exec protection level PROT command. C - Clear S - Safe(SSL protocol only) E - Confidential(SSL protoc [...]
+    "ftpClientKeyStoreParameters": { "index": 112, "kind": "parameter", "displayName": "Ftp Client Key Store Parameters", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "java.util.Map<java.lang.String, java.lang.Object>", "prefix": "ftpClient.keyStore.", "multiValue": true, "deprecated": false, "autowired": false, "secret": false, "description": "Set the key store parameters" },
+    "ftpClientTrustStoreParameters": { "index": 113, "kind": "parameter", "displayName": "Ftp Client Trust Store Parameters", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "java.util.Map<java.lang.String, java.lang.Object>", "prefix": "ftpClient.trustStore.", "multiValue": true, "deprecated": false, "autowired": false, "secret": false, "description": "Set the trust store parameters" },
+    "implicit": { "index": 114, "kind": "parameter", "displayName": "Implicit", "group": "security", "label": "security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.file.remote.FtpsConfiguration", "configurationField": "configuration", "description": "Set the security mode (Implicit\/Explicit). true - Implicit Mode \/ False - Explicit Mode" },
+    "password": { "index": 115, "kind": "parameter", "displayName": "Password", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.file.remote.FtpsConfiguration", "configurationField": "configuration", "description": "Password to use for login" },
+    "securityProtocol": { "index": 116, "kind": "parameter", "displayName": "Security Protocol", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "TLSv1.3", "configurationClass": "org.apache.camel.component.file.remote.FtpsConfiguration", "configurationField": "configuration", "description": "Set the underlying security protocol." },
+    "sslContextParameters": { "index": 117, "kind": "parameter", "displayName": "Ssl Context Parameters", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.apache.camel.support.jsse.SSLContextParameters", "deprecated": false, "autowired": false, "secret": false, "description": "Gets the JSSE configuration that overrides any settings in FtpsEndpoint#ftpClientKeyStoreParameters, ftpClientTrustStoreParameters, and FtpsConfiguration#getSecurityPr [...]
+    "username": { "index": 118, "kind": "parameter", "displayName": "Username", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.file.remote.FtpsConfiguration", "configurationField": "configuration", "description": "Username to use for login" },
+    "shuffle": { "index": 119, "kind": "parameter", "displayName": "Shuffle", "group": "sort", "label": "consumer,sort", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "To shuffle the list of files (sort in random order)" },
+    "sortBy": { "index": 120, "kind": "parameter", "displayName": "Sort By", "group": "sort", "label": "consumer,sort", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Built-in sort by using the File Language. Supports nested sorts, so you can have a sort by file name and as a 2nd group sort by modified date." },
+    "sorter": { "index": 121, "kind": "parameter", "displayName": "Sorter", "group": "sort", "label": "consumer,sort", "required": false, "type": "object", "javaType": "java.util.Comparator<org.apache.camel.component.file.GenericFile<org.apache.commons.net.ftp.FTPFile>>", "deprecated": false, "autowired": false, "secret": false, "description": "Pluggable sorter as a java.util.Comparator class." }
   }
 }
diff --git a/components/camel-ftp/src/generated/resources/org/apache/camel/component/file/remote/sftp.json b/components/camel-ftp/src/generated/resources/org/apache/camel/component/file/remote/sftp.json
index c552d5c8556..5fa1879c999 100644
--- a/components/camel-ftp/src/generated/resources/org/apache/camel/component/file/remote/sftp.json
+++ b/components/camel-ftp/src/generated/resources/org/apache/camel/component/file/remote/sftp.json
@@ -72,103 +72,104 @@
     "pollStrategy": { "index": 28, "kind": "parameter", "displayName": "Poll Strategy", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "object", "javaType": "org.apache.camel.spi.PollingConsumerPollStrategy", "deprecated": false, "autowired": false, "secret": false, "description": "A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the po [...]
     "processStrategy": { "index": 29, "kind": "parameter", "displayName": "Process Strategy", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "object", "javaType": "org.apache.camel.component.file.GenericFileProcessStrategy<org.apache.camel.component.file.remote.SftpRemoteFile>", "deprecated": false, "autowired": false, "secret": false, "description": "A pluggable org.apache.camel.component.file.GenericFileProcessStrategy allowing you to implement [...]
     "useList": { "index": 30, "kind": "parameter", "displayName": "Use List", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.file.remote.SftpConfiguration", "configurationField": "configuration", "description": "Whether to allow using LIST command when downloading a file. Default is tr [...]
-    "fileExist": { "index": 31, "kind": "parameter", "displayName": "File Exist", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "org.apache.camel.component.file.GenericFileExist", "enum": [ "Override", "Append", "Fail", "Ignore", "Move", "TryRename" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "Override", "description": "What to do if a file already exists with the same name. Override, which is the default, repl [...]
-    "flatten": { "index": 32, "kind": "parameter", "displayName": "Flatten", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Flatten is used to flatten the file name path to strip any leading paths, so it's just the file name. This allows you to consume recursively into sub-directories, but when you eg write the files to another directory [...]
-    "jailStartingDirectory": { "index": 33, "kind": "parameter", "displayName": "Jail Starting Directory", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Used for jailing (restricting) writing files to the starting directory (and sub) only. This is enabled by default to not allow Camel to write files to outside directories (to be more sec [...]
-    "moveExisting": { "index": 34, "kind": "parameter", "displayName": "Move Existing", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Expression (such as File Language) used to compute file name to use when fileExist=Move is configured. To move files into a backup subdirectory just enter backup. This option only supports the following File Language to [...]
-    "tempFileName": { "index": 35, "kind": "parameter", "displayName": "Temp File Name", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "The same as tempPrefix option but offering a more fine grained control on the naming of the temporary filename as it uses the File Language. The location for tempFilename is relative to the final file location in the o [...]
-    "tempPrefix": { "index": 36, "kind": "parameter", "displayName": "Temp Prefix", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "This option is used to write the file using a temporary name and then, after the write is complete, rename it to the real name. Can be used to identify files being written and also avoid consumers (not using exclusive read  [...]
-    "allowNullBody": { "index": 37, "kind": "parameter", "displayName": "Allow Null Body", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Used to specify if a null body is allowed during file writing. If set to true then an empty file will be created, when set to false, and attempting to send a null body to the file c [...]
-    "chmod": { "index": 38, "kind": "parameter", "displayName": "Chmod", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.file.remote.SftpConfiguration", "configurationField": "configuration", "description": "Allows you to set chmod on the stored file. For example chmod=640." },
-    "chmodDirectory": { "index": 39, "kind": "parameter", "displayName": "Chmod Directory", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.file.remote.SftpConfiguration", "configurationField": "configuration", "description": "Allows you to set chmod during path creation. For example chmod=640." },
-    "disconnectOnBatchComplete": { "index": 40, "kind": "parameter", "displayName": "Disconnect On Batch Complete", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether or not to disconnect from remote FTP server right after a Batch upload is complete. disconnectOnBatchComplete will only disconnect the current conne [...]
-    "eagerDeleteTargetFile": { "index": 41, "kind": "parameter", "displayName": "Eager Delete Target File", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether or not to eagerly delete any existing target file. This option only applies when you use fileExists=Override and the tempFileName option as well. You can use [...]
-    "keepLastModified": { "index": 42, "kind": "parameter", "displayName": "Keep Last Modified", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Will keep the last modified timestamp from the source file (if any). Will use the FileConstants.FILE_LAST_MODIFIED header to located the timestamp. This header can contain eit [...]
-    "lazyStartProducer": { "index": 43, "kind": "parameter", "displayName": "Lazy Start Producer", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a produ [...]
-    "moveExistingFileStrategy": { "index": 44, "kind": "parameter", "displayName": "Move Existing File Strategy", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "object", "javaType": "org.apache.camel.component.file.strategy.FileMoveExistingStrategy", "deprecated": false, "autowired": false, "secret": false, "description": "Strategy (Custom Strategy) used to move file with special naming token to use when fileExist=Move is configured. By default, [...]
-    "sendNoop": { "index": 45, "kind": "parameter", "displayName": "Send Noop", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.file.remote.SftpConfiguration", "configurationField": "configuration", "description": "Whether to send a noop command as a pre-write check before uploading fil [...]
-    "autoCreate": { "index": 46, "kind": "parameter", "displayName": "Auto Create", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Automatically create missing directories in the file's pathname. For the file consumer, that means creating the starting directory. For the file producer, it means the directory the files should be written to." },
-    "bindAddress": { "index": 47, "kind": "parameter", "displayName": "Bind Address", "group": "advanced", "label": "advanced", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.file.remote.SftpConfiguration", "configurationField": "configuration", "description": "Specifies the address of the local interface against which the connection should bind." },
-    "bulkRequests": { "index": 48, "kind": "parameter", "displayName": "Bulk Requests", "group": "advanced", "label": "advanced", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.file.remote.SftpConfiguration", "configurationField": "configuration", "description": "Specifies how many requests may be outstanding at any one time. Increasing this value may slight [...]
-    "compression": { "index": 49, "kind": "parameter", "displayName": "Compression", "group": "advanced", "label": "advanced", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.file.remote.SftpConfiguration", "configurationField": "configuration", "description": "To use compression. Specify a level from 1 to 10. Important: You must manually add the needed JSCH zlib JAR to th [...]
-    "connectTimeout": { "index": 50, "kind": "parameter", "displayName": "Connect Timeout", "group": "advanced", "label": "advanced", "required": false, "type": "duration", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "10000", "configurationClass": "org.apache.camel.component.file.remote.SftpConfiguration", "configurationField": "configuration", "description": "Sets the connect timeout for waiting for a connection to be established Used by  [...]
-    "existDirCheckUsingLs": { "index": 51, "kind": "parameter", "displayName": "Exist Dir Check Using Ls", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.file.remote.SftpConfiguration", "configurationField": "configuration", "description": "Whether to check for existing directory using LS command or CD. B [...]
-    "filenameEncoding": { "index": 52, "kind": "parameter", "displayName": "Filename Encoding", "group": "advanced", "label": "advanced", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.file.remote.SftpConfiguration", "configurationField": "configuration", "description": "Encoding to use for FTP client when parsing filenames. By default, UTF-8 is used." },
-    "maximumReconnectAttempts": { "index": 53, "kind": "parameter", "displayName": "Maximum Reconnect Attempts", "group": "advanced", "label": "advanced", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "description": "Specifies the maximum reconnect attempts Camel performs when it tries to connect to the remote FTP server. Use 0 to disable this behavior." },
-    "proxy": { "index": 54, "kind": "parameter", "displayName": "Proxy", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "com.jcraft.jsch.Proxy", "deprecated": false, "autowired": false, "secret": false, "description": "To use a custom configured com.jcraft.jsch.Proxy. This proxy is used to consume\/send messages from the target SFTP host." },
-    "reconnectDelay": { "index": 55, "kind": "parameter", "displayName": "Reconnect Delay", "group": "advanced", "label": "advanced", "required": false, "type": "duration", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "1000", "description": "Delay in millis Camel will wait before performing a reconnect attempt." },
-    "serverAliveCountMax": { "index": 56, "kind": "parameter", "displayName": "Server Alive Count Max", "group": "advanced", "label": "advanced", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 1, "configurationClass": "org.apache.camel.component.file.remote.SftpConfiguration", "configurationField": "configuration", "description": "Sets the number of keep-alive messages which may be sent without receiving  [...]
-    "serverAliveInterval": { "index": 57, "kind": "parameter", "displayName": "Server Alive Interval", "group": "advanced", "label": "advanced", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.file.remote.SftpConfiguration", "configurationField": "configuration", "description": "Sets the interval (millis) to send a keep-alive message. If zero is specified, any keep-alive m [...]
-    "soTimeout": { "index": 58, "kind": "parameter", "displayName": "So Timeout", "group": "advanced", "label": "advanced", "required": false, "type": "duration", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "300000", "configurationClass": "org.apache.camel.component.file.remote.SftpConfiguration", "configurationField": "configuration", "description": "Sets the so timeout FTP and FTPS Is the SocketOptions.SO_TIMEOUT value in millis. Recomme [...]
-    "stepwise": { "index": 59, "kind": "parameter", "displayName": "Stepwise", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.file.remote.SftpConfiguration", "configurationField": "configuration", "description": "Sets whether we should stepwise change directories while traversing file structures when down [...]
-    "throwExceptionOnConnectFailed": { "index": 60, "kind": "parameter", "displayName": "Throw Exception On Connect Failed", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.file.remote.SftpConfiguration", "configurationField": "configuration", "description": "Should an exception be thrown if connection fa [...]
-    "timeout": { "index": 61, "kind": "parameter", "displayName": "Timeout", "group": "advanced", "label": "advanced", "required": false, "type": "duration", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "30000", "configurationClass": "org.apache.camel.component.file.remote.SftpConfiguration", "configurationField": "configuration", "description": "Sets the data timeout for waiting for reply Used only by FTPClient" },
-    "antExclude": { "index": 62, "kind": "parameter", "displayName": "Ant Exclude", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Ant style filter exclusion. If both antInclude and antExclude are used, antExclude takes precedence over antInclude. Multiple exclusions may be specified in comma-delimited format." },
-    "antFilterCaseSensitive": { "index": 63, "kind": "parameter", "displayName": "Ant Filter Case Sensitive", "group": "filter", "label": "consumer,filter", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Sets case sensitive flag on ant filter." },
-    "antInclude": { "index": 64, "kind": "parameter", "displayName": "Ant Include", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Ant style filter inclusion. Multiple inclusions may be specified in comma-delimited format." },
-    "eagerMaxMessagesPerPoll": { "index": 65, "kind": "parameter", "displayName": "Eager Max Messages Per Poll", "group": "filter", "label": "consumer,filter", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Allows for controlling whether the limit from maxMessagesPerPoll is eager or not. If eager then the limit is during the scanning of files. Where as false would scan all files, [...]
-    "exclude": { "index": 66, "kind": "parameter", "displayName": "Exclude", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Is used to exclude files, if filename matches the regex pattern (matching is case in-sensitive). Notice if you use symbols such as plus sign and others you would need to configure this using the RAW() syntax if configuring th [...]
-    "excludeExt": { "index": 67, "kind": "parameter", "displayName": "Exclude Ext", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Is used to exclude files matching file extension name (case insensitive). For example to exclude bak files, then use excludeExt=bak. Multiple extensions can be separated by comma, for example to exclude bak and dat fil [...]
-    "filter": { "index": 68, "kind": "parameter", "displayName": "Filter", "group": "filter", "label": "consumer,filter", "required": false, "type": "object", "javaType": "org.apache.camel.component.file.GenericFileFilter<org.apache.camel.component.file.remote.SftpRemoteFile>", "deprecated": false, "autowired": false, "secret": false, "description": "Pluggable filter as a org.apache.camel.component.file.GenericFileFilter class. Will skip files if filter returns false in its accept() method." },
-    "filterDirectory": { "index": 69, "kind": "parameter", "displayName": "Filter Directory", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Filters the directory based on Simple language. For example to filter on current date, you can use a simple date pattern such as ${date:now:yyyMMdd}" },
-    "filterFile": { "index": 70, "kind": "parameter", "displayName": "Filter File", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Filters the file based on Simple language. For example to filter on file size, you can use ${file:size} 5000" },
-    "idempotent": { "index": 71, "kind": "parameter", "displayName": "Idempotent", "group": "filter", "label": "consumer,filter", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "false", "description": "Option to use the Idempotent Consumer EIP pattern to let Camel skip already processed files. Will by default use a memory based LRUCache that holds 1000 entries. If noop=true then idempotent w [...]
-    "idempotentKey": { "index": 72, "kind": "parameter", "displayName": "Idempotent Key", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "To use a custom idempotent key. By default the absolute path of the file is used. You can use the File Language, for example to use the file name and file size, you can do: idempotentKey=${file:name}-${file:size}" },
-    "idempotentRepository": { "index": 73, "kind": "parameter", "displayName": "Idempotent Repository", "group": "filter", "label": "consumer,filter", "required": false, "type": "object", "javaType": "org.apache.camel.spi.IdempotentRepository", "deprecated": false, "autowired": false, "secret": false, "description": "A pluggable repository org.apache.camel.spi.IdempotentRepository which by default use MemoryIdempotentRepository if none is specified and idempotent is true." },
-    "include": { "index": 74, "kind": "parameter", "displayName": "Include", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Is used to include files, if filename matches the regex pattern (matching is case in-sensitive). Notice if you use symbols such as plus sign and others you would need to configure this using the RAW() syntax if configuring th [...]
-    "includeExt": { "index": 75, "kind": "parameter", "displayName": "Include Ext", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Is used to include files matching file extension name (case insensitive). For example to include txt files, then use includeExt=txt. Multiple extensions can be separated by comma, for example to include txt and xml fil [...]
-    "maxDepth": { "index": 76, "kind": "parameter", "displayName": "Max Depth", "group": "filter", "label": "consumer,filter", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 2147483647, "description": "The maximum depth to traverse when recursively processing a directory." },
-    "maxMessagesPerPoll": { "index": 77, "kind": "parameter", "displayName": "Max Messages Per Poll", "group": "filter", "label": "consumer,filter", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "description": "To define a maximum messages to gather per poll. By default no maximum is set. Can be used to set a limit of e.g. 1000 to avoid when starting up the server that there are thousands of files. Set a value of 0 or n [...]
-    "minDepth": { "index": 78, "kind": "parameter", "displayName": "Min Depth", "group": "filter", "label": "consumer,filter", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "description": "The minimum depth to start processing when recursively processing a directory. Using minDepth=1 means the base directory. Using minDepth=2 means the first sub directory." },
-    "move": { "index": 79, "kind": "parameter", "displayName": "Move", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Expression (such as Simple Language) used to dynamically set the filename when moving it after processing. To move files into a .done subdirectory just enter .done." },
-    "exclusiveReadLockStrategy": { "index": 80, "kind": "parameter", "displayName": "Exclusive Read Lock Strategy", "group": "lock", "label": "consumer,lock", "required": false, "type": "object", "javaType": "org.apache.camel.component.file.GenericFileExclusiveReadLockStrategy<org.apache.camel.component.file.remote.SftpRemoteFile>", "deprecated": false, "autowired": false, "secret": false, "description": "Pluggable read-lock as a org.apache.camel.component.file.GenericFileExclusiveReadLo [...]
-    "readLock": { "index": 81, "kind": "parameter", "displayName": "Read Lock", "group": "lock", "label": "consumer,lock", "required": false, "type": "string", "javaType": "java.lang.String", "enum": [ "none", "markerFile", "fileLock", "rename", "changed", "idempotent", "idempotent-changed", "idempotent-rename" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "none", "description": "Used by consumer, to only poll the files if it has exclusive read-lock on the  [...]
-    "readLockCheckInterval": { "index": 82, "kind": "parameter", "displayName": "Read Lock Check Interval", "group": "lock", "label": "consumer,lock", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 1000, "description": "Interval in millis for the read-lock, if supported by the read lock. This interval is used for sleeping between attempts to acquire the read lock. For example when using the changed read  [...]
-    "readLockDeleteOrphanLockFiles": { "index": 83, "kind": "parameter", "displayName": "Read Lock Delete Orphan Lock Files", "group": "lock", "label": "consumer,lock", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether or not read lock with marker files should upon startup delete any orphan read lock files, which may have been left on the file system, if Camel was not proper [...]
-    "readLockIdempotentReleaseAsync": { "index": 84, "kind": "parameter", "displayName": "Read Lock Idempotent Release Async", "group": "lock", "label": "consumer,lock", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the delayed release task should be synchronous or asynchronous. See more details at the readLockIdempotentReleaseDelay option." },
-    "readLockIdempotentReleaseAsyncPoolSize": { "index": 85, "kind": "parameter", "displayName": "Read Lock Idempotent Release Async Pool Size", "group": "lock", "label": "consumer,lock", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "description": "The number of threads in the scheduled thread pool when using asynchronous release tasks. Using a default of 1 core threads should be sufficient in almost all use-cases, onl [...]
-    "readLockIdempotentReleaseDelay": { "index": 86, "kind": "parameter", "displayName": "Read Lock Idempotent Release Delay", "group": "lock", "label": "consumer,lock", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "description": "Whether to delay the release task for a period of millis. This can be used to delay the release tasks to expand the window when a file is regarded as read-locked, in an active\/active cluster [...]
-    "readLockIdempotentReleaseExecutorService": { "index": 87, "kind": "parameter", "displayName": "Read Lock Idempotent Release Executor Service", "group": "lock", "label": "consumer,lock", "required": false, "type": "object", "javaType": "java.util.concurrent.ScheduledExecutorService", "deprecated": false, "autowired": false, "secret": false, "description": "To use a custom and shared thread pool for asynchronous release tasks. See more details at the readLockIdempotentReleaseDelay opt [...]
-    "readLockLoggingLevel": { "index": 88, "kind": "parameter", "displayName": "Read Lock Logging Level", "group": "lock", "label": "consumer,lock", "required": false, "type": "object", "javaType": "org.apache.camel.LoggingLevel", "enum": [ "TRACE", "DEBUG", "INFO", "WARN", "ERROR", "OFF" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "DEBUG", "description": "Logging level used when a read lock could not be acquired. By default a DEBUG is logged. You can cha [...]
-    "readLockMarkerFile": { "index": 89, "kind": "parameter", "displayName": "Read Lock Marker File", "group": "lock", "label": "consumer,lock", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether to use marker file with the changed, rename, or exclusive read lock types. By default a marker file is used as well to guard against other processes picking up the same files. This b [...]
-    "readLockMinAge": { "index": 90, "kind": "parameter", "displayName": "Read Lock Min Age", "group": "lock", "label": "consumer,lock", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 0, "description": "This option is applied only for readLock=changed. It allows to specify a minimum age the file must be before attempting to acquire the read lock. For example use readLockMinAge=300s to require the file is [...]
-    "readLockMinLength": { "index": 91, "kind": "parameter", "displayName": "Read Lock Min Length", "group": "lock", "label": "consumer,lock", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 1, "description": "This option is applied only for readLock=changed. It allows you to configure a minimum file length. By default Camel expects the file to contain data, and thus the default value is 1. You can set th [...]
-    "readLockRemoveOnCommit": { "index": 92, "kind": "parameter", "displayName": "Read Lock Remove On Commit", "group": "lock", "label": "consumer,lock", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "This option is applied only for readLock=idempotent. It allows to specify whether to remove the file name entry from the idempotent repository when processing the file is succeeded [...]
-    "readLockRemoveOnRollback": { "index": 93, "kind": "parameter", "displayName": "Read Lock Remove On Rollback", "group": "lock", "label": "consumer,lock", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "This option is applied only for readLock=idempotent. It allows to specify whether to remove the file name entry from the idempotent repository when processing the file failed an [...]
-    "readLockTimeout": { "index": 94, "kind": "parameter", "displayName": "Read Lock Timeout", "group": "lock", "label": "consumer,lock", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 10000, "description": "Optional timeout in millis for the read-lock, if supported by the read-lock. If the read-lock could not be granted and the timeout triggered, then Camel will skip the file. At next poll Camel, will t [...]
-    "backoffErrorThreshold": { "index": 95, "kind": "parameter", "displayName": "Backoff Error Threshold", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "description": "The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in." },
-    "backoffIdleThreshold": { "index": 96, "kind": "parameter", "displayName": "Backoff Idle Threshold", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "description": "The number of subsequent idle polls that should happen before the backoffMultipler should kick-in." },
-    "backoffMultiplier": { "index": 97, "kind": "parameter", "displayName": "Backoff Multiplier", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "description": "To let the scheduled polling consumer backoff if there has been a number of subsequent idles\/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is h [...]
-    "delay": { "index": 98, "kind": "parameter", "displayName": "Delay", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 500, "description": "Milliseconds before the next poll." },
-    "greedy": { "index": 99, "kind": "parameter", "displayName": "Greedy", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages." },
-    "initialDelay": { "index": 100, "kind": "parameter", "displayName": "Initial Delay", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 1000, "description": "Milliseconds before the first poll starts." },
-    "repeatCount": { "index": 101, "kind": "parameter", "displayName": "Repeat Count", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 0, "description": "Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only fire once. If you set it to 5, it will only fire five times. A value of zero or negative means fire forever." },
-    "runLoggingLevel": { "index": 102, "kind": "parameter", "displayName": "Run Logging Level", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "object", "javaType": "org.apache.camel.LoggingLevel", "enum": [ "TRACE", "DEBUG", "INFO", "WARN", "ERROR", "OFF" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "TRACE", "description": "The consumer logs a start\/complete log line when it polls. This option allows you to configure the  [...]
-    "scheduledExecutorService": { "index": 103, "kind": "parameter", "displayName": "Scheduled Executor Service", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "object", "javaType": "java.util.concurrent.ScheduledExecutorService", "deprecated": false, "autowired": false, "secret": false, "description": "Allows for configuring a custom\/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool." },
-    "scheduler": { "index": 104, "kind": "parameter", "displayName": "Scheduler", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "object", "javaType": "java.lang.Object", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "none", "description": "To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler" },
-    "schedulerProperties": { "index": 105, "kind": "parameter", "displayName": "Scheduler Properties", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "object", "javaType": "java.util.Map<java.lang.String, java.lang.Object>", "prefix": "scheduler.", "multiValue": true, "deprecated": false, "autowired": false, "secret": false, "description": "To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler." },
-    "startScheduler": { "index": 106, "kind": "parameter", "displayName": "Start Scheduler", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether the scheduler should be auto started." },
-    "timeUnit": { "index": 107, "kind": "parameter", "displayName": "Time Unit", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "object", "javaType": "java.util.concurrent.TimeUnit", "enum": [ "NANOSECONDS", "MICROSECONDS", "MILLISECONDS", "SECONDS", "MINUTES", "HOURS", "DAYS" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "MILLISECONDS", "description": "Time unit for initialDelay and delay options." },
-    "useFixedDelay": { "index": 108, "kind": "parameter", "displayName": "Use Fixed Delay", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details." },
-    "ciphers": { "index": 109, "kind": "parameter", "displayName": "Ciphers", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.file.remote.SftpConfiguration", "configurationField": "configuration", "description": "Set a comma separated list of ciphers that will be used in order of preference. Possible cipher names are de [...]
-    "keyExchangeProtocols": { "index": 110, "kind": "parameter", "displayName": "Key Exchange Protocols", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.file.remote.SftpConfiguration", "configurationField": "configuration", "description": "Set a comma separated list of key exchange protocols that will be used in order  [...]
-    "keyPair": { "index": 111, "kind": "parameter", "displayName": "Key Pair", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "java.security.KeyPair", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.file.remote.SftpConfiguration", "configurationField": "configuration", "description": "Sets a key pair of the public and private key so to that the SFTP endpoint can do public\/private key v [...]
-    "knownHosts": { "index": 112, "kind": "parameter", "displayName": "Known Hosts", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "byte[]", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.file.remote.SftpConfiguration", "configurationField": "configuration", "description": "Sets the known_hosts from the byte array, so that the SFTP endpoint can do host key verification." },
-    "knownHostsFile": { "index": 113, "kind": "parameter", "displayName": "Known Hosts File", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.file.remote.SftpConfiguration", "configurationField": "configuration", "description": "Sets the known_hosts file, so that the SFTP endpoint can do host key verification." },
-    "knownHostsUri": { "index": 114, "kind": "parameter", "displayName": "Known Hosts Uri", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": true, "supportFileReference": true, "configurationClass": "org.apache.camel.component.file.remote.SftpConfiguration", "configurationField": "configuration", "description": "Sets the known_hosts file (loaded from cla [...]
-    "password": { "index": 115, "kind": "parameter", "displayName": "Password", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.file.remote.SftpConfiguration", "configurationField": "configuration", "description": "Password to use for login" },
-    "preferredAuthentications": { "index": 116, "kind": "parameter", "displayName": "Preferred Authentications", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.file.remote.SftpConfiguration", "configurationField": "configuration", "description": "Set the preferred authentications which SFTP endpoint will used. Some exa [...]
-    "privateKey": { "index": 117, "kind": "parameter", "displayName": "Private Key", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "byte[]", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.file.remote.SftpConfiguration", "configurationField": "configuration", "description": "Set the private key as byte so that the SFTP endpoint can do private key verification." },
-    "privateKeyFile": { "index": 118, "kind": "parameter", "displayName": "Private Key File", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.file.remote.SftpConfiguration", "configurationField": "configuration", "description": "Set the private key file so that the SFTP endpoint can do private key verification." },
-    "privateKeyPassphrase": { "index": 119, "kind": "parameter", "displayName": "Private Key Passphrase", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.file.remote.SftpConfiguration", "configurationField": "configuration", "description": "Set the private key file passphrase so that the SFTP endpoint can do private key  [...]
-    "privateKeyUri": { "index": 120, "kind": "parameter", "displayName": "Private Key Uri", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": true, "supportFileReference": true, "configurationClass": "org.apache.camel.component.file.remote.SftpConfiguration", "configurationField": "configuration", "description": "Set the private key file (loaded from clas [...]
-    "publicKeyAcceptedAlgorithms": { "index": 121, "kind": "parameter", "displayName": "Public Key Accepted Algorithms", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.file.remote.SftpConfiguration", "configurationField": "configuration", "description": "Set a comma separated list of public key accepted algorithms. Som [...]
-    "serverHostKeys": { "index": 122, "kind": "parameter", "displayName": "Server Host Keys", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.file.remote.SftpConfiguration", "configurationField": "configuration", "description": "Set a comma separated list of algorithms supported for the server host key. Some examples in [...]
-    "strictHostKeyChecking": { "index": 123, "kind": "parameter", "displayName": "Strict Host Key Checking", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "enum": [ "no", "yes" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "no", "configurationClass": "org.apache.camel.component.file.remote.SftpConfiguration", "configurationField": "configuration", "description": "Sets whether to use strict hos [...]
-    "username": { "index": 124, "kind": "parameter", "displayName": "Username", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.file.remote.SftpConfiguration", "configurationField": "configuration", "description": "Username to use for login" },
-    "useUserKnownHostsFile": { "index": 125, "kind": "parameter", "displayName": "Use User Known Hosts File", "group": "security", "label": "security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.file.remote.SftpConfiguration", "configurationField": "configuration", "description": "If knownHostFile has not been explicit configured then use the [...]
-    "shuffle": { "index": 126, "kind": "parameter", "displayName": "Shuffle", "group": "sort", "label": "consumer,sort", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "To shuffle the list of files (sort in random order)" },
-    "sortBy": { "index": 127, "kind": "parameter", "displayName": "Sort By", "group": "sort", "label": "consumer,sort", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Built-in sort by using the File Language. Supports nested sorts, so you can have a sort by file name and as a 2nd group sort by modified date." },
-    "sorter": { "index": 128, "kind": "parameter", "displayName": "Sorter", "group": "sort", "label": "consumer,sort", "required": false, "type": "object", "javaType": "java.util.Comparator<org.apache.camel.component.file.GenericFile<org.apache.camel.component.file.remote.SftpRemoteFile>>", "deprecated": false, "autowired": false, "secret": false, "description": "Pluggable sorter as a java.util.Comparator class." }
+    "checksumFileAlgorithm": { "index": 31, "kind": "parameter", "displayName": "Checksum File Algorithm", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "If provided, then Camel will write a checksum file when the original file has been written. The checksum file will contain the checksum created with the provided algorithm for the original file. The c [...]
+    "fileExist": { "index": 32, "kind": "parameter", "displayName": "File Exist", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "org.apache.camel.component.file.GenericFileExist", "enum": [ "Override", "Append", "Fail", "Ignore", "Move", "TryRename" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "Override", "description": "What to do if a file already exists with the same name. Override, which is the default, repl [...]
+    "flatten": { "index": 33, "kind": "parameter", "displayName": "Flatten", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Flatten is used to flatten the file name path to strip any leading paths, so it's just the file name. This allows you to consume recursively into sub-directories, but when you eg write the files to another directory [...]
+    "jailStartingDirectory": { "index": 34, "kind": "parameter", "displayName": "Jail Starting Directory", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Used for jailing (restricting) writing files to the starting directory (and sub) only. This is enabled by default to not allow Camel to write files to outside directories (to be more sec [...]
+    "moveExisting": { "index": 35, "kind": "parameter", "displayName": "Move Existing", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Expression (such as File Language) used to compute file name to use when fileExist=Move is configured. To move files into a backup subdirectory just enter backup. This option only supports the following File Language to [...]
+    "tempFileName": { "index": 36, "kind": "parameter", "displayName": "Temp File Name", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "The same as tempPrefix option but offering a more fine grained control on the naming of the temporary filename as it uses the File Language. The location for tempFilename is relative to the final file location in the o [...]
+    "tempPrefix": { "index": 37, "kind": "parameter", "displayName": "Temp Prefix", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "This option is used to write the file using a temporary name and then, after the write is complete, rename it to the real name. Can be used to identify files being written and also avoid consumers (not using exclusive read  [...]
+    "allowNullBody": { "index": 38, "kind": "parameter", "displayName": "Allow Null Body", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Used to specify if a null body is allowed during file writing. If set to true then an empty file will be created, when set to false, and attempting to send a null body to the file c [...]
+    "chmod": { "index": 39, "kind": "parameter", "displayName": "Chmod", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.file.remote.SftpConfiguration", "configurationField": "configuration", "description": "Allows you to set chmod on the stored file. For example chmod=640." },
+    "chmodDirectory": { "index": 40, "kind": "parameter", "displayName": "Chmod Directory", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.file.remote.SftpConfiguration", "configurationField": "configuration", "description": "Allows you to set chmod during path creation. For example chmod=640." },
+    "disconnectOnBatchComplete": { "index": 41, "kind": "parameter", "displayName": "Disconnect On Batch Complete", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether or not to disconnect from remote FTP server right after a Batch upload is complete. disconnectOnBatchComplete will only disconnect the current conne [...]
+    "eagerDeleteTargetFile": { "index": 42, "kind": "parameter", "displayName": "Eager Delete Target File", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether or not to eagerly delete any existing target file. This option only applies when you use fileExists=Override and the tempFileName option as well. You can use [...]
+    "keepLastModified": { "index": 43, "kind": "parameter", "displayName": "Keep Last Modified", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Will keep the last modified timestamp from the source file (if any). Will use the FileConstants.FILE_LAST_MODIFIED header to located the timestamp. This header can contain eit [...]
+    "lazyStartProducer": { "index": 44, "kind": "parameter", "displayName": "Lazy Start Producer", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a produ [...]
+    "moveExistingFileStrategy": { "index": 45, "kind": "parameter", "displayName": "Move Existing File Strategy", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "object", "javaType": "org.apache.camel.component.file.strategy.FileMoveExistingStrategy", "deprecated": false, "autowired": false, "secret": false, "description": "Strategy (Custom Strategy) used to move file with special naming token to use when fileExist=Move is configured. By default, [...]
+    "sendNoop": { "index": 46, "kind": "parameter", "displayName": "Send Noop", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.file.remote.SftpConfiguration", "configurationField": "configuration", "description": "Whether to send a noop command as a pre-write check before uploading fil [...]
+    "autoCreate": { "index": 47, "kind": "parameter", "displayName": "Auto Create", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Automatically create missing directories in the file's pathname. For the file consumer, that means creating the starting directory. For the file producer, it means the directory the files should be written to." },
+    "bindAddress": { "index": 48, "kind": "parameter", "displayName": "Bind Address", "group": "advanced", "label": "advanced", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.file.remote.SftpConfiguration", "configurationField": "configuration", "description": "Specifies the address of the local interface against which the connection should bind." },
+    "bulkRequests": { "index": 49, "kind": "parameter", "displayName": "Bulk Requests", "group": "advanced", "label": "advanced", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.file.remote.SftpConfiguration", "configurationField": "configuration", "description": "Specifies how many requests may be outstanding at any one time. Increasing this value may slight [...]
+    "compression": { "index": 50, "kind": "parameter", "displayName": "Compression", "group": "advanced", "label": "advanced", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.file.remote.SftpConfiguration", "configurationField": "configuration", "description": "To use compression. Specify a level from 1 to 10. Important: You must manually add the needed JSCH zlib JAR to th [...]
+    "connectTimeout": { "index": 51, "kind": "parameter", "displayName": "Connect Timeout", "group": "advanced", "label": "advanced", "required": false, "type": "duration", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "10000", "configurationClass": "org.apache.camel.component.file.remote.SftpConfiguration", "configurationField": "configuration", "description": "Sets the connect timeout for waiting for a connection to be established Used by  [...]
+    "existDirCheckUsingLs": { "index": 52, "kind": "parameter", "displayName": "Exist Dir Check Using Ls", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.file.remote.SftpConfiguration", "configurationField": "configuration", "description": "Whether to check for existing directory using LS command or CD. B [...]
+    "filenameEncoding": { "index": 53, "kind": "parameter", "displayName": "Filename Encoding", "group": "advanced", "label": "advanced", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.file.remote.SftpConfiguration", "configurationField": "configuration", "description": "Encoding to use for FTP client when parsing filenames. By default, UTF-8 is used." },
+    "maximumReconnectAttempts": { "index": 54, "kind": "parameter", "displayName": "Maximum Reconnect Attempts", "group": "advanced", "label": "advanced", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "description": "Specifies the maximum reconnect attempts Camel performs when it tries to connect to the remote FTP server. Use 0 to disable this behavior." },
+    "proxy": { "index": 55, "kind": "parameter", "displayName": "Proxy", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "com.jcraft.jsch.Proxy", "deprecated": false, "autowired": false, "secret": false, "description": "To use a custom configured com.jcraft.jsch.Proxy. This proxy is used to consume\/send messages from the target SFTP host." },
+    "reconnectDelay": { "index": 56, "kind": "parameter", "displayName": "Reconnect Delay", "group": "advanced", "label": "advanced", "required": false, "type": "duration", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "1000", "description": "Delay in millis Camel will wait before performing a reconnect attempt." },
+    "serverAliveCountMax": { "index": 57, "kind": "parameter", "displayName": "Server Alive Count Max", "group": "advanced", "label": "advanced", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 1, "configurationClass": "org.apache.camel.component.file.remote.SftpConfiguration", "configurationField": "configuration", "description": "Sets the number of keep-alive messages which may be sent without receiving  [...]
+    "serverAliveInterval": { "index": 58, "kind": "parameter", "displayName": "Server Alive Interval", "group": "advanced", "label": "advanced", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.file.remote.SftpConfiguration", "configurationField": "configuration", "description": "Sets the interval (millis) to send a keep-alive message. If zero is specified, any keep-alive m [...]
+    "soTimeout": { "index": 59, "kind": "parameter", "displayName": "So Timeout", "group": "advanced", "label": "advanced", "required": false, "type": "duration", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "300000", "configurationClass": "org.apache.camel.component.file.remote.SftpConfiguration", "configurationField": "configuration", "description": "Sets the so timeout FTP and FTPS Is the SocketOptions.SO_TIMEOUT value in millis. Recomme [...]
+    "stepwise": { "index": 60, "kind": "parameter", "displayName": "Stepwise", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.file.remote.SftpConfiguration", "configurationField": "configuration", "description": "Sets whether we should stepwise change directories while traversing file structures when down [...]
+    "throwExceptionOnConnectFailed": { "index": 61, "kind": "parameter", "displayName": "Throw Exception On Connect Failed", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.file.remote.SftpConfiguration", "configurationField": "configuration", "description": "Should an exception be thrown if connection fa [...]
+    "timeout": { "index": 62, "kind": "parameter", "displayName": "Timeout", "group": "advanced", "label": "advanced", "required": false, "type": "duration", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "30000", "configurationClass": "org.apache.camel.component.file.remote.SftpConfiguration", "configurationField": "configuration", "description": "Sets the data timeout for waiting for reply Used only by FTPClient" },
+    "antExclude": { "index": 63, "kind": "parameter", "displayName": "Ant Exclude", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Ant style filter exclusion. If both antInclude and antExclude are used, antExclude takes precedence over antInclude. Multiple exclusions may be specified in comma-delimited format." },
+    "antFilterCaseSensitive": { "index": 64, "kind": "parameter", "displayName": "Ant Filter Case Sensitive", "group": "filter", "label": "consumer,filter", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Sets case sensitive flag on ant filter." },
+    "antInclude": { "index": 65, "kind": "parameter", "displayName": "Ant Include", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Ant style filter inclusion. Multiple inclusions may be specified in comma-delimited format." },
+    "eagerMaxMessagesPerPoll": { "index": 66, "kind": "parameter", "displayName": "Eager Max Messages Per Poll", "group": "filter", "label": "consumer,filter", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Allows for controlling whether the limit from maxMessagesPerPoll is eager or not. If eager then the limit is during the scanning of files. Where as false would scan all files, [...]
+    "exclude": { "index": 67, "kind": "parameter", "displayName": "Exclude", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Is used to exclude files, if filename matches the regex pattern (matching is case in-sensitive). Notice if you use symbols such as plus sign and others you would need to configure this using the RAW() syntax if configuring th [...]
+    "excludeExt": { "index": 68, "kind": "parameter", "displayName": "Exclude Ext", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Is used to exclude files matching file extension name (case insensitive). For example to exclude bak files, then use excludeExt=bak. Multiple extensions can be separated by comma, for example to exclude bak and dat fil [...]
+    "filter": { "index": 69, "kind": "parameter", "displayName": "Filter", "group": "filter", "label": "consumer,filter", "required": false, "type": "object", "javaType": "org.apache.camel.component.file.GenericFileFilter<org.apache.camel.component.file.remote.SftpRemoteFile>", "deprecated": false, "autowired": false, "secret": false, "description": "Pluggable filter as a org.apache.camel.component.file.GenericFileFilter class. Will skip files if filter returns false in its accept() method." },
+    "filterDirectory": { "index": 70, "kind": "parameter", "displayName": "Filter Directory", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Filters the directory based on Simple language. For example to filter on current date, you can use a simple date pattern such as ${date:now:yyyMMdd}" },
+    "filterFile": { "index": 71, "kind": "parameter", "displayName": "Filter File", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Filters the file based on Simple language. For example to filter on file size, you can use ${file:size} 5000" },
+    "idempotent": { "index": 72, "kind": "parameter", "displayName": "Idempotent", "group": "filter", "label": "consumer,filter", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "false", "description": "Option to use the Idempotent Consumer EIP pattern to let Camel skip already processed files. Will by default use a memory based LRUCache that holds 1000 entries. If noop=true then idempotent w [...]
+    "idempotentKey": { "index": 73, "kind": "parameter", "displayName": "Idempotent Key", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "To use a custom idempotent key. By default the absolute path of the file is used. You can use the File Language, for example to use the file name and file size, you can do: idempotentKey=${file:name}-${file:size}" },
+    "idempotentRepository": { "index": 74, "kind": "parameter", "displayName": "Idempotent Repository", "group": "filter", "label": "consumer,filter", "required": false, "type": "object", "javaType": "org.apache.camel.spi.IdempotentRepository", "deprecated": false, "autowired": false, "secret": false, "description": "A pluggable repository org.apache.camel.spi.IdempotentRepository which by default use MemoryIdempotentRepository if none is specified and idempotent is true." },
+    "include": { "index": 75, "kind": "parameter", "displayName": "Include", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Is used to include files, if filename matches the regex pattern (matching is case in-sensitive). Notice if you use symbols such as plus sign and others you would need to configure this using the RAW() syntax if configuring th [...]
+    "includeExt": { "index": 76, "kind": "parameter", "displayName": "Include Ext", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Is used to include files matching file extension name (case insensitive). For example to include txt files, then use includeExt=txt. Multiple extensions can be separated by comma, for example to include txt and xml fil [...]
+    "maxDepth": { "index": 77, "kind": "parameter", "displayName": "Max Depth", "group": "filter", "label": "consumer,filter", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 2147483647, "description": "The maximum depth to traverse when recursively processing a directory." },
+    "maxMessagesPerPoll": { "index": 78, "kind": "parameter", "displayName": "Max Messages Per Poll", "group": "filter", "label": "consumer,filter", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "description": "To define a maximum messages to gather per poll. By default no maximum is set. Can be used to set a limit of e.g. 1000 to avoid when starting up the server that there are thousands of files. Set a value of 0 or n [...]
+    "minDepth": { "index": 79, "kind": "parameter", "displayName": "Min Depth", "group": "filter", "label": "consumer,filter", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "description": "The minimum depth to start processing when recursively processing a directory. Using minDepth=1 means the base directory. Using minDepth=2 means the first sub directory." },
+    "move": { "index": 80, "kind": "parameter", "displayName": "Move", "group": "filter", "label": "consumer,filter", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Expression (such as Simple Language) used to dynamically set the filename when moving it after processing. To move files into a .done subdirectory just enter .done." },
+    "exclusiveReadLockStrategy": { "index": 81, "kind": "parameter", "displayName": "Exclusive Read Lock Strategy", "group": "lock", "label": "consumer,lock", "required": false, "type": "object", "javaType": "org.apache.camel.component.file.GenericFileExclusiveReadLockStrategy<org.apache.camel.component.file.remote.SftpRemoteFile>", "deprecated": false, "autowired": false, "secret": false, "description": "Pluggable read-lock as a org.apache.camel.component.file.GenericFileExclusiveReadLo [...]
+    "readLock": { "index": 82, "kind": "parameter", "displayName": "Read Lock", "group": "lock", "label": "consumer,lock", "required": false, "type": "string", "javaType": "java.lang.String", "enum": [ "none", "markerFile", "fileLock", "rename", "changed", "idempotent", "idempotent-changed", "idempotent-rename" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "none", "description": "Used by consumer, to only poll the files if it has exclusive read-lock on the  [...]
+    "readLockCheckInterval": { "index": 83, "kind": "parameter", "displayName": "Read Lock Check Interval", "group": "lock", "label": "consumer,lock", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 1000, "description": "Interval in millis for the read-lock, if supported by the read lock. This interval is used for sleeping between attempts to acquire the read lock. For example when using the changed read  [...]
+    "readLockDeleteOrphanLockFiles": { "index": 84, "kind": "parameter", "displayName": "Read Lock Delete Orphan Lock Files", "group": "lock", "label": "consumer,lock", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether or not read lock with marker files should upon startup delete any orphan read lock files, which may have been left on the file system, if Camel was not proper [...]
+    "readLockIdempotentReleaseAsync": { "index": 85, "kind": "parameter", "displayName": "Read Lock Idempotent Release Async", "group": "lock", "label": "consumer,lock", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the delayed release task should be synchronous or asynchronous. See more details at the readLockIdempotentReleaseDelay option." },
+    "readLockIdempotentReleaseAsyncPoolSize": { "index": 86, "kind": "parameter", "displayName": "Read Lock Idempotent Release Async Pool Size", "group": "lock", "label": "consumer,lock", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "description": "The number of threads in the scheduled thread pool when using asynchronous release tasks. Using a default of 1 core threads should be sufficient in almost all use-cases, onl [...]
+    "readLockIdempotentReleaseDelay": { "index": 87, "kind": "parameter", "displayName": "Read Lock Idempotent Release Delay", "group": "lock", "label": "consumer,lock", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "description": "Whether to delay the release task for a period of millis. This can be used to delay the release tasks to expand the window when a file is regarded as read-locked, in an active\/active cluster [...]
+    "readLockIdempotentReleaseExecutorService": { "index": 88, "kind": "parameter", "displayName": "Read Lock Idempotent Release Executor Service", "group": "lock", "label": "consumer,lock", "required": false, "type": "object", "javaType": "java.util.concurrent.ScheduledExecutorService", "deprecated": false, "autowired": false, "secret": false, "description": "To use a custom and shared thread pool for asynchronous release tasks. See more details at the readLockIdempotentReleaseDelay opt [...]
+    "readLockLoggingLevel": { "index": 89, "kind": "parameter", "displayName": "Read Lock Logging Level", "group": "lock", "label": "consumer,lock", "required": false, "type": "object", "javaType": "org.apache.camel.LoggingLevel", "enum": [ "TRACE", "DEBUG", "INFO", "WARN", "ERROR", "OFF" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "DEBUG", "description": "Logging level used when a read lock could not be acquired. By default a DEBUG is logged. You can cha [...]
+    "readLockMarkerFile": { "index": 90, "kind": "parameter", "displayName": "Read Lock Marker File", "group": "lock", "label": "consumer,lock", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether to use marker file with the changed, rename, or exclusive read lock types. By default a marker file is used as well to guard against other processes picking up the same files. This b [...]
+    "readLockMinAge": { "index": 91, "kind": "parameter", "displayName": "Read Lock Min Age", "group": "lock", "label": "consumer,lock", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 0, "description": "This option is applied only for readLock=changed. It allows to specify a minimum age the file must be before attempting to acquire the read lock. For example use readLockMinAge=300s to require the file is [...]
+    "readLockMinLength": { "index": 92, "kind": "parameter", "displayName": "Read Lock Min Length", "group": "lock", "label": "consumer,lock", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 1, "description": "This option is applied only for readLock=changed. It allows you to configure a minimum file length. By default Camel expects the file to contain data, and thus the default value is 1. You can set th [...]
+    "readLockRemoveOnCommit": { "index": 93, "kind": "parameter", "displayName": "Read Lock Remove On Commit", "group": "lock", "label": "consumer,lock", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "This option is applied only for readLock=idempotent. It allows to specify whether to remove the file name entry from the idempotent repository when processing the file is succeeded [...]
+    "readLockRemoveOnRollback": { "index": 94, "kind": "parameter", "displayName": "Read Lock Remove On Rollback", "group": "lock", "label": "consumer,lock", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "This option is applied only for readLock=idempotent. It allows to specify whether to remove the file name entry from the idempotent repository when processing the file failed an [...]
+    "readLockTimeout": { "index": 95, "kind": "parameter", "displayName": "Read Lock Timeout", "group": "lock", "label": "consumer,lock", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 10000, "description": "Optional timeout in millis for the read-lock, if supported by the read-lock. If the read-lock could not be granted and the timeout triggered, then Camel will skip the file. At next poll Camel, will t [...]
+    "backoffErrorThreshold": { "index": 96, "kind": "parameter", "displayName": "Backoff Error Threshold", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "description": "The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in." },
+    "backoffIdleThreshold": { "index": 97, "kind": "parameter", "displayName": "Backoff Idle Threshold", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "description": "The number of subsequent idle polls that should happen before the backoffMultipler should kick-in." },
+    "backoffMultiplier": { "index": 98, "kind": "parameter", "displayName": "Backoff Multiplier", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "description": "To let the scheduled polling consumer backoff if there has been a number of subsequent idles\/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is h [...]
+    "delay": { "index": 99, "kind": "parameter", "displayName": "Delay", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 500, "description": "Milliseconds before the next poll." },
+    "greedy": { "index": 100, "kind": "parameter", "displayName": "Greedy", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages." },
+    "initialDelay": { "index": 101, "kind": "parameter", "displayName": "Initial Delay", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 1000, "description": "Milliseconds before the first poll starts." },
+    "repeatCount": { "index": 102, "kind": "parameter", "displayName": "Repeat Count", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 0, "description": "Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only fire once. If you set it to 5, it will only fire five times. A value of zero or negative means fire forever." },
+    "runLoggingLevel": { "index": 103, "kind": "parameter", "displayName": "Run Logging Level", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "object", "javaType": "org.apache.camel.LoggingLevel", "enum": [ "TRACE", "DEBUG", "INFO", "WARN", "ERROR", "OFF" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "TRACE", "description": "The consumer logs a start\/complete log line when it polls. This option allows you to configure the  [...]
+    "scheduledExecutorService": { "index": 104, "kind": "parameter", "displayName": "Scheduled Executor Service", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "object", "javaType": "java.util.concurrent.ScheduledExecutorService", "deprecated": false, "autowired": false, "secret": false, "description": "Allows for configuring a custom\/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool." },
+    "scheduler": { "index": 105, "kind": "parameter", "displayName": "Scheduler", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "object", "javaType": "java.lang.Object", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "none", "description": "To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler" },
+    "schedulerProperties": { "index": 106, "kind": "parameter", "displayName": "Scheduler Properties", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "object", "javaType": "java.util.Map<java.lang.String, java.lang.Object>", "prefix": "scheduler.", "multiValue": true, "deprecated": false, "autowired": false, "secret": false, "description": "To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler." },
+    "startScheduler": { "index": 107, "kind": "parameter", "displayName": "Start Scheduler", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether the scheduler should be auto started." },
+    "timeUnit": { "index": 108, "kind": "parameter", "displayName": "Time Unit", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "object", "javaType": "java.util.concurrent.TimeUnit", "enum": [ "NANOSECONDS", "MICROSECONDS", "MILLISECONDS", "SECONDS", "MINUTES", "HOURS", "DAYS" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "MILLISECONDS", "description": "Time unit for initialDelay and delay options." },
+    "useFixedDelay": { "index": 109, "kind": "parameter", "displayName": "Use Fixed Delay", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details." },
+    "ciphers": { "index": 110, "kind": "parameter", "displayName": "Ciphers", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.file.remote.SftpConfiguration", "configurationField": "configuration", "description": "Set a comma separated list of ciphers that will be used in order of preference. Possible cipher names are de [...]
+    "keyExchangeProtocols": { "index": 111, "kind": "parameter", "displayName": "Key Exchange Protocols", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.file.remote.SftpConfiguration", "configurationField": "configuration", "description": "Set a comma separated list of key exchange protocols that will be used in order  [...]
+    "keyPair": { "index": 112, "kind": "parameter", "displayName": "Key Pair", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "java.security.KeyPair", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.file.remote.SftpConfiguration", "configurationField": "configuration", "description": "Sets a key pair of the public and private key so to that the SFTP endpoint can do public\/private key v [...]
+    "knownHosts": { "index": 113, "kind": "parameter", "displayName": "Known Hosts", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "byte[]", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.file.remote.SftpConfiguration", "configurationField": "configuration", "description": "Sets the known_hosts from the byte array, so that the SFTP endpoint can do host key verification." },
+    "knownHostsFile": { "index": 114, "kind": "parameter", "displayName": "Known Hosts File", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.file.remote.SftpConfiguration", "configurationField": "configuration", "description": "Sets the known_hosts file, so that the SFTP endpoint can do host key verification." },
+    "knownHostsUri": { "index": 115, "kind": "parameter", "displayName": "Known Hosts Uri", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": true, "supportFileReference": true, "configurationClass": "org.apache.camel.component.file.remote.SftpConfiguration", "configurationField": "configuration", "description": "Sets the known_hosts file (loaded from cla [...]
+    "password": { "index": 116, "kind": "parameter", "displayName": "Password", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.file.remote.SftpConfiguration", "configurationField": "configuration", "description": "Password to use for login" },
+    "preferredAuthentications": { "index": 117, "kind": "parameter", "displayName": "Preferred Authentications", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.file.remote.SftpConfiguration", "configurationField": "configuration", "description": "Set the preferred authentications which SFTP endpoint will used. Some exa [...]
+    "privateKey": { "index": 118, "kind": "parameter", "displayName": "Private Key", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "byte[]", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.file.remote.SftpConfiguration", "configurationField": "configuration", "description": "Set the private key as byte so that the SFTP endpoint can do private key verification." },
+    "privateKeyFile": { "index": 119, "kind": "parameter", "displayName": "Private Key File", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.file.remote.SftpConfiguration", "configurationField": "configuration", "description": "Set the private key file so that the SFTP endpoint can do private key verification." },
+    "privateKeyPassphrase": { "index": 120, "kind": "parameter", "displayName": "Private Key Passphrase", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.file.remote.SftpConfiguration", "configurationField": "configuration", "description": "Set the private key file passphrase so that the SFTP endpoint can do private key  [...]
+    "privateKeyUri": { "index": 121, "kind": "parameter", "displayName": "Private Key Uri", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": true, "supportFileReference": true, "configurationClass": "org.apache.camel.component.file.remote.SftpConfiguration", "configurationField": "configuration", "description": "Set the private key file (loaded from clas [...]
+    "publicKeyAcceptedAlgorithms": { "index": 122, "kind": "parameter", "displayName": "Public Key Accepted Algorithms", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.file.remote.SftpConfiguration", "configurationField": "configuration", "description": "Set a comma separated list of public key accepted algorithms. Som [...]
+    "serverHostKeys": { "index": 123, "kind": "parameter", "displayName": "Server Host Keys", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.file.remote.SftpConfiguration", "configurationField": "configuration", "description": "Set a comma separated list of algorithms supported for the server host key. Some examples in [...]
+    "strictHostKeyChecking": { "index": 124, "kind": "parameter", "displayName": "Strict Host Key Checking", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "enum": [ "no", "yes" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "no", "configurationClass": "org.apache.camel.component.file.remote.SftpConfiguration", "configurationField": "configuration", "description": "Sets whether to use strict hos [...]
+    "username": { "index": 125, "kind": "parameter", "displayName": "Username", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.file.remote.SftpConfiguration", "configurationField": "configuration", "description": "Username to use for login" },
+    "useUserKnownHostsFile": { "index": 126, "kind": "parameter", "displayName": "Use User Known Hosts File", "group": "security", "label": "security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.file.remote.SftpConfiguration", "configurationField": "configuration", "description": "If knownHostFile has not been explicit configured then use the [...]
+    "shuffle": { "index": 127, "kind": "parameter", "displayName": "Shuffle", "group": "sort", "label": "consumer,sort", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "To shuffle the list of files (sort in random order)" },
+    "sortBy": { "index": 128, "kind": "parameter", "displayName": "Sort By", "group": "sort", "label": "consumer,sort", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Built-in sort by using the File Language. Supports nested sorts, so you can have a sort by file name and as a 2nd group sort by modified date." },
+    "sorter": { "index": 129, "kind": "parameter", "displayName": "Sorter", "group": "sort", "label": "consumer,sort", "required": false, "type": "object", "javaType": "java.util.Comparator<org.apache.camel.component.file.GenericFile<org.apache.camel.component.file.remote.SftpRemoteFile>>", "deprecated": false, "autowired": false, "secret": false, "description": "Pluggable sorter as a java.util.Comparator class." }
   }
 }
diff --git a/components/camel-jsch/src/generated/java/org/apache/camel/component/scp/ScpEndpointConfigurer.java b/components/camel-jsch/src/generated/java/org/apache/camel/component/scp/ScpEndpointConfigurer.java
index 7ded765e341..b449e6e5e64 100644
--- a/components/camel-jsch/src/generated/java/org/apache/camel/component/scp/ScpEndpointConfigurer.java
+++ b/components/camel-jsch/src/generated/java/org/apache/camel/component/scp/ScpEndpointConfigurer.java
@@ -23,6 +23,8 @@ public class ScpEndpointConfigurer extends PropertyConfigurerSupport implements
         switch (ignoreCase ? name.toLowerCase() : name) {
         case "allownullbody":
         case "allowNullBody": target.setAllowNullBody(property(camelContext, boolean.class, value)); return true;
+        case "checksumfilealgorithm":
+        case "checksumFileAlgorithm": target.setChecksumFileAlgorithm(property(camelContext, java.lang.String.class, value)); return true;
         case "chmod": target.getConfiguration().setChmod(property(camelContext, java.lang.String.class, value)); return true;
         case "ciphers": target.getConfiguration().setCiphers(property(camelContext, java.lang.String.class, value)); return true;
         case "connecttimeout":
@@ -67,6 +69,8 @@ public class ScpEndpointConfigurer extends PropertyConfigurerSupport implements
         switch (ignoreCase ? name.toLowerCase() : name) {
         case "allownullbody":
         case "allowNullBody": return boolean.class;
+        case "checksumfilealgorithm":
+        case "checksumFileAlgorithm": return java.lang.String.class;
         case "chmod": return java.lang.String.class;
         case "ciphers": return java.lang.String.class;
         case "connecttimeout":
@@ -112,6 +116,8 @@ public class ScpEndpointConfigurer extends PropertyConfigurerSupport implements
         switch (ignoreCase ? name.toLowerCase() : name) {
         case "allownullbody":
         case "allowNullBody": return target.isAllowNullBody();
+        case "checksumfilealgorithm":
+        case "checksumFileAlgorithm": return target.getChecksumFileAlgorithm();
         case "chmod": return target.getConfiguration().getChmod();
         case "ciphers": return target.getConfiguration().getCiphers();
         case "connecttimeout":
diff --git a/components/camel-jsch/src/generated/java/org/apache/camel/component/scp/ScpEndpointUriFactory.java b/components/camel-jsch/src/generated/java/org/apache/camel/component/scp/ScpEndpointUriFactory.java
index 3bfb8789c49..214d00dc0b5 100644
--- a/components/camel-jsch/src/generated/java/org/apache/camel/component/scp/ScpEndpointUriFactory.java
+++ b/components/camel-jsch/src/generated/java/org/apache/camel/component/scp/ScpEndpointUriFactory.java
@@ -21,8 +21,9 @@ public class ScpEndpointUriFactory extends org.apache.camel.support.component.En
     private static final Set<String> SECRET_PROPERTY_NAMES;
     private static final Set<String> MULTI_VALUE_PREFIXES;
     static {
-        Set<String> props = new HashSet<>(25);
+        Set<String> props = new HashSet<>(26);
         props.add("allowNullBody");
+        props.add("checksumFileAlgorithm");
         props.add("chmod");
         props.add("ciphers");
         props.add("connectTimeout");
diff --git a/components/camel-jsch/src/generated/resources/org/apache/camel/component/scp/scp.json b/components/camel-jsch/src/generated/resources/org/apache/camel/component/scp/scp.json
index 940bc87ff3b..4742d76ff6c 100644
--- a/components/camel-jsch/src/generated/resources/org/apache/camel/component/scp/scp.json
+++ b/components/camel-jsch/src/generated/resources/org/apache/camel/component/scp/scp.json
@@ -34,25 +34,26 @@
     "directoryName": { "index": 2, "kind": "path", "displayName": "Directory Name", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.scp.ScpConfiguration", "configurationField": "configuration", "description": "The starting directory" },
     "chmod": { "index": 3, "kind": "parameter", "displayName": "Chmod", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "664", "configurationClass": "org.apache.camel.component.scp.ScpConfiguration", "configurationField": "configuration", "description": "Allows you to set chmod on the stored file. For example chmod=664." },
     "disconnect": { "index": 4, "kind": "parameter", "displayName": "Disconnect", "group": "common", "label": "common", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether or not to disconnect from remote FTP server right after use. Disconnect will only disconnect the current connection to the FTP server. If you have a consumer which you want to stop, then you need to stop th [...]
-    "fileName": { "index": 5, "kind": "parameter", "displayName": "File Name", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Use Expression such as File Language to dynamically set the filename. For consumers, it's used as a filename filter. For producers, it's used to evaluate the filename to write. If an expression is set, it take precedence over the CamelF [...]
-    "flatten": { "index": 6, "kind": "parameter", "displayName": "Flatten", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Flatten is used to flatten the file name path to strip any leading paths, so it's just the file name. This allows you to consume recursively into sub-directories, but when you eg write the files to another directory  [...]
-    "jailStartingDirectory": { "index": 7, "kind": "parameter", "displayName": "Jail Starting Directory", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Used for jailing (restricting) writing files to the starting directory (and sub) only. This is enabled by default to not allow Camel to write files to outside directories (to be more secu [...]
-    "strictHostKeyChecking": { "index": 8, "kind": "parameter", "displayName": "Strict Host Key Checking", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "enum": [ "no", "yes" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "no", "configurationClass": "org.apache.camel.component.scp.ScpConfiguration", "configurationField": "configuration", "description": "Sets whether to use strict host key checking. Pos [...]
-    "allowNullBody": { "index": 9, "kind": "parameter", "displayName": "Allow Null Body", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Used to specify if a null body is allowed during file writing. If set to true then an empty file will be created, when set to false, and attempting to send a null body to the file co [...]
-    "disconnectOnBatchComplete": { "index": 10, "kind": "parameter", "displayName": "Disconnect On Batch Complete", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether or not to disconnect from remote FTP server right after a Batch upload is complete. disconnectOnBatchComplete will only disconnect the current conne [...]
-    "lazyStartProducer": { "index": 11, "kind": "parameter", "displayName": "Lazy Start Producer", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a produ [...]
-    "moveExistingFileStrategy": { "index": 12, "kind": "parameter", "displayName": "Move Existing File Strategy", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "object", "javaType": "org.apache.camel.component.file.strategy.FileMoveExistingStrategy", "deprecated": false, "autowired": false, "secret": false, "description": "Strategy (Custom Strategy) used to move file with special naming token to use when fileExist=Move is configured. By default, [...]
-    "connectTimeout": { "index": 13, "kind": "parameter", "displayName": "Connect Timeout", "group": "advanced", "label": "advanced", "required": false, "type": "duration", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "10000", "configurationClass": "org.apache.camel.component.scp.ScpConfiguration", "configurationField": "configuration", "description": "Sets the connect timeout for waiting for a connection to be established Used by both FTPC [...]
-    "soTimeout": { "index": 14, "kind": "parameter", "displayName": "So Timeout", "group": "advanced", "label": "advanced", "required": false, "type": "duration", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "300000", "configurationClass": "org.apache.camel.component.scp.ScpConfiguration", "configurationField": "configuration", "description": "Sets the so timeout FTP and FTPS Is the SocketOptions.SO_TIMEOUT value in millis. Recommended opti [...]
-    "timeout": { "index": 15, "kind": "parameter", "displayName": "Timeout", "group": "advanced", "label": "advanced", "required": false, "type": "duration", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "30000", "configurationClass": "org.apache.camel.component.scp.ScpConfiguration", "configurationField": "configuration", "description": "Sets the data timeout for waiting for reply Used only by FTPClient" },
-    "knownHostsFile": { "index": 16, "kind": "parameter", "displayName": "Known Hosts File", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": true, "supportFileReference": true, "configurationClass": "org.apache.camel.component.scp.ScpConfiguration", "configurationField": "configuration", "description": "Sets the known_hosts file, so that the jsch endpoi [...]
-    "password": { "index": 17, "kind": "parameter", "displayName": "Password", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.scp.ScpConfiguration", "configurationField": "configuration", "description": "Password to use for login" },
-    "preferredAuthentications": { "index": 18, "kind": "parameter", "displayName": "Preferred Authentications", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.scp.ScpConfiguration", "configurationField": "configuration", "description": "Set a comma separated list of authentications that will be used in order of preferen [...]
-    "privateKeyBytes": { "index": 19, "kind": "parameter", "displayName": "Private Key Bytes", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "byte[]", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.scp.ScpConfiguration", "configurationField": "configuration", "description": "Set the private key bytes to that the endpoint can do private key verification. This must be used only if priva [...]
-    "privateKeyFile": { "index": 20, "kind": "parameter", "displayName": "Private Key File", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.scp.ScpConfiguration", "configurationField": "configuration", "description": "Set the private key file to that the endpoint can do private key verification. You can prefix with clas [...]
-    "privateKeyFilePassphrase": { "index": 21, "kind": "parameter", "displayName": "Private Key File Passphrase", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.scp.ScpConfiguration", "configurationField": "configuration", "description": "Set the private key file passphrase to that the endpoint can do private key verifi [...]
-    "username": { "index": 22, "kind": "parameter", "displayName": "Username", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.scp.ScpConfiguration", "configurationField": "configuration", "description": "Username to use for login" },
-    "useUserKnownHostsFile": { "index": 23, "kind": "parameter", "displayName": "Use User Known Hosts File", "group": "security", "label": "security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.scp.ScpConfiguration", "configurationField": "configuration", "description": "If knownHostFile has not been explicit configured, then use the host fil [...]
-    "ciphers": { "index": 24, "kind": "parameter", "displayName": "Ciphers", "group": "security (advanced)", "label": "security,advanced", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.scp.ScpConfiguration", "configurationField": "configuration", "description": "Set a comma separated list of ciphers that will be used in order of preference. Possible cipher na [...]
+    "checksumFileAlgorithm": { "index": 5, "kind": "parameter", "displayName": "Checksum File Algorithm", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "If provided, then Camel will write a checksum file when the original file has been written. The checksum file will contain the checksum created with the provided algorithm for the original file. The ch [...]
+    "fileName": { "index": 6, "kind": "parameter", "displayName": "File Name", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Use Expression such as File Language to dynamically set the filename. For consumers, it's used as a filename filter. For producers, it's used to evaluate the filename to write. If an expression is set, it take precedence over the CamelF [...]
+    "flatten": { "index": 7, "kind": "parameter", "displayName": "Flatten", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Flatten is used to flatten the file name path to strip any leading paths, so it's just the file name. This allows you to consume recursively into sub-directories, but when you eg write the files to another directory  [...]
+    "jailStartingDirectory": { "index": 8, "kind": "parameter", "displayName": "Jail Starting Directory", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Used for jailing (restricting) writing files to the starting directory (and sub) only. This is enabled by default to not allow Camel to write files to outside directories (to be more secu [...]
+    "strictHostKeyChecking": { "index": 9, "kind": "parameter", "displayName": "Strict Host Key Checking", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "enum": [ "no", "yes" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "no", "configurationClass": "org.apache.camel.component.scp.ScpConfiguration", "configurationField": "configuration", "description": "Sets whether to use strict host key checking. Pos [...]
+    "allowNullBody": { "index": 10, "kind": "parameter", "displayName": "Allow Null Body", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Used to specify if a null body is allowed during file writing. If set to true then an empty file will be created, when set to false, and attempting to send a null body to the file c [...]
+    "disconnectOnBatchComplete": { "index": 11, "kind": "parameter", "displayName": "Disconnect On Batch Complete", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether or not to disconnect from remote FTP server right after a Batch upload is complete. disconnectOnBatchComplete will only disconnect the current conne [...]
+    "lazyStartProducer": { "index": 12, "kind": "parameter", "displayName": "Lazy Start Producer", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a produ [...]
+    "moveExistingFileStrategy": { "index": 13, "kind": "parameter", "displayName": "Move Existing File Strategy", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "object", "javaType": "org.apache.camel.component.file.strategy.FileMoveExistingStrategy", "deprecated": false, "autowired": false, "secret": false, "description": "Strategy (Custom Strategy) used to move file with special naming token to use when fileExist=Move is configured. By default, [...]
+    "connectTimeout": { "index": 14, "kind": "parameter", "displayName": "Connect Timeout", "group": "advanced", "label": "advanced", "required": false, "type": "duration", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "10000", "configurationClass": "org.apache.camel.component.scp.ScpConfiguration", "configurationField": "configuration", "description": "Sets the connect timeout for waiting for a connection to be established Used by both FTPC [...]
+    "soTimeout": { "index": 15, "kind": "parameter", "displayName": "So Timeout", "group": "advanced", "label": "advanced", "required": false, "type": "duration", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "300000", "configurationClass": "org.apache.camel.component.scp.ScpConfiguration", "configurationField": "configuration", "description": "Sets the so timeout FTP and FTPS Is the SocketOptions.SO_TIMEOUT value in millis. Recommended opti [...]
+    "timeout": { "index": 16, "kind": "parameter", "displayName": "Timeout", "group": "advanced", "label": "advanced", "required": false, "type": "duration", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "30000", "configurationClass": "org.apache.camel.component.scp.ScpConfiguration", "configurationField": "configuration", "description": "Sets the data timeout for waiting for reply Used only by FTPClient" },
+    "knownHostsFile": { "index": 17, "kind": "parameter", "displayName": "Known Hosts File", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": true, "supportFileReference": true, "configurationClass": "org.apache.camel.component.scp.ScpConfiguration", "configurationField": "configuration", "description": "Sets the known_hosts file, so that the jsch endpoi [...]
+    "password": { "index": 18, "kind": "parameter", "displayName": "Password", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.scp.ScpConfiguration", "configurationField": "configuration", "description": "Password to use for login" },
+    "preferredAuthentications": { "index": 19, "kind": "parameter", "displayName": "Preferred Authentications", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.scp.ScpConfiguration", "configurationField": "configuration", "description": "Set a comma separated list of authentications that will be used in order of preferen [...]
+    "privateKeyBytes": { "index": 20, "kind": "parameter", "displayName": "Private Key Bytes", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "byte[]", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.scp.ScpConfiguration", "configurationField": "configuration", "description": "Set the private key bytes to that the endpoint can do private key verification. This must be used only if priva [...]
+    "privateKeyFile": { "index": 21, "kind": "parameter", "displayName": "Private Key File", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.scp.ScpConfiguration", "configurationField": "configuration", "description": "Set the private key file to that the endpoint can do private key verification. You can prefix with clas [...]
+    "privateKeyFilePassphrase": { "index": 22, "kind": "parameter", "displayName": "Private Key File Passphrase", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.scp.ScpConfiguration", "configurationField": "configuration", "description": "Set the private key file passphrase to that the endpoint can do private key verifi [...]
+    "username": { "index": 23, "kind": "parameter", "displayName": "Username", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.scp.ScpConfiguration", "configurationField": "configuration", "description": "Username to use for login" },
+    "useUserKnownHostsFile": { "index": 24, "kind": "parameter", "displayName": "Use User Known Hosts File", "group": "security", "label": "security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.scp.ScpConfiguration", "configurationField": "configuration", "description": "If knownHostFile has not been explicit configured, then use the host fil [...]
+    "ciphers": { "index": 25, "kind": "parameter", "displayName": "Ciphers", "group": "security (advanced)", "label": "security,advanced", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.scp.ScpConfiguration", "configurationField": "configuration", "description": "Set a comma separated list of ciphers that will be used in order of preference. Possible cipher na [...]
   }
 }