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-spring-boot.git


The following commit(s) were added to refs/heads/main by this push:
     new 43178e7a2f8 CAMEL-21352: camel-smb - Add option to download file using 
streaming to avoid loading into memory.
43178e7a2f8 is described below

commit 43178e7a2f8cb54dda07818fb8e33b965d77a38d
Author: Claus Ibsen <claus.ib...@gmail.com>
AuthorDate: Sat Jan 4 20:25:14 2025 +0100

    CAMEL-21352: camel-smb - Add option to download file using streaming to 
avoid loading into memory.
---
 .../camel/springboot/catalog/components/smb.json   | 156 +++++++++++----------
 1 file changed, 79 insertions(+), 77 deletions(-)

diff --git 
a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/smb.json
 
b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/smb.json
index 145574c95ac..46cc873456e 100644
--- 
a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/smb.json
+++ 
b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/smb.json
@@ -44,8 +44,9 @@
     "CamelFileNameProduced": { "index": 10, "kind": "header", "displayName": 
"", "group": "producer", "label": "producer", "required": false, "javaType": 
"String", "deprecated": false, "deprecationNote": "", "autowired": false, 
"secret": false, "description": "The actual absolute filepath (path name) for 
the output file that was written. This header is set by Camel and its purpose 
is providing end-users with the name of the file that was written.", 
"constantName": "org.apache.camel.compo [...]
     "CamelOverruleFileName": { "index": 11, "kind": "header", "displayName": 
"", "group": "producer", "label": "producer", "required": false, "javaType": 
"Object", "deprecated": false, "deprecationNote": "", "autowired": false, 
"secret": false, "description": "Is used for overruling CamelFileName header 
and use the value instead (but only once, as the producer will remove this 
header after writing the file). The value can be only be a String. Notice that 
if the option fileName has been c [...]
     "CamelFileHost": { "index": 12, "kind": "header", "displayName": "", 
"group": "consumer", "label": "consumer", "required": false, "javaType": 
"String", "deprecated": false, "deprecationNote": "", "autowired": false, 
"secret": false, "description": "The remote hostname.", "constantName": 
"org.apache.camel.component.smb.SmbConstants#FILE_HOST" },
-    "CamelFileLocalWorkPath": { "index": 13, "kind": "header", "displayName": 
"", "group": "common", "label": "", "required": false, "javaType": "String", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "description": "Path to the local work file, if local work directory is 
used.", "constantName": 
"org.apache.camel.component.smb.SmbConstants#FILE_LOCAL_WORK_PATH" },
-    "CamelSmbFileExists": { "index": 14, "kind": "header", "displayName": "", 
"group": "producer", "label": "producer", "required": false, "javaType": 
"org.apache.camel.component.file.GenericFileExist", "enum": [ "Override", 
"Append", "Fail", "Ignore", "Move", "TryRename" ], "deprecated": true, 
"deprecationNote": "", "autowired": false, "secret": false, "description": "The 
expected behavior if the file already exists.", "constantName": 
"org.apache.camel.component.smb.SmbConstants#SMB_FIL [...]
+    "CamelSmbFileInputStream": { "index": 13, "kind": "header", "displayName": 
"", "group": "consumer", "label": "consumer", "required": false, "javaType": 
"java.io.InputStream", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "description": "The remote file input stream.", 
"constantName": 
"org.apache.camel.component.smb.SmbConstants#SMB_FILE_INPUT_STREAM" },
+    "CamelFileLocalWorkPath": { "index": 14, "kind": "header", "displayName": 
"", "group": "common", "label": "", "required": false, "javaType": "String", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "description": "Path to the local work file, if local work directory is 
used.", "constantName": 
"org.apache.camel.component.smb.SmbConstants#FILE_LOCAL_WORK_PATH" },
+    "CamelSmbFileExists": { "index": 15, "kind": "header", "displayName": "", 
"group": "producer", "label": "producer", "required": false, "javaType": 
"org.apache.camel.component.file.GenericFileExist", "enum": [ "Override", 
"Append", "Fail", "Ignore", "Move", "TryRename" ], "deprecated": true, 
"deprecationNote": "", "autowired": false, "secret": false, "description": "The 
expected behavior if the file already exists.", "constantName": 
"org.apache.camel.component.smb.SmbConstants#SMB_FIL [...]
   },
   "properties": {
     "hostname": { "index": 0, "kind": "path", "displayName": "Hostname", 
"group": "common", "label": "", "required": true, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "configurationClass": 
"org.apache.camel.component.smb.SmbConfiguration", "configurationField": 
"configuration", "description": "The share hostname or IP address" },
@@ -63,80 +64,81 @@
     "recursive": { "index": 12, "kind": "parameter", "displayName": 
"Recursive", "group": "consumer", "label": "consumer", "required": false, 
"type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": 
false, "secret": false, "defaultValue": false, "description": "If a directory, 
will look for files in all the sub-directories as well." },
     "searchPattern": { "index": 13, "kind": "parameter", "displayName": 
"Search Pattern", "group": "consumer", "label": "consumer", "required": false, 
"type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.smb.SmbConfiguration", "configurationField": 
"configuration", "description": "The search pattern used to list the files 
(server side on SMB). This parameter can contain the name of a  [...]
     "sendEmptyMessageWhenIdle": { "index": 14, "kind": "parameter", 
"displayName": "Send Empty Message When Idle", "group": "consumer", "label": 
"consumer", "required": false, "type": "boolean", "javaType": "boolean", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": 
false, "description": "If the polling consumer did not poll any files, you can 
enable this option to send an empty message (no body) instead." },
-    "bridgeErrorHandler": { "index": 15, "kind": "parameter", "displayName": 
"Bridge Error Handler", "group": "consumer (advanced)", "label": 
"consumer,advanced", "required": false, "type": "boolean", "javaType": 
"boolean", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": false, "description": "Allows for bridging the consumer to the 
Camel routing Error Handler, which mean any exceptions (if possible) occurred 
while the Camel consumer is trying to pickup incoming [...]
-    "exceptionHandler": { "index": 16, "kind": "parameter", "displayName": 
"Exception Handler", "group": "consumer (advanced)", "label": 
"consumer,advanced", "required": false, "type": "object", "javaType": 
"org.apache.camel.spi.ExceptionHandler", "optionalPrefix": "consumer.", 
"deprecated": false, "autowired": false, "secret": false, "description": "To 
let the consumer use a custom ExceptionHandler. Notice if the option 
bridgeErrorHandler is enabled then this option is not in use. By de [...]
-    "exchangePattern": { "index": 17, "kind": "parameter", "displayName": 
"Exchange Pattern", "group": "consumer (advanced)", "label": 
"consumer,advanced", "required": false, "type": "object", "javaType": 
"org.apache.camel.ExchangePattern", "enum": [ "InOnly", "InOut" ], 
"deprecated": false, "autowired": false, "secret": false, "description": "Sets 
the exchange pattern when the consumer creates an exchange." },
-    "inProgressRepository": { "index": 18, "kind": "parameter", "displayName": 
"In Progress Repository", "group": "consumer (advanced)", "label": 
"consumer,advanced", "required": false, "type": "object", "javaType": 
"org.apache.camel.spi.IdempotentRepository", "deprecated": false, "autowired": 
false, "secret": false, "description": "A pluggable in-progress repository 
org.apache.camel.spi.IdempotentRepository. The in-progress repository is used 
to account the current in progress files bei [...]
-    "localWorkDirectory": { "index": 19, "kind": "parameter", "displayName": 
"Local Work Directory", "group": "consumer (advanced)", "label": 
"consumer,advanced", "required": false, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "autowired": false, "secret": false, 
"description": "When consuming, a local work directory can be used to store the 
remote file content directly in local files, to avoid loading the content into 
memory. This is beneficial, if you consume  [...]
-    "onCompletionExceptionHandler": { "index": 20, "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": 21, "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": 22, "kind": "parameter", "displayName": 
"Process Strategy", "group": "consumer (advanced)", "label": 
"consumer,advanced", "required": false, "type": "object", "javaType": 
"org.apache.camel.component.file.GenericFileProcessStrategy<com.hierynomus.msfscc.fileinformation.FileIdBothDirectoryInformation>",
 "deprecated": false, "autowired": false, "secret": false, "description": "A 
pluggable org.apache.camel.component.file.GenericFileProcessStrategy allowing y 
[...]
-    "checksumFileAlgorithm": { "index": 23, "kind": "parameter", 
"displayName": "Checksum File Algorithm", "group": "producer", "label": 
"producer", "required": false, "type": "string", "javaType": 
"java.lang.String", "enum": [ "MD2", "MD5", "SHA_1", "SHA_224", "SHA_256", 
"SHA_384", "SHA_512", "SHA_512_224", "SHA_512_256", "SHA3_224", "SHA3_256", 
"SHA3_384", "SHA3_512" ], "deprecated": false, "autowired": false, "secret": 
false, "description": "If provided, then Camel will write a checks [...]
-    "fileExist": { "index": 24, "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": 25, "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": 26, "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": 27, "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 [...]
-    "readBufferSize": { "index": 28, "kind": "parameter", "displayName": "Read 
Buffer Size", "group": "producer", "label": "producer", "required": false, 
"type": "integer", "javaType": "int", "deprecated": false, "deprecationNote": 
"", "autowired": false, "secret": false, "defaultValue": 2048, 
"configurationClass": "org.apache.camel.component.smb.SmbConfiguration", 
"configurationField": "configuration", "description": "Read buffer size when 
for file being produced" },
-    "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 [...]
-    "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." },
-    "browseLimit": { "index": 37, "kind": "parameter", "displayName": "Browse 
Limit", "group": "advanced", "label": "advanced", "required": false, "type": 
"integer", "javaType": "int", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": 100, "description": "Maximum number of 
messages to keep in memory available for browsing. Use 0 for unlimited." },
-    "bufferSize": { "index": 38, "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)." },
-    "smbConfig": { "index": 39, "kind": "parameter", "displayName": "Smb 
Config", "group": "advanced", "label": "advanced", "required": false, "type": 
"object", "javaType": "com.hierynomus.smbj.SmbConfig", "deprecated": false, 
"deprecationNote": "", "autowired": true, "secret": false, 
"configurationClass": "org.apache.camel.component.smb.SmbConfiguration", 
"configurationField": "configuration", "description": "An optional SMB client 
configuration, can be used to configure client specific [...]
-    "antExclude": { "index": 40, "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": 41, "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": 42, "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": 43, "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": 44, "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": 45, "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": 46, "kind": "parameter", "displayName": "Filter", 
"group": "filter", "label": "consumer,filter", "required": false, "type": 
"object", "javaType": 
"org.apache.camel.component.file.GenericFileFilter<com.hierynomus.msfscc.fileinformation.FileIdBothDirectoryInformation>",
 "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 it [...]
-    "filterDirectory": { "index": 47, "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": 48, "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": 49, "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 [...]
-    "idempotentEager": { "index": 50, "kind": "parameter", "displayName": 
"Idempotent Eager", "group": "filter", "label": "consumer,filter", "required": 
false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, 
"deprecationNote": "", "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 entri [...]
-    "idempotentKey": { "index": 51, "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": 52, "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": 53, "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": 54, "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": 55, "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": 56, "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": 57, "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": 58, "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": 59, "kind": "parameter", 
"displayName": "Exclusive Read Lock Strategy", "group": "lock", "label": 
"consumer,lock", "required": false, "type": "object", "javaType": 
"org.apache.camel.component.file.GenericFileExclusiveReadLockStrategy<com.hierynomus.msfscc.fileinformation.FileIdBothDirectoryInformation>",
 "deprecated": false, "autowired": false, "secret": false, "description": 
"Pluggable read-lock as a org.apache.camel.component.file.GenericFile [...]
-    "readLock": { "index": 60, "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": 61, "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": 62, "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": 63, "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": 64, "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": 65, "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": 66, "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": 67, "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": 68, "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": 69, "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": 70, "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": 71, "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": 72, "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": 73, "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": 74, "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": 75, "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": 76, "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": 77, "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": 78, "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": 79, "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": 80, "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": 81, "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": 82, "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": 83, "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." },
-    "domain": { "index": 84, "kind": "parameter", "displayName": "Domain", 
"group": "security", "label": "security", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "configurationClass": 
"org.apache.camel.component.smb.SmbConfiguration", "configurationField": 
"configuration", "description": "The user domain" },
-    "password": { "index": 85, "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.smb.SmbConfiguration", "configurationField": 
"configuration", "description": "The password to access the share" },
-    "username": { "index": 86, "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.smb.SmbConfiguration", "configurationField": 
"configuration", "description": "The username required to access the share" },
-    "shuffle": { "index": 87, "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": 88, "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": 89, "kind": "parameter", "displayName": "Sorter", 
"group": "sort", "label": "consumer,sort", "required": false, "type": "object", 
"javaType": 
"java.util.Comparator<org.apache.camel.component.file.GenericFile<com.hierynomus.msfscc.fileinformation.FileIdBothDirectoryInformation>>",
 "deprecated": false, "autowired": false, "secret": false, "description": 
"Pluggable sorter as a java.util.Comparator class." }
+    "streamDownload": { "index": 15, "kind": "parameter", "displayName": 
"Stream Download", "group": "consumer", "label": "consumer", "required": false, 
"type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": 
false, "secret": false, "defaultValue": false, "configurationClass": 
"org.apache.camel.component.smb.SmbConfiguration", "configurationField": 
"configuration", "description": "Sets the download method to use when not using 
a local working directory. If set to true [...]
+    "bridgeErrorHandler": { "index": 16, "kind": "parameter", "displayName": 
"Bridge Error Handler", "group": "consumer (advanced)", "label": 
"consumer,advanced", "required": false, "type": "boolean", "javaType": 
"boolean", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": false, "description": "Allows for bridging the consumer to the 
Camel routing Error Handler, which mean any exceptions (if possible) occurred 
while the Camel consumer is trying to pickup incoming [...]
+    "exceptionHandler": { "index": 17, "kind": "parameter", "displayName": 
"Exception Handler", "group": "consumer (advanced)", "label": 
"consumer,advanced", "required": false, "type": "object", "javaType": 
"org.apache.camel.spi.ExceptionHandler", "optionalPrefix": "consumer.", 
"deprecated": false, "autowired": false, "secret": false, "description": "To 
let the consumer use a custom ExceptionHandler. Notice if the option 
bridgeErrorHandler is enabled then this option is not in use. By de [...]
+    "exchangePattern": { "index": 18, "kind": "parameter", "displayName": 
"Exchange Pattern", "group": "consumer (advanced)", "label": 
"consumer,advanced", "required": false, "type": "object", "javaType": 
"org.apache.camel.ExchangePattern", "enum": [ "InOnly", "InOut" ], 
"deprecated": false, "autowired": false, "secret": false, "description": "Sets 
the exchange pattern when the consumer creates an exchange." },
+    "inProgressRepository": { "index": 19, "kind": "parameter", "displayName": 
"In Progress Repository", "group": "consumer (advanced)", "label": 
"consumer,advanced", "required": false, "type": "object", "javaType": 
"org.apache.camel.spi.IdempotentRepository", "deprecated": false, "autowired": 
false, "secret": false, "description": "A pluggable in-progress repository 
org.apache.camel.spi.IdempotentRepository. The in-progress repository is used 
to account the current in progress files bei [...]
+    "localWorkDirectory": { "index": 20, "kind": "parameter", "displayName": 
"Local Work Directory", "group": "consumer (advanced)", "label": 
"consumer,advanced", "required": false, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "autowired": false, "secret": false, 
"description": "When consuming, a local work directory can be used to store the 
remote file content directly in local files, to avoid loading the content into 
memory. This is beneficial, if you consume  [...]
+    "onCompletionExceptionHandler": { "index": 21, "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": 22, "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": 23, "kind": "parameter", "displayName": 
"Process Strategy", "group": "consumer (advanced)", "label": 
"consumer,advanced", "required": false, "type": "object", "javaType": 
"org.apache.camel.component.file.GenericFileProcessStrategy<com.hierynomus.msfscc.fileinformation.FileIdBothDirectoryInformation>",
 "deprecated": false, "autowired": false, "secret": false, "description": "A 
pluggable org.apache.camel.component.file.GenericFileProcessStrategy allowing y 
[...]
+    "checksumFileAlgorithm": { "index": 24, "kind": "parameter", 
"displayName": "Checksum File Algorithm", "group": "producer", "label": 
"producer", "required": false, "type": "string", "javaType": 
"java.lang.String", "enum": [ "MD2", "MD5", "SHA_1", "SHA_224", "SHA_256", 
"SHA_384", "SHA_512", "SHA_512_224", "SHA_512_256", "SHA3_224", "SHA3_256", 
"SHA3_384", "SHA3_512" ], "deprecated": false, "autowired": false, "secret": 
false, "description": "If provided, then Camel will write a checks [...]
+    "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 [...]
+    "moveExisting": { "index": 28, "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 [...]
+    "readBufferSize": { "index": 29, "kind": "parameter", "displayName": "Read 
Buffer Size", "group": "producer", "label": "producer", "required": false, 
"type": "integer", "javaType": "int", "deprecated": false, "deprecationNote": 
"", "autowired": false, "secret": false, "defaultValue": 2048, 
"configurationClass": "org.apache.camel.component.smb.SmbConfiguration", 
"configurationField": "configuration", "description": "Read buffer size when 
for file being produced" },
+    "tempFileName": { "index": 30, "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": 31, "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": 32, "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 [...]
+    "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." },
+    "browseLimit": { "index": 38, "kind": "parameter", "displayName": "Browse 
Limit", "group": "advanced", "label": "advanced", "required": false, "type": 
"integer", "javaType": "int", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": 100, "description": "Maximum number of 
messages to keep in memory available for browsing. Use 0 for unlimited." },
+    "bufferSize": { "index": 39, "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)." },
+    "smbConfig": { "index": 40, "kind": "parameter", "displayName": "Smb 
Config", "group": "advanced", "label": "advanced", "required": false, "type": 
"object", "javaType": "com.hierynomus.smbj.SmbConfig", "deprecated": false, 
"deprecationNote": "", "autowired": true, "secret": false, 
"configurationClass": "org.apache.camel.component.smb.SmbConfiguration", 
"configurationField": "configuration", "description": "An optional SMB client 
configuration, can be used to configure client specific [...]
+    "antExclude": { "index": 41, "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": 42, "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": 43, "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": 44, "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": 45, "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": 46, "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": 47, "kind": "parameter", "displayName": "Filter", 
"group": "filter", "label": "consumer,filter", "required": false, "type": 
"object", "javaType": 
"org.apache.camel.component.file.GenericFileFilter<com.hierynomus.msfscc.fileinformation.FileIdBothDirectoryInformation>",
 "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 it [...]
+    "filterDirectory": { "index": 48, "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": 49, "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": 50, "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 [...]
+    "idempotentEager": { "index": 51, "kind": "parameter", "displayName": 
"Idempotent Eager", "group": "filter", "label": "consumer,filter", "required": 
false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, 
"deprecationNote": "", "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 entri [...]
+    "idempotentKey": { "index": 52, "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": 53, "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": 54, "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": 55, "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": 56, "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": 57, "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": 58, "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": 59, "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": 60, "kind": "parameter", 
"displayName": "Exclusive Read Lock Strategy", "group": "lock", "label": 
"consumer,lock", "required": false, "type": "object", "javaType": 
"org.apache.camel.component.file.GenericFileExclusiveReadLockStrategy<com.hierynomus.msfscc.fileinformation.FileIdBothDirectoryInformation>",
 "deprecated": false, "autowired": false, "secret": false, "description": 
"Pluggable read-lock as a org.apache.camel.component.file.GenericFile [...]
+    "readLock": { "index": 61, "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": 62, "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": 63, "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": 64, "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": 65, "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": 66, "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": 67, "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": 68, "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": 69, "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": 70, "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": 71, "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": 72, "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": 73, "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": 74, "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": 75, "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": 76, "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": 77, "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": 78, "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": 79, "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": 80, "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": 81, "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": 82, "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": 83, "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": 84, "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." },
+    "domain": { "index": 85, "kind": "parameter", "displayName": "Domain", 
"group": "security", "label": "security", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "configurationClass": 
"org.apache.camel.component.smb.SmbConfiguration", "configurationField": 
"configuration", "description": "The user domain" },
+    "password": { "index": 86, "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.smb.SmbConfiguration", "configurationField": 
"configuration", "description": "The password to access the share" },
+    "username": { "index": 87, "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.smb.SmbConfiguration", "configurationField": 
"configuration", "description": "The username required to access the share" },
+    "shuffle": { "index": 88, "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": 89, "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": 90, "kind": "parameter", "displayName": "Sorter", 
"group": "sort", "label": "consumer,sort", "required": false, "type": "object", 
"javaType": 
"java.util.Comparator<org.apache.camel.component.file.GenericFile<com.hierynomus.msfscc.fileinformation.FileIdBothDirectoryInformation>>",
 "deprecated": false, "autowired": false, "secret": false, "description": 
"Pluggable sorter as a java.util.Comparator class." }
   }
 }

Reply via email to