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

acosentino pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel-spring-boot.git

commit edbc71454c0e8b156a82267a94520a44c76e4efe
Author: Andrea Cosentino <anco...@gmail.com>
AuthorDate: Fri Jun 30 12:36:43 2023 +0200

    CAMEL-19565 - Create Azure Files SB starter
    
    Signed-off-by: Andrea Cosentino <anco...@gmail.com>
---
 .../camel/springboot/catalog/components.properties |   1 +
 .../springboot/catalog/components/azure-files.json | 143 +++++++++++++++
 .../pom.xml                                        |  12 +-
 .../src/main/docs/azure-files.json                 |  50 +++++
 .../FilesComponentAutoConfiguration.java           |  77 ++++++++
 .../springboot/FilesComponentConfiguration.java    |  90 +++++++++
 .../src/main/resources/META-INF/LICENSE.txt        | 203 +++++++++++++++++++++
 .../src/main/resources/META-INF/NOTICE.txt         |  11 ++
 .../src/main/resources/META-INF/spring.provides    |  17 ++
 ...rk.boot.autoconfigure.AutoConfiguration.imports |  18 ++
 .../camel-guava-eventbus-starter/pom.xml           |   2 +-
 11 files changed, 614 insertions(+), 10 deletions(-)

diff --git 
a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components.properties
 
b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components.properties
index 1b20086974e..9dc44212adc 100644
--- 
a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components.properties
+++ 
b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components.properties
@@ -33,6 +33,7 @@ aws2-sts
 aws2-translate
 azure-cosmosdb
 azure-eventhubs
+azure-files
 azure-key-vault
 azure-servicebus
 azure-storage-blob
diff --git 
a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/azure-files.json
 
b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/azure-files.json
new file mode 100644
index 00000000000..f0ca317cfd5
--- /dev/null
+++ 
b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/azure-files.json
@@ -0,0 +1,143 @@
+{
+  "component": {
+    "kind": "component",
+    "name": "azure-files",
+    "title": "Azure Files",
+    "description": "Camel Azure Files Component",
+    "deprecated": false,
+    "deprecationNote": "",
+    "firstVersion": "3.21.0",
+    "label": "cloud,file",
+    "javaType": "org.apache.camel.component.file.azure.FilesComponent",
+    "supportLevel": "Stable",
+    "groupId": "org.apache.camel.springboot",
+    "artifactId": "camel-azure-files-starter",
+    "version": "4.0.0-SNAPSHOT",
+    "scheme": "azure-files",
+    "extendsScheme": "file",
+    "syntax": "azure-files:\/\/account\/share",
+    "async": false,
+    "api": false,
+    "consumerOnly": false,
+    "producerOnly": false,
+    "lenientProperties": false
+  },
+  "componentProperties": {
+    "bridgeErrorHandler": { "index": 0, "kind": "property", "displayName": 
"Bridge Error Handler", "group": "consumer", "label": "consumer", "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 occurred while the consumer is trying to pickup incoming 
messages, or the likes, will now be proce [...]
+    "lazyStartProducer": { "index": 1, "kind": "property", "displayName": 
"Lazy Start Producer", "group": "producer", "label": "producer", "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 producer may otherwise fail [...]
+    "autowiredEnabled": { "index": 2, "kind": "property", "displayName": 
"Autowired Enabled", "group": "advanced", "label": "advanced", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": true, "description": 
"Whether autowiring is enabled. This is used for automatic autowiring options 
(the option must be marked as autowired) by looking up in the registry to find 
if there is a single instance of matching t [...]
+  },
+  "headers": {
+    "CamelFileLength": { "index": 0, "kind": "header", "displayName": "", 
"group": "both", "label": "both", "required": false, "javaType": "long", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "description": "A long value containing the file size. For producer, 
known length helps if the body converts to InputStream more efficiently than to 
bytes array.", "constantName": 
"org.apache.camel.component.file.azure.FilesHeaders#FILE_LENGTH" },
+    "CamelFileLastModified": { "index": 1, "kind": "header", "displayName": 
"", "group": "consumer", "label": "consumer", "required": false, "javaType": 
"long", "deprecated": false, "deprecationNote": "", "autowired": false, 
"secret": false, "description": "A Long value containing the last modified 
timestamp of the file.", "constantName": 
"org.apache.camel.component.file.azure.FilesHeaders#FILE_LAST_MODIFIED" },
+    "CamelFileName": { "index": 2, "kind": "header", "displayName": "", 
"group": "common", "label": "", "required": false, "javaType": "String", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "description": "Specifies the output file name (relative to the endpoint 
directory) to be used for the output message when sending to the endpoint. If 
this is not present and no expression either, then a generated message ID is 
used as the filename instead.", "const [...]
+    "CamelFileNameOnly": { "index": 3, "kind": "header", "displayName": "", 
"group": "common", "label": "", "required": false, "javaType": "String", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "description": "Only the file name (the name with no leading paths).", 
"constantName": 
"org.apache.camel.component.file.azure.FilesHeaders#FILE_NAME_ONLY" },
+    "CamelFileParent": { "index": 4, "kind": "header", "displayName": "", 
"group": "common", "label": "", "required": false, "javaType": "String", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "description": "The parent path.", "constantName": 
"org.apache.camel.component.file.azure.FilesHeaders#FILE_PARENT" },
+    "CamelRemoteFileInputStream": { "index": 5, "kind": "header", 
"displayName": "", "group": "common", "label": "", "required": false, 
"javaType": "java.io.InputStream", "deprecated": false, "deprecationNote": "", 
"autowired": false, "secret": false, "description": "The remote file input 
stream.", "constantName": 
"org.apache.camel.component.file.azure.FilesHeaders#REMOTE_FILE_INPUT_STREAM" },
+    "CamelFileLocalWorkPath": { "index": 6, "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.file.azure.FilesHeaders#FILE_LOCAL_WORK_PATH" },
+    "CamelFileHost": { "index": 7, "kind": "header", "displayName": "", 
"group": "common", "label": "", "required": false, "javaType": "String", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "description": "The remote hostname.", "constantName": 
"org.apache.camel.component.file.azure.FilesHeaders#FILE_HOST" }
+  },
+  "properties": {
+    "account": { "index": 0, "kind": "path", "displayName": "Account", 
"group": "common", "label": "", "required": true, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "configurationClass": 
"org.apache.camel.component.file.azure.FilesConfiguration", 
"configurationField": "configuration", "description": "The account to use" },
+    "share": { "index": 1, "kind": "path", "displayName": "Share", "group": 
"common", "label": "", "required": true, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "configurationClass": 
"org.apache.camel.component.file.azure.FilesConfiguration", 
"configurationField": "configuration", "description": "The share to use" },
+    "port": { "index": 2, "kind": "path", "displayName": "Port", "group": 
"common", "label": "", "required": false, "type": "integer", "javaType": "int", 
"deprecated": false, "autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.file.azure.FilesConfiguration", 
"configurationField": "configuration", "description": "Port of the FTP server" 
},
+    "directoryName": { "index": 3, "kind": "path", "displayName": "Directory 
Name", "group": "common", "label": "", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "configurationClass": 
"org.apache.camel.component.file.azure.FilesConfiguration", 
"configurationField": "configuration", "description": "The starting directory" 
},
+    "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 [...]
+    "doneFileName": { "index": 5, "kind": "parameter", "displayName": "Done 
File Name", "group": "common", "label": "", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": false, "description": "Producer: If provided, then Camel will 
write a 2nd done file when the original file has been written. The done file 
will be empty. This option configures what file name to use. Either you can 
specify a fixed name. Or you can use  [...]
+    "fileName": { "index": 6, "kind": "parameter", "displayName": "File Name", 
"group": "common", "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 CamelFil [...]
+    "delete": { "index": 7, "kind": "parameter", "displayName": "Delete", 
"group": "consumer", "label": "consumer", "required": false, "type": "boolean", 
"javaType": "boolean", "deprecated": false, "autowired": false, "secret": 
false, "defaultValue": false, "description": "If true, the file will be deleted 
after it is processed successfully." },
+    "moveFailed": { "index": 8, "kind": "parameter", "displayName": "Move 
Failed", "group": "consumer", "label": "consumer", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": false, "description": "Sets the move failure expression based 
on Simple language. For example, to move files into a .error subdirectory use: 
.error. Note: When moving the files to the fail location Camel will handle the 
error and will not pick up  [...]
+    "noop": { "index": 9, "kind": "parameter", "displayName": "Noop", "group": 
"consumer", "label": "consumer", "required": false, "type": "boolean", 
"javaType": "boolean", "deprecated": false, "autowired": false, "secret": 
false, "defaultValue": false, "description": "If true, the file is not moved or 
deleted in any way. This option is good for readonly data, or for ETL type 
requirements. If noop=true, Camel will set idempotent=true as well, to avoid 
consuming the same files over and ov [...]
+    "preMove": { "index": 10, "kind": "parameter", "displayName": "Pre Move", 
"group": "consumer", "label": "consumer", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "description": "Expression (such as File Language) used to 
dynamically set the filename when moving it before processing. For example to 
move in-progress files into the order directory set this value to order." },
+    "preSort": { "index": 11, "kind": "parameter", "displayName": "Pre Sort", 
"group": "consumer", "label": "consumer", "required": false, "type": "boolean", 
"javaType": "boolean", "deprecated": false, "autowired": false, "secret": 
false, "defaultValue": false, "description": "When pre-sort is enabled then the 
consumer will sort the file and directory names during polling, that was 
retrieved from the file system. You may want to do this in case you need to 
operate on the files in a sorte [...]
+    "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." },
+    "resumeDownload": { "index": 13, "kind": "parameter", "displayName": 
"Resume Download", "group": "consumer", "label": "consumer", "required": false, 
"type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": 
false, "secret": false, "defaultValue": false, "description": "Configures 
whether resume download is enabled. In addition the options localWorkDirectory 
must be configured so downloaded files are stored in a local directory, which 
is required to support resuming  [...]
+    "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." },
+    "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.file.azure.FilesConfiguration", 
"configurationField": "configuration", "description": "Sets the download method 
to use when not using a local working directory. If se [...]
+    "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 occurred while the 
consumer is trying to pickup incoming messages, or the li [...]
+    "download": { "index": 17, "kind": "parameter", "displayName": "Download", 
"group": "consumer (advanced)", "label": "consumer,advanced", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": false, "description": 
"Whether the FTP consumer should download the file. If this option is set to 
false, then the message body will be null, but the consumer will still trigger 
a Camel Exchange that has details abou [...]
+    "exceptionHandler": { "index": 18, "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": 19, "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": 20, "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": 21, "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": 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" },
+    "sdd": { "index": 42, "kind": "parameter", "displayName": "Sdd", "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.FilesToken", 
"configurationField": "token", "description": "part of service SAS token" },
+    "se": { "index": 43, "kind": "parameter", "displayName": "Se", "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.FilesToken", 
"configurationField": "token", "description": "part of SAS token" },
+    "sharedKey": { "index": 44, "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)" },
+    "si": { "index": 45, "kind": "parameter", "displayName": "Si", "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.FilesToken", 
"configurationField": "token", "description": "part of service SAS token" },
+    "sig": { "index": 46, "kind": "parameter", "displayName": "Sig", "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.FilesToken", 
"configurationField": "token", "description": "part of SAS token" },
+    "sip": { "index": 47, "kind": "parameter", "displayName": "Sip", "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.FilesToken", 
"configurationField": "token", "description": "part of SAS token" },
+    "sp": { "index": 48, "kind": "parameter", "displayName": "Sp", "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.FilesToken", 
"configurationField": "token", "description": "part of SAS token" },
+    "spr": { "index": 49, "kind": "parameter", "displayName": "Spr", "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.FilesToken", 
"configurationField": "token", "description": "part of SAS token" },
+    "sr": { "index": 50, "kind": "parameter", "displayName": "Sr", "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.FilesToken", 
"configurationField": "token", "description": "part of service SAS token" },
+    "srt": { "index": 51, "kind": "parameter", "displayName": "Srt", "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.FilesToken", 
"configurationField": "token", "description": "part of SAS token" },
+    "ss": { "index": 52, "kind": "parameter", "displayName": "Ss", "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.FilesToken", 
"configurationField": "token", "description": "part of account SAS token" },
+    "st": { "index": 53, "kind": "parameter", "displayName": "St", "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.FilesToken", 
"configurationField": "token", "description": "part of SAS token" },
+    "sv": { "index": 54, "kind": "parameter", "displayName": "Sv", "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.FilesToken", 
"configurationField": "token", "description": "part of SAS token" },
+    "antExclude": { "index": 55, "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": 56, "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": 57, "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": 58, "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": 59, "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": 60, "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": 61, "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": 62, "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": 63, "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": 64, "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": 65, "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": 66, "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": 67, "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": 68, "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": 69, "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": 70, "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": 71, "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": 72, "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": 73, "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": 74, "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": 75, "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": 76, "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": 77, "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": 78, "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": 79, "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": 80, "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": 81, "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": 82, "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": 83, "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": 84, "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": 85, "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": 86, "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": 87, "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": 88, "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": 89, "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": 90, "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": 91, "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": 92, "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": 93, "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": 94, "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": 95, "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": 96, "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": 97, "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": 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." }
+  }
+}
diff --git a/components-starter/camel-guava-eventbus-starter/pom.xml 
b/components-starter/camel-azure-files-starter/pom.xml
similarity index 81%
copy from components-starter/camel-guava-eventbus-starter/pom.xml
copy to components-starter/camel-azure-files-starter/pom.xml
index 761a14a9242..fffa2ecde11 100644
--- a/components-starter/camel-guava-eventbus-starter/pom.xml
+++ b/components-starter/camel-azure-files-starter/pom.xml
@@ -24,10 +24,9 @@
     <artifactId>components-starter</artifactId>
     <version>4.0.0-SNAPSHOT</version>
   </parent>
-  <artifactId>camel-guava-eventbus-starter</artifactId>
+  <artifactId>camel-azure-files-starter</artifactId>
   <packaging>jar</packaging>
-  <name>Camel SB Starters :: Guava-EventBus</name>
-  <description>Spring-Boot Starter for Camel Guava EventBus 
support</description>
+  <!--    <name>Camel SB Starters :: Name Here</name>-->
   <dependencies>
     <dependency>
       <groupId>org.springframework.boot</groupId>
@@ -36,15 +35,10 @@
     </dependency>
     <dependency>
       <groupId>org.apache.camel</groupId>
-      <artifactId>camel-guava-eventbus</artifactId>
+      <artifactId>camel-azure-files</artifactId>
       <version>${camel-version}</version>
     </dependency>
     <!--START OF GENERATED CODE-->
-    <dependency>
-      <groupId>com.google.guava</groupId>
-      <artifactId>guava</artifactId>
-      <version>${guava-eventbus-version}</version>
-    </dependency>
     <dependency>
       <groupId>org.apache.camel.springboot</groupId>
       <artifactId>camel-core-starter</artifactId>
diff --git 
a/components-starter/camel-azure-files-starter/src/main/docs/azure-files.json 
b/components-starter/camel-azure-files-starter/src/main/docs/azure-files.json
new file mode 100644
index 00000000000..5317dddd849
--- /dev/null
+++ 
b/components-starter/camel-azure-files-starter/src/main/docs/azure-files.json
@@ -0,0 +1,50 @@
+{
+  "groups": [
+    {
+      "name": "camel.component.azure-files",
+      "type": 
"org.apache.camel.component.file.azure.springboot.FilesComponentConfiguration",
+      "sourceType": 
"org.apache.camel.component.file.azure.springboot.FilesComponentConfiguration"
+    },
+    {
+      "name": "camel.component.azure-files.customizer",
+      "type": 
"org.apache.camel.spring.boot.ComponentConfigurationPropertiesCommon$CustomizerProperties",
+      "sourceType": 
"org.apache.camel.component.file.azure.springboot.FilesComponentConfiguration",
+      "sourceMethod": "getCustomizer()"
+    }
+  ],
+  "properties": [
+    {
+      "name": "camel.component.azure-files.autowired-enabled",
+      "type": "java.lang.Boolean",
+      "description": "Whether autowiring is enabled. This is used for 
automatic autowiring options (the option must be marked as autowired) by 
looking up in the registry to find if there is a single instance of matching 
type, which then gets configured on the component. This can be used for 
automatic configuring JDBC data sources, JMS connection factories, AWS Clients, 
etc.",
+      "sourceType": 
"org.apache.camel.component.file.azure.springboot.FilesComponentConfiguration",
+      "defaultValue": true
+    },
+    {
+      "name": "camel.component.azure-files.bridge-error-handler",
+      "type": "java.lang.Boolean",
+      "description": "Allows for bridging the consumer to the Camel routing 
Error Handler, which mean any exceptions occurred while the consumer is trying 
to pickup incoming messages, or the likes, will now be processed as a message 
and handled by the routing Error Handler. By default the consumer will use the 
org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be 
logged at WARN or ERROR level and ignored.",
+      "sourceType": 
"org.apache.camel.component.file.azure.springboot.FilesComponentConfiguration",
+      "defaultValue": false
+    },
+    {
+      "name": "camel.component.azure-files.customizer.enabled",
+      "type": "java.lang.Boolean",
+      "sourceType": 
"org.apache.camel.spring.boot.ComponentConfigurationPropertiesCommon$CustomizerProperties"
+    },
+    {
+      "name": "camel.component.azure-files.enabled",
+      "type": "java.lang.Boolean",
+      "description": "Whether to enable auto configuration of the azure-files 
component. This is enabled by default.",
+      "sourceType": 
"org.apache.camel.component.file.azure.springboot.FilesComponentConfiguration"
+    },
+    {
+      "name": "camel.component.azure-files.lazy-start-producer",
+      "type": "java.lang.Boolean",
+      "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 producer may otherwise fail during 
starting and cause the route to fail being started. By deferring this startup 
to be lazy then the startup failure can be handled during routing messages via 
Camel's routing error handlers. Beware that when the first message is processed 
then creating and starting the [...]
+      "sourceType": 
"org.apache.camel.component.file.azure.springboot.FilesComponentConfiguration",
+      "defaultValue": false
+    }
+  ],
+  "hints": []
+}
\ No newline at end of file
diff --git 
a/components-starter/camel-azure-files-starter/src/main/java/org/apache/camel/component/file/azure/springboot/FilesComponentAutoConfiguration.java
 
b/components-starter/camel-azure-files-starter/src/main/java/org/apache/camel/component/file/azure/springboot/FilesComponentAutoConfiguration.java
new file mode 100644
index 00000000000..c7bbc44b3dc
--- /dev/null
+++ 
b/components-starter/camel-azure-files-starter/src/main/java/org/apache/camel/component/file/azure/springboot/FilesComponentAutoConfiguration.java
@@ -0,0 +1,77 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.file.azure.springboot;
+
+import org.apache.camel.CamelContext;
+import org.apache.camel.Component;
+import org.apache.camel.component.file.azure.FilesComponent;
+import org.apache.camel.spi.ComponentCustomizer;
+import org.apache.camel.spring.boot.CamelAutoConfiguration;
+import org.apache.camel.spring.boot.ComponentConfigurationProperties;
+import org.apache.camel.spring.boot.util.CamelPropertiesHelper;
+import 
org.apache.camel.spring.boot.util.ConditionalOnCamelContextAndAutoConfigurationBeans;
+import org.apache.camel.spring.boot.util.ConditionalOnHierarchicalProperties;
+import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.autoconfigure.AutoConfigureAfter;
+import 
org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.context.ApplicationContext;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Conditional;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.Lazy;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Configuration(proxyBeanMethods = false)
+@Conditional(ConditionalOnCamelContextAndAutoConfigurationBeans.class)
+@EnableConfigurationProperties({ComponentConfigurationProperties.class,FilesComponentConfiguration.class})
+@ConditionalOnHierarchicalProperties({"camel.component", 
"camel.component.azure-files"})
+@AutoConfigureAfter(CamelAutoConfiguration.class)
+public class FilesComponentAutoConfiguration {
+
+    @Autowired
+    private ApplicationContext applicationContext;
+    private final CamelContext camelContext;
+    @Autowired
+    private FilesComponentConfiguration configuration;
+
+    public FilesComponentAutoConfiguration(
+            org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+    }
+
+    @Lazy
+    @Bean
+    public ComponentCustomizer configureFilesComponent() {
+        return new ComponentCustomizer() {
+            @Override
+            public void configure(String name, Component target) {
+                CamelPropertiesHelper.copyProperties(camelContext, 
configuration, target);
+            }
+            @Override
+            public boolean isEnabled(String name, Component target) {
+                return HierarchicalPropertiesEvaluator.evaluate(
+                        applicationContext,
+                        "camel.component.customizer",
+                        "camel.component.azure-files.customizer")
+                    && target instanceof FilesComponent;
+            }
+        };
+    }
+}
\ No newline at end of file
diff --git 
a/components-starter/camel-azure-files-starter/src/main/java/org/apache/camel/component/file/azure/springboot/FilesComponentConfiguration.java
 
b/components-starter/camel-azure-files-starter/src/main/java/org/apache/camel/component/file/azure/springboot/FilesComponentConfiguration.java
new file mode 100644
index 00000000000..b8fa6a63b15
--- /dev/null
+++ 
b/components-starter/camel-azure-files-starter/src/main/java/org/apache/camel/component/file/azure/springboot/FilesComponentConfiguration.java
@@ -0,0 +1,90 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.file.azure.springboot;
+
+import org.apache.camel.spring.boot.ComponentConfigurationPropertiesCommon;
+import org.springframework.boot.context.properties.ConfigurationProperties;
+
+/**
+ * Camel Azure Files Component
+ * 
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@ConfigurationProperties(prefix = "camel.component.azure-files")
+public class FilesComponentConfiguration
+        extends
+            ComponentConfigurationPropertiesCommon {
+
+    /**
+     * Whether to enable auto configuration of the azure-files component. This
+     * is enabled by default.
+     */
+    private Boolean enabled;
+    /**
+     * Allows for bridging the consumer to the Camel routing Error Handler,
+     * which mean any exceptions occurred while the consumer is trying to 
pickup
+     * incoming messages, or the likes, will now be processed as a message and
+     * handled by the routing Error Handler. By default the consumer will use
+     * the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that
+     * will be logged at WARN or ERROR level and ignored.
+     */
+    private Boolean bridgeErrorHandler = false;
+    /**
+     * 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 producer may otherwise fail during 
starting
+     * and cause the route to fail being started. By deferring this startup to
+     * be lazy then the startup failure can be handled during routing messages
+     * via Camel's routing error handlers. Beware that when the first message 
is
+     * processed then creating and starting the producer may take a little time
+     * and prolong the total processing time of the processing.
+     */
+    private Boolean lazyStartProducer = false;
+    /**
+     * Whether autowiring is enabled. This is used for automatic autowiring
+     * options (the option must be marked as autowired) by looking up in the
+     * registry to find if there is a single instance of matching type, which
+     * then gets configured on the component. This can be used for automatic
+     * configuring JDBC data sources, JMS connection factories, AWS Clients,
+     * etc.
+     */
+    private Boolean autowiredEnabled = true;
+
+    public Boolean getBridgeErrorHandler() {
+        return bridgeErrorHandler;
+    }
+
+    public void setBridgeErrorHandler(Boolean bridgeErrorHandler) {
+        this.bridgeErrorHandler = bridgeErrorHandler;
+    }
+
+    public Boolean getLazyStartProducer() {
+        return lazyStartProducer;
+    }
+
+    public void setLazyStartProducer(Boolean lazyStartProducer) {
+        this.lazyStartProducer = lazyStartProducer;
+    }
+
+    public Boolean getAutowiredEnabled() {
+        return autowiredEnabled;
+    }
+
+    public void setAutowiredEnabled(Boolean autowiredEnabled) {
+        this.autowiredEnabled = autowiredEnabled;
+    }
+}
\ No newline at end of file
diff --git 
a/components-starter/camel-azure-files-starter/src/main/resources/META-INF/LICENSE.txt
 
b/components-starter/camel-azure-files-starter/src/main/resources/META-INF/LICENSE.txt
new file mode 100644
index 00000000000..6b0b1270ff0
--- /dev/null
+++ 
b/components-starter/camel-azure-files-starter/src/main/resources/META-INF/LICENSE.txt
@@ -0,0 +1,203 @@
+
+                                 Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
+
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+
+   APPENDIX: How to apply the Apache License to your work.
+
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets "[]"
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same "printed page" as the copyright notice for easier
+      identification within third-party archives.
+
+   Copyright [yyyy] [name of copyright owner]
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
diff --git 
a/components-starter/camel-azure-files-starter/src/main/resources/META-INF/NOTICE.txt
 
b/components-starter/camel-azure-files-starter/src/main/resources/META-INF/NOTICE.txt
new file mode 100644
index 00000000000..2e215bf2e6b
--- /dev/null
+++ 
b/components-starter/camel-azure-files-starter/src/main/resources/META-INF/NOTICE.txt
@@ -0,0 +1,11 @@
+   =========================================================================
+   ==  NOTICE file corresponding to the section 4 d of                    ==
+   ==  the Apache License, Version 2.0,                                   ==
+   ==  in this case for the Apache Camel distribution.                    ==
+   =========================================================================
+
+   This product includes software developed by
+   The Apache Software Foundation (http://www.apache.org/).
+
+   Please read the different LICENSE files present in the licenses directory of
+   this distribution.
diff --git 
a/components-starter/camel-azure-files-starter/src/main/resources/META-INF/spring.provides
 
b/components-starter/camel-azure-files-starter/src/main/resources/META-INF/spring.provides
new file mode 100644
index 00000000000..2c616312bc6
--- /dev/null
+++ 
b/components-starter/camel-azure-files-starter/src/main/resources/META-INF/spring.provides
@@ -0,0 +1,17 @@
+## ---------------------------------------------------------------------------
+## Licensed to the Apache Software Foundation (ASF) under one or more
+## contributor license agreements.  See the NOTICE file distributed with
+## this work for additional information regarding copyright ownership.
+## The ASF licenses this file to You under the Apache License, Version 2.0
+## (the "License"); you may not use this file except in compliance with
+## the License.  You may obtain a copy of the License at
+##
+##      http://www.apache.org/licenses/LICENSE-2.0
+##
+## Unless required by applicable law or agreed to in writing, software
+## distributed under the License is distributed on an "AS IS" BASIS,
+## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+## See the License for the specific language governing permissions and
+## limitations under the License.
+## ---------------------------------------------------------------------------
+provides: camel-azure-files
diff --git 
a/components-starter/camel-azure-files-starter/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
 
b/components-starter/camel-azure-files-starter/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
new file mode 100644
index 00000000000..1f45c9293e1
--- /dev/null
+++ 
b/components-starter/camel-azure-files-starter/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
@@ -0,0 +1,18 @@
+## ---------------------------------------------------------------------------
+## Licensed to the Apache Software Foundation (ASF) under one or more
+## contributor license agreements.  See the NOTICE file distributed with
+## this work for additional information regarding copyright ownership.
+## The ASF licenses this file to You under the Apache License, Version 2.0
+## (the "License"); you may not use this file except in compliance with
+## the License.  You may obtain a copy of the License at
+##
+##      http://www.apache.org/licenses/LICENSE-2.0
+##
+## Unless required by applicable law or agreed to in writing, software
+## distributed under the License is distributed on an "AS IS" BASIS,
+## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+## See the License for the specific language governing permissions and
+## limitations under the License.
+## ---------------------------------------------------------------------------
+
+org.apache.camel.component.file.azure.springboot.FilesComponentAutoConfiguration
\ No newline at end of file
diff --git a/components-starter/camel-guava-eventbus-starter/pom.xml 
b/components-starter/camel-guava-eventbus-starter/pom.xml
index 761a14a9242..9bb66843058 100644
--- a/components-starter/camel-guava-eventbus-starter/pom.xml
+++ b/components-starter/camel-guava-eventbus-starter/pom.xml
@@ -43,7 +43,7 @@
     <dependency>
       <groupId>com.google.guava</groupId>
       <artifactId>guava</artifactId>
-      <version>${guava-eventbus-version}</version>
+      <version>${guava-version}</version>
     </dependency>
     <dependency>
       <groupId>org.apache.camel.springboot</groupId>

Reply via email to