You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ac...@apache.org on 2020/09/24 04:57:50 UTC

[camel-kafka-connector] branch silly-me created (now c3b9155)

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

acosentino pushed a change to branch silly-me
in repository https://gitbox.apache.org/repos/asf/camel-kafka-connector.git.


      at c3b9155  Revert "Excluded component: Removed bean"

This branch includes the following new commits:

     new 2aac314  Revert "Regen"
     new 0cd002d  Revert "Removed documentation for bean connector"
     new 04e253f  Revert "REgen"
     new c3b9155  Revert "Excluded component: Removed bean"

The 4 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.



[camel-kafka-connector] 03/04: Revert "REgen"

Posted by ac...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

acosentino pushed a commit to branch silly-me
in repository https://gitbox.apache.org/repos/asf/camel-kafka-connector.git

commit 04e253f53c3e6be9e04473dde4369dda637a61fd
Author: Andrea Cosentino <an...@gmail.com>
AuthorDate: Thu Sep 24 06:56:59 2020 +0200

    Revert "REgen"
    
    This reverts commit 9f1929d2d1d098b259097f7f648b2ac1a5fdad5b.
---
 .../docs/camel-azure-eventhubs-kafka-sink-connector.adoc   |  4 ++--
 .../docs/camel-azure-eventhubs-kafka-source-connector.adoc |  4 ++--
 .../src/main/docs/camel-cxf-kafka-sink-connector.adoc      |  2 +-
 .../src/main/docs/camel-cxf-kafka-source-connector.adoc    |  2 +-
 .../src/main/docs/camel-file-kafka-sink-connector.adoc     |  6 +++---
 .../src/main/docs/camel-file-kafka-source-connector.adoc   | 10 +++++-----
 .../src/main/docs/camel-ftp-kafka-sink-connector.adoc      |  8 ++++----
 .../src/main/docs/camel-ftp-kafka-source-connector.adoc    | 12 ++++++------
 .../src/main/docs/camel-ftps-kafka-sink-connector.adoc     | 10 +++++-----
 .../src/main/docs/camel-ftps-kafka-source-connector.adoc   | 14 +++++++-------
 .../src/main/docs/camel-scp-kafka-sink-connector.adoc      |  2 +-
 .../src/main/docs/camel-sftp-kafka-sink-connector.adoc     |  8 ++++----
 .../src/main/docs/camel-sftp-kafka-source-connector.adoc   | 12 ++++++------
 docs/modules/ROOT/pages/connectors.adoc                    |  3 ++-
 .../camel-azure-eventhubs-kafka-sink-connector.adoc        |  4 ++--
 .../camel-azure-eventhubs-kafka-source-connector.adoc      |  4 ++--
 .../pages/connectors/camel-cxf-kafka-sink-connector.adoc   |  2 +-
 .../pages/connectors/camel-cxf-kafka-source-connector.adoc |  2 +-
 .../pages/connectors/camel-file-kafka-sink-connector.adoc  |  6 +++---
 .../connectors/camel-file-kafka-source-connector.adoc      | 10 +++++-----
 .../pages/connectors/camel-ftp-kafka-sink-connector.adoc   |  8 ++++----
 .../pages/connectors/camel-ftp-kafka-source-connector.adoc | 12 ++++++------
 .../pages/connectors/camel-ftps-kafka-sink-connector.adoc  | 10 +++++-----
 .../connectors/camel-ftps-kafka-source-connector.adoc      | 14 +++++++-------
 .../pages/connectors/camel-scp-kafka-sink-connector.adoc   |  2 +-
 .../pages/connectors/camel-sftp-kafka-sink-connector.adoc  |  8 ++++----
 .../connectors/camel-sftp-kafka-source-connector.adoc      | 12 ++++++------
 27 files changed, 96 insertions(+), 95 deletions(-)

diff --git a/connectors/camel-azure-eventhubs-kafka-connector/src/main/docs/camel-azure-eventhubs-kafka-sink-connector.adoc b/connectors/camel-azure-eventhubs-kafka-connector/src/main/docs/camel-azure-eventhubs-kafka-sink-connector.adoc
index d006b54..6e25c94 100644
--- a/connectors/camel-azure-eventhubs-kafka-connector/src/main/docs/camel-azure-eventhubs-kafka-sink-connector.adoc
+++ b/connectors/camel-azure-eventhubs-kafka-connector/src/main/docs/camel-azure-eventhubs-kafka-sink-connector.adoc
@@ -37,7 +37,7 @@ The camel-azure-eventhubs sink connector supports 26 options, which are listed b
 | *camel.sink.endpoint.lazyStartProducer* | 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 cre [...]
 | *camel.sink.endpoint.partitionId* | Sets the identifier of the Event Hub partition that the {link EventData events} will be sent to. If the identifier is not specified, the Event Hubs service will be responsible for routing events that are sent to an available partition. | null | MEDIUM
 | *camel.sink.endpoint.partitionKey* | Sets a hashing key to be provided for the batch of events, which instructs the Event Hubs service to map this key to a specific partition. The selection of a partition is stable for a given partition hashing key. Should any other batches of events be sent using the same exact partition hashing key, the Event Hubs service will route them all to the same partition. This should be specified only when there is a need to group events by partition, but th [...]
-| *camel.sink.endpoint.producerAsyncClient* | Sets the EventHubProducerAsyncClient.An asynchronous producer responsible for transmitting EventData to a specific Event Hub, grouped together in batches. Depending on the {link CreateBatchOptions options} specified when creating an \{linkEventDataBatch}, the events may be automatically routed to an available partition or specific to a partition. Use by this component to produce the data in camel producer. | null | MEDIUM
+| *camel.sink.endpoint.producerAsyncClient* | Sets the EventHubProducerAsyncClient.An asynchronous producer responsible for transmitting EventData to a specific Event Hub, grouped together in batches. Depending on the {link CreateBatchOptions options} specified when creating an \{linkEventDataBatch\}, the events may be automatically routed to an available partition or specific to a partition. Use by this component to produce the data in camel producer. | null | MEDIUM
 | *camel.sink.endpoint.basicPropertyBinding* | Whether the endpoint should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | MEDIUM
 | *camel.sink.endpoint.synchronous* | Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported). | false | MEDIUM
 | *camel.sink.endpoint.connectionString* | Instead of supplying namespace, sharedAccessKey, sharedAccessName ... etc, you can just supply the connection string for your eventHub. The connection string for EventHubs already include all the necessary information to connection to your EventHub. To learn on how to generate the connection string, take a look at this documentation: \https://docs.microsoft.com/en-us/azure/event-hubs/event-hubs-get-connection-string | null | MEDIUM
@@ -50,7 +50,7 @@ The camel-azure-eventhubs sink connector supports 26 options, which are listed b
 | *camel.component.azure-eventhubs.lazyStartProducer* | 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 proces [...]
 | *camel.component.azure-eventhubs.partitionId* | Sets the identifier of the Event Hub partition that the {link EventData events} will be sent to. If the identifier is not specified, the Event Hubs service will be responsible for routing events that are sent to an available partition. | null | MEDIUM
 | *camel.component.azure-eventhubs.partitionKey* | Sets a hashing key to be provided for the batch of events, which instructs the Event Hubs service to map this key to a specific partition. The selection of a partition is stable for a given partition hashing key. Should any other batches of events be sent using the same exact partition hashing key, the Event Hubs service will route them all to the same partition. This should be specified only when there is a need to group events by parti [...]
-| *camel.component.azure-eventhubs.producerAsync Client* | Sets the EventHubProducerAsyncClient.An asynchronous producer responsible for transmitting EventData to a specific Event Hub, grouped together in batches. Depending on the {link CreateBatchOptions options} specified when creating an \{linkEventDataBatch}, the events may be automatically routed to an available partition or specific to a partition. Use by this component to produce the data in camel producer. | null | MEDIUM
+| *camel.component.azure-eventhubs.producerAsync Client* | Sets the EventHubProducerAsyncClient.An asynchronous producer responsible for transmitting EventData to a specific Event Hub, grouped together in batches. Depending on the {link CreateBatchOptions options} specified when creating an \{linkEventDataBatch\}, the events may be automatically routed to an available partition or specific to a partition. Use by this component to produce the data in camel producer. | null | MEDIUM
 | *camel.component.azure-eventhubs.basicProperty Binding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | MEDIUM
 | *camel.component.azure-eventhubs.connectionString* | Instead of supplying namespace, sharedAccessKey, sharedAccessName ... etc, you can just supply the connection string for your eventHub. The connection string for EventHubs already include all the necessary information to connection to your EventHub. To learn on how to generate the connection string, take a look at this documentation: \https://docs.microsoft.com/en-us/azure/event-hubs/event-hubs-get-connection-string | null | MEDIUM
 | *camel.component.azure-eventhubs.sharedAccessKey* | The generated value for the SharedAccessName | null | MEDIUM
diff --git a/connectors/camel-azure-eventhubs-kafka-connector/src/main/docs/camel-azure-eventhubs-kafka-source-connector.adoc b/connectors/camel-azure-eventhubs-kafka-connector/src/main/docs/camel-azure-eventhubs-kafka-source-connector.adoc
index 15ab488..56d83eb 100644
--- a/connectors/camel-azure-eventhubs-kafka-connector/src/main/docs/camel-azure-eventhubs-kafka-source-connector.adoc
+++ b/connectors/camel-azure-eventhubs-kafka-connector/src/main/docs/camel-azure-eventhubs-kafka-source-connector.adoc
@@ -40,7 +40,7 @@ The camel-azure-eventhubs source connector supports 38 options, which are listed
 | *camel.source.endpoint.blobStorageSharedKey Credential* | In case you chose the default BlobCheckpointStore, StorageSharedKeyCredential can be injected to create the azure client, this holds the important authentication information | null | MEDIUM
 | *camel.source.endpoint.bridgeErrorHandler* | 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. | false | MEDIUM
 | *camel.source.endpoint.checkpointStore* | Sets the CheckpointStore the EventProcessorClient will use for storing partition ownership and checkpoint information. Users can, optionally, provide their own implementation of CheckpointStore which will store ownership and checkpoint information. By default it set to use com.azure.messaging.eventhubs.checkpointstore.blob.BlobCheckpointStore which stores all checkpoint offsets into Azure Blob Storage | "BlobCheckpointStore" | MEDIUM
-| *camel.source.endpoint.consumerGroupName* | Sets the name of the consumer group this consumer is associated with. Events are read in the context of this group. The name of the consumer group that is created by default is {link #DEFAULT_CONSUMER_GROUP_NAME $Default}. | "$Default" | MEDIUM
+| *camel.source.endpoint.consumerGroupName* | Sets the name of the consumer group this consumer is associated with. Events are read in the context of this group. The name of the consumer group that is created by default is {link #DEFAULT_CONSUMER_GROUP_NAME \$Default}. | "$Default" | MEDIUM
 | *camel.source.endpoint.eventPosition* | Sets the map containing the event position to use for each partition if a checkpoint for the partition does not exist in CheckpointStore. This map is keyed off of the partition id. If there is no checkpoint in CheckpointStore and there is no entry in this map, the processing of the partition will start from {link EventPosition#latest() latest} position. | null | MEDIUM
 | *camel.source.endpoint.prefetchCount* | Sets the count used by the receiver to control the number of events the Event Hub consumer will actively receive and queue locally without regard to whether a receive operation is currently active. | 500 | MEDIUM
 | *camel.source.endpoint.exceptionHandler* | To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored. | null | MEDIUM
@@ -60,7 +60,7 @@ The camel-azure-eventhubs source connector supports 38 options, which are listed
 | *camel.component.azure-eventhubs.blobStorageShared KeyCredential* | In case you chose the default BlobCheckpointStore, StorageSharedKeyCredential can be injected to create the azure client, this holds the important authentication information | null | MEDIUM
 | *camel.component.azure-eventhubs.bridgeErrorHandler* | 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. | false | MEDIUM
 | *camel.component.azure-eventhubs.checkpointStore* | Sets the CheckpointStore the EventProcessorClient will use for storing partition ownership and checkpoint information. Users can, optionally, provide their own implementation of CheckpointStore which will store ownership and checkpoint information. By default it set to use com.azure.messaging.eventhubs.checkpointstore.blob.BlobCheckpointStore which stores all checkpoint offsets into Azure Blob Storage | "BlobCheckpointStore" | MEDIUM
-| *camel.component.azure-eventhubs.consumerGroupName* | Sets the name of the consumer group this consumer is associated with. Events are read in the context of this group. The name of the consumer group that is created by default is {link #DEFAULT_CONSUMER_GROUP_NAME $Default}. | "$Default" | MEDIUM
+| *camel.component.azure-eventhubs.consumerGroupName* | Sets the name of the consumer group this consumer is associated with. Events are read in the context of this group. The name of the consumer group that is created by default is {link #DEFAULT_CONSUMER_GROUP_NAME \$Default}. | "$Default" | MEDIUM
 | *camel.component.azure-eventhubs.eventPosition* | Sets the map containing the event position to use for each partition if a checkpoint for the partition does not exist in CheckpointStore. This map is keyed off of the partition id. If there is no checkpoint in CheckpointStore and there is no entry in this map, the processing of the partition will start from {link EventPosition#latest() latest} position. | null | MEDIUM
 | *camel.component.azure-eventhubs.prefetchCount* | Sets the count used by the receiver to control the number of events the Event Hub consumer will actively receive and queue locally without regard to whether a receive operation is currently active. | 500 | MEDIUM
 | *camel.component.azure-eventhubs.basicProperty Binding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | MEDIUM
diff --git a/connectors/camel-cxf-kafka-connector/src/main/docs/camel-cxf-kafka-sink-connector.adoc b/connectors/camel-cxf-kafka-connector/src/main/docs/camel-cxf-kafka-sink-connector.adoc
index 921cb0f..966aea0 100644
--- a/connectors/camel-cxf-kafka-connector/src/main/docs/camel-cxf-kafka-sink-connector.adoc
+++ b/connectors/camel-cxf-kafka-connector/src/main/docs/camel-cxf-kafka-sink-connector.adoc
@@ -45,7 +45,7 @@ The camel-cxf sink connector supports 40 options, which are listed below.
 | *camel.sink.endpoint.bus* | To use a custom configured CXF Bus. | null | MEDIUM
 | *camel.sink.endpoint.continuationTimeout* | This option is used to set the CXF continuation timeout which could be used in CxfConsumer by default when the CXF server is using Jetty or Servlet transport. | 30000L | MEDIUM
 | *camel.sink.endpoint.cxfBinding* | To use a custom CxfBinding to control the binding between Camel Message and CXF Message. | null | MEDIUM
-| *camel.sink.endpoint.cxfConfigurer* | This option could apply the implementation of org.apache.camel.component.cxf.CxfEndpointConfigurer which supports to configure the CXF endpoint in programmatic way. User can configure the CXF server and client by implementing configure\{ServerClient} method of CxfEndpointConfigurer. | null | MEDIUM
+| *camel.sink.endpoint.cxfConfigurer* | This option could apply the implementation of org.apache.camel.component.cxf.CxfEndpointConfigurer which supports to configure the CXF endpoint in programmatic way. User can configure the CXF server and client by implementing configure\{ServerClient\} method of CxfEndpointConfigurer. | null | MEDIUM
 | *camel.sink.endpoint.defaultBus* | Will set the default bus when CXF endpoint create a bus by itself | false | MEDIUM
 | *camel.sink.endpoint.headerFilterStrategy* | To use a custom HeaderFilterStrategy to filter header to and from Camel message. | null | MEDIUM
 | *camel.sink.endpoint.mergeProtocolHeaders* | Whether to merge protocol headers. If enabled then propagating headers between Camel and CXF becomes more consistent and similar. For more details see CAMEL-6393. | false | MEDIUM
diff --git a/connectors/camel-cxf-kafka-connector/src/main/docs/camel-cxf-kafka-source-connector.adoc b/connectors/camel-cxf-kafka-connector/src/main/docs/camel-cxf-kafka-source-connector.adoc
index a8d0704..6b83ff8 100644
--- a/connectors/camel-cxf-kafka-connector/src/main/docs/camel-cxf-kafka-source-connector.adoc
+++ b/connectors/camel-cxf-kafka-connector/src/main/docs/camel-cxf-kafka-source-connector.adoc
@@ -41,7 +41,7 @@ The camel-cxf source connector supports 36 options, which are listed below.
 | *camel.source.endpoint.bus* | To use a custom configured CXF Bus. | null | MEDIUM
 | *camel.source.endpoint.continuationTimeout* | This option is used to set the CXF continuation timeout which could be used in CxfConsumer by default when the CXF server is using Jetty or Servlet transport. | 30000L | MEDIUM
 | *camel.source.endpoint.cxfBinding* | To use a custom CxfBinding to control the binding between Camel Message and CXF Message. | null | MEDIUM
-| *camel.source.endpoint.cxfConfigurer* | This option could apply the implementation of org.apache.camel.component.cxf.CxfEndpointConfigurer which supports to configure the CXF endpoint in programmatic way. User can configure the CXF server and client by implementing configure\{ServerClient} method of CxfEndpointConfigurer. | null | MEDIUM
+| *camel.source.endpoint.cxfConfigurer* | This option could apply the implementation of org.apache.camel.component.cxf.CxfEndpointConfigurer which supports to configure the CXF endpoint in programmatic way. User can configure the CXF server and client by implementing configure\{ServerClient\} method of CxfEndpointConfigurer. | null | MEDIUM
 | *camel.source.endpoint.defaultBus* | Will set the default bus when CXF endpoint create a bus by itself | false | MEDIUM
 | *camel.source.endpoint.headerFilterStrategy* | To use a custom HeaderFilterStrategy to filter header to and from Camel message. | null | MEDIUM
 | *camel.source.endpoint.mergeProtocolHeaders* | Whether to merge protocol headers. If enabled then propagating headers between Camel and CXF becomes more consistent and similar. For more details see CAMEL-6393. | false | MEDIUM
diff --git a/connectors/camel-file-kafka-connector/src/main/docs/camel-file-kafka-sink-connector.adoc b/connectors/camel-file-kafka-connector/src/main/docs/camel-file-kafka-sink-connector.adoc
index 98ba983..02a8e7c 100644
--- a/connectors/camel-file-kafka-connector/src/main/docs/camel-file-kafka-sink-connector.adoc
+++ b/connectors/camel-file-kafka-connector/src/main/docs/camel-file-kafka-sink-connector.adoc
@@ -31,8 +31,8 @@ The camel-file sink connector supports 27 options, which are listed below.
 | Name | Description | Default | Priority
 | *camel.sink.path.directoryName* | The starting directory | null | HIGH
 | *camel.sink.endpoint.charset* | This option is used to specify the encoding of the file. You can use this on the consumer, to specify the encodings of the files, which allow Camel to know the charset it should load the file content in case the file content is being accessed. Likewise when writing a file, you can use this option to specify which charset to write the file as well. Do mind that when writing the file Camel may have to read the message content into memory to be able to conv [...]
-| *camel.sink.endpoint.doneFileName* | 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 dynamic placeholders. The done file will always be written in the same folder as the original file. Consumer: If provided, Camel will only consume files if a done file exists. This option configures what file name to use. Ei [...]
-| *camel.sink.endpoint.fileName* | 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 CamelFileName header. (Note: The header itself can also be an Expression). The expression options support both String and Expression types. If the expression is a String type, it is always evaluated using the File Language. If  [...]
+| *camel.sink.endpoint.doneFileName* | 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 dynamic placeholders. The done file will always be written in the same folder as the original file. Consumer: If provided, Camel will only consume files if a done file exists. This option configures what file name to use. Ei [...]
+| *camel.sink.endpoint.fileName* | 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 CamelFileName header. (Note: The header itself can also be an Expression). The expression options support both String and Expression types. If the expression is a String type, it is always evaluated using the File Language. If  [...]
 | *camel.sink.endpoint.appendChars* | Used to append characters (text) after writing files. This can for example be used to add new lines or other separators when writing and appending to existing files. To specify new-line (slash-n or slash-r) or tab (slash-t) characters then escape with an extra slash, eg slash-slash-n. | null | MEDIUM
 | *camel.sink.endpoint.fileExist* | What to do if a file already exists with the same name. Override, which is the default, replaces the existing file. - Append - adds content to the existing file. - Fail - throws a GenericFileOperationException, indicating that there is already an existing file. - Ignore - silently ignores the problem and does not override the existing file, but assumes everything is okay. - Move - option requires to use the moveExisting option to be configured as well. [...]
 | *camel.sink.endpoint.flatten* | 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 they will be written in a single directory. Setting this to true on the producer enforces that any file name in CamelFileName header will be stripped for any leading paths. | false | MEDIUM
@@ -46,7 +46,7 @@ The camel-file sink connector supports 27 options, which are listed below.
 | *camel.sink.endpoint.chmodDirectory* | Specify the directory permissions used when the producer creates missing directories, the chmod value must be between 000 and 777; If there is a leading digit like in 0755 we will ignore it. | null | MEDIUM
 | *camel.sink.endpoint.eagerDeleteTargetFile* | 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 this to disable (set it to false) deleting the target file before the temp file is written. For example you may write big files and want the target file to exists during the temp file is being written. This ensure the target file is only deleted until the very last moment, just [...]
 | *camel.sink.endpoint.forceWrites* | Whether to force syncing writes to the file system. You can turn this off if you do not want this level of guarantee, for example if writing to logs / audit logs etc; this would yield better performance. | true | MEDIUM
-| *camel.sink.endpoint.keepLastModified* | Will keep the last modified timestamp from the source file (if any). Will use the Exchange.FILE_LAST_MODIFIED header to located the timestamp. This header can contain either a java.util.Date or long with the timestamp. If the timestamp exists and the option is enabled it will set this timestamp on the written file. Note: This option only applies to the file producer. You cannot use this option with any of the ftp producers. | false | MEDIUM
+| *camel.sink.endpoint.keepLastModified* | Will keep the last modified timestamp from the source file (if any). Will use the Exchange.FILE_LAST_MODIFIED header to located the timestamp. This header can contain either a java.util.Date or long with the timestamp. If the timestamp exists and the option is enabled it will set this timestamp on the written file. Note: This option only applies to the file producer. You cannot use this option with any of the \ftp producers. | false | MEDIUM
 | *camel.sink.endpoint.moveExistingFileStrategy* | Strategy (Custom Strategy) used to move file with special naming token to use when fileExist=Move is configured. By default, there is an implementation used if no custom strategy is provided | null | MEDIUM
 | *camel.sink.endpoint.autoCreate* | 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. | true | MEDIUM
 | *camel.sink.endpoint.basicPropertyBinding* | Whether the endpoint should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | MEDIUM
diff --git a/connectors/camel-file-kafka-connector/src/main/docs/camel-file-kafka-source-connector.adoc b/connectors/camel-file-kafka-connector/src/main/docs/camel-file-kafka-source-connector.adoc
index c1de81b..3f72edf 100644
--- a/connectors/camel-file-kafka-connector/src/main/docs/camel-file-kafka-source-connector.adoc
+++ b/connectors/camel-file-kafka-connector/src/main/docs/camel-file-kafka-source-connector.adoc
@@ -31,8 +31,8 @@ The camel-file source connector supports 80 options, which are listed below.
 | Name | Description | Default | Priority
 | *camel.source.path.directoryName* | The starting directory | null | HIGH
 | *camel.source.endpoint.charset* | This option is used to specify the encoding of the file. You can use this on the consumer, to specify the encodings of the files, which allow Camel to know the charset it should load the file content in case the file content is being accessed. Likewise when writing a file, you can use this option to specify which charset to write the file as well. Do mind that when writing the file Camel may have to read the message content into memory to be able to co [...]
-| *camel.source.endpoint.doneFileName* | 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 dynamic placeholders. The done file will always be written in the same folder as the original file. Consumer: If provided, Camel will only consume files if a done file exists. This option configures what file name to use.  [...]
-| *camel.source.endpoint.fileName* | 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 CamelFileName header. (Note: The header itself can also be an Expression). The expression options support both String and Expression types. If the expression is a String type, it is always evaluated using the File Language. I [...]
+| *camel.source.endpoint.doneFileName* | 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 dynamic placeholders. The done file will always be written in the same folder as the original file. Consumer: If provided, Camel will only consume files if a done file exists. This option configures what file name to use.  [...]
+| *camel.source.endpoint.fileName* | 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 CamelFileName header. (Note: The header itself can also be an Expression). The expression options support both String and Expression types. If the expression is a String type, it is always evaluated using the File Language. I [...]
 | *camel.source.endpoint.bridgeErrorHandler* | 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. | false | MEDIUM
 | *camel.source.endpoint.delete* | If true, the file will be deleted after it is processed successfully. | false | MEDIUM
 | *camel.source.endpoint.moveFailed* | 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 the file again. | null | MEDIUM
@@ -65,10 +65,10 @@ The camel-file source connector supports 80 options, which are listed below.
 | *camel.source.endpoint.eagerMaxMessagesPerPoll* | 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, and then perform sorting. Setting this option to false allows for sorting all files first, and then limit the poll. Mind that this requires a higher memory usage as all file details are in memory to perform the sorting. | true | MEDIUM
 | *camel.source.endpoint.exclude* | Is used to exclude files, if filename matches the regex pattern (matching is case in-senstive). Notice if you use symbols such as plus sign and others you would need to configure this using the RAW() syntax if configuring this as an endpoint uri. See more details at configuring endpoint uris | null | MEDIUM
 | *camel.source.endpoint.filter* | Pluggable filter as a org.apache.camel.component.file.GenericFileFilter class. Will skip files if filter returns false in its accept() method. | null | MEDIUM
-| *camel.source.endpoint.filterDirectory* | 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} | null | MEDIUM
-| *camel.source.endpoint.filterFile* | Filters the file based on Simple language. For example to filter on file size, you can use ${file:size} 5000 | null | MEDIUM
+| *camel.source.endpoint.filterDirectory* | 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} | null | MEDIUM
+| *camel.source.endpoint.filterFile* | Filters the file based on Simple language. For example to filter on file size, you can use \${file:size} 5000 | null | MEDIUM
 | *camel.source.endpoint.idempotent* | 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 will be enabled as well to avoid consuming the same files over and over again. | "false" | MEDIUM
-| *camel.source.endpoint.idempotentKey* | 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} | null | MEDIUM
+| *camel.source.endpoint.idempotentKey* | 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} | null | MEDIUM
 | *camel.source.endpoint.idempotentRepository* | A pluggable repository org.apache.camel.spi.IdempotentRepository which by default use MemoryMessageIdRepository if none is specified and idempotent is true. | null | MEDIUM
 | *camel.source.endpoint.include* | 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 this as an endpoint uri. See more details at configuring endpoint uris | null | MEDIUM
 | *camel.source.endpoint.maxDepth* | The maximum depth to traverse when recursively processing a directory. | 2147483647 | MEDIUM
diff --git a/connectors/camel-ftp-kafka-connector/src/main/docs/camel-ftp-kafka-sink-connector.adoc b/connectors/camel-ftp-kafka-connector/src/main/docs/camel-ftp-kafka-sink-connector.adoc
index a7b587b..062d5b1 100644
--- a/connectors/camel-ftp-kafka-connector/src/main/docs/camel-ftp-kafka-sink-connector.adoc
+++ b/connectors/camel-ftp-kafka-connector/src/main/docs/camel-ftp-kafka-sink-connector.adoc
@@ -35,14 +35,14 @@ The camel-ftp sink connector supports 50 options, which are listed below.
 | *camel.sink.endpoint.binary* | Specifies the file transfer mode, BINARY or ASCII. Default is ASCII (false). | false | MEDIUM
 | *camel.sink.endpoint.charset* | This option is used to specify the encoding of the file. You can use this on the consumer, to specify the encodings of the files, which allow Camel to know the charset it should load the file content in case the file content is being accessed. Likewise when writing a file, you can use this option to specify which charset to write the file as well. Do mind that when writing the file Camel may have to read the message content into memory to be able to conv [...]
 | *camel.sink.endpoint.disconnect* | 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 the consumer/route instead. | false | MEDIUM
-| *camel.sink.endpoint.doneFileName* | 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 dynamic placeholders. The done file will always be written in the same folder as the original file. Consumer: If provided, Camel will only consume files if a done file exists. This option configures what file name to use. Ei [...]
-| *camel.sink.endpoint.fileName* | 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 CamelFileName header. (Note: The header itself can also be an Expression). The expression options support both String and Expression types. If the expression is a String type, it is always evaluated using the File Language. If  [...]
+| *camel.sink.endpoint.doneFileName* | 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 dynamic placeholders. The done file will always be written in the same folder as the original file. Consumer: If provided, Camel will only consume files if a done file exists. This option configures what file name to use. Ei [...]
+| *camel.sink.endpoint.fileName* | 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 CamelFileName header. (Note: The header itself can also be an Expression). The expression options support both String and Expression types. If the expression is a String type, it is always evaluated using the File Language. If  [...]
 | *camel.sink.endpoint.passiveMode* | Sets passive mode connections. Default is active mode connections. | false | MEDIUM
 | *camel.sink.endpoint.separator* | Sets the path separator to be used. UNIX = Uses unix style path separator Windows = Uses windows style path separator Auto = (is default) Use existing path separator in file name One of: [UNIX] [Windows] [Auto] | "UNIX" | MEDIUM
 | *camel.sink.endpoint.transferLoggingIntervalSeconds* | Configures the interval in seconds to use when logging the progress of upload and download operations that are in-flight. This is used for logging progress when operations takes longer time. | 5 | MEDIUM
 | *camel.sink.endpoint.transferLoggingLevel* | Configure the logging level to use when logging the progress of upload and download operations. One of: [TRACE] [DEBUG] [INFO] [WARN] [ERROR] [OFF] | "DEBUG" | MEDIUM
 | *camel.sink.endpoint.transferLoggingVerbose* | Configures whether the perform verbose (fine grained) logging of the progress of upload and download operations. | false | MEDIUM
-| *camel.sink.endpoint.fastExistsCheck* | If set this option to be true, camel-ftp will use the list file directly to check if the file exists. Since some FTP server may not support to list the file directly, if the option is false, camel-ftp will use the old way to list the directory and check if the file exists. This option also influences readLock=changed to control whether it performs a fast check to update file information or not. This can be used to speed up the process if the FTP  [...]
+| *camel.sink.endpoint.fastExistsCheck* | If set this option to be true, camel-\ftp will use the list file directly to check if the file exists. Since some FTP server may not support to list the file directly, if the option is false, camel-\ftp will use the old way to list the directory and check if the file exists. This option also influences readLock=changed to control whether it performs a fast check to update file information or not. This can be used to speed up the process if the FT [...]
 | *camel.sink.endpoint.fileExist* | What to do if a file already exists with the same name. Override, which is the default, replaces the existing file. - Append - adds content to the existing file. - Fail - throws a GenericFileOperationException, indicating that there is already an existing file. - Ignore - silently ignores the problem and does not override the existing file, but assumes everything is okay. - Move - option requires to use the moveExisting option to be configured as well. [...]
 | *camel.sink.endpoint.flatten* | 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 they will be written in a single directory. Setting this to true on the producer enforces that any file name in CamelFileName header will be stripped for any leading paths. | false | MEDIUM
 | *camel.sink.endpoint.jailStartingDirectory* | 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 secured out of the box). You can turn this off to allow writing files to directories outside the starting directory, such as parent or root folders. | true | MEDIUM
@@ -54,7 +54,7 @@ The camel-ftp sink connector supports 50 options, which are listed below.
 | *camel.sink.endpoint.chmod* | Allows you to set chmod on the stored file. For example chmod=640. | null | MEDIUM
 | *camel.sink.endpoint.disconnectOnBatchComplete* | Whether or not to disconnect from remote FTP server right after a Batch upload is complete. disconnectOnBatchComplete will only disconnect the current connection to the FTP server. | false | MEDIUM
 | *camel.sink.endpoint.eagerDeleteTargetFile* | 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 this to disable (set it to false) deleting the target file before the temp file is written. For example you may write big files and want the target file to exists during the temp file is being written. This ensure the target file is only deleted until the very last moment, just [...]
-| *camel.sink.endpoint.keepLastModified* | Will keep the last modified timestamp from the source file (if any). Will use the Exchange.FILE_LAST_MODIFIED header to located the timestamp. This header can contain either a java.util.Date or long with the timestamp. If the timestamp exists and the option is enabled it will set this timestamp on the written file. Note: This option only applies to the file producer. You cannot use this option with any of the ftp producers. | false | MEDIUM
+| *camel.sink.endpoint.keepLastModified* | Will keep the last modified timestamp from the source file (if any). Will use the Exchange.FILE_LAST_MODIFIED header to located the timestamp. This header can contain either a java.util.Date or long with the timestamp. If the timestamp exists and the option is enabled it will set this timestamp on the written file. Note: This option only applies to the file producer. You cannot use this option with any of the \ftp producers. | false | MEDIUM
 | *camel.sink.endpoint.moveExistingFileStrategy* | Strategy (Custom Strategy) used to move file with special naming token to use when fileExist=Move is configured. By default, there is an implementation used if no custom strategy is provided | null | MEDIUM
 | *camel.sink.endpoint.sendNoop* | Whether to send a noop command as a pre-write check before uploading files to the FTP server. This is enabled by default as a validation of the connection is still valid, which allows to silently re-connect to be able to upload the file. However if this causes problems, you can turn this option off. | true | MEDIUM
 | *camel.sink.endpoint.activePortRange* | Set the client side port range in active mode. The syntax is: minPort-maxPort Both port numbers are inclusive, eg 10000-19999 to include all 1xxxx ports. | null | MEDIUM
diff --git a/connectors/camel-ftp-kafka-connector/src/main/docs/camel-ftp-kafka-source-connector.adoc b/connectors/camel-ftp-kafka-connector/src/main/docs/camel-ftp-kafka-source-connector.adoc
index cdb12d0..8dc6839 100644
--- a/connectors/camel-ftp-kafka-connector/src/main/docs/camel-ftp-kafka-source-connector.adoc
+++ b/connectors/camel-ftp-kafka-connector/src/main/docs/camel-ftp-kafka-source-connector.adoc
@@ -35,14 +35,14 @@ The camel-ftp source connector supports 101 options, which are listed below.
 | *camel.source.endpoint.binary* | Specifies the file transfer mode, BINARY or ASCII. Default is ASCII (false). | false | MEDIUM
 | *camel.source.endpoint.charset* | This option is used to specify the encoding of the file. You can use this on the consumer, to specify the encodings of the files, which allow Camel to know the charset it should load the file content in case the file content is being accessed. Likewise when writing a file, you can use this option to specify which charset to write the file as well. Do mind that when writing the file Camel may have to read the message content into memory to be able to co [...]
 | *camel.source.endpoint.disconnect* | 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 the consumer/route instead. | false | MEDIUM
-| *camel.source.endpoint.doneFileName* | 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 dynamic placeholders. The done file will always be written in the same folder as the original file. Consumer: If provided, Camel will only consume files if a done file exists. This option configures what file name to use.  [...]
-| *camel.source.endpoint.fileName* | 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 CamelFileName header. (Note: The header itself can also be an Expression). The expression options support both String and Expression types. If the expression is a String type, it is always evaluated using the File Language. I [...]
+| *camel.source.endpoint.doneFileName* | 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 dynamic placeholders. The done file will always be written in the same folder as the original file. Consumer: If provided, Camel will only consume files if a done file exists. This option configures what file name to use.  [...]
+| *camel.source.endpoint.fileName* | 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 CamelFileName header. (Note: The header itself can also be an Expression). The expression options support both String and Expression types. If the expression is a String type, it is always evaluated using the File Language. I [...]
 | *camel.source.endpoint.passiveMode* | Sets passive mode connections. Default is active mode connections. | false | MEDIUM
 | *camel.source.endpoint.separator* | Sets the path separator to be used. UNIX = Uses unix style path separator Windows = Uses windows style path separator Auto = (is default) Use existing path separator in file name One of: [UNIX] [Windows] [Auto] | "UNIX" | MEDIUM
 | *camel.source.endpoint.transferLoggingInterval Seconds* | Configures the interval in seconds to use when logging the progress of upload and download operations that are in-flight. This is used for logging progress when operations takes longer time. | 5 | MEDIUM
 | *camel.source.endpoint.transferLoggingLevel* | Configure the logging level to use when logging the progress of upload and download operations. One of: [TRACE] [DEBUG] [INFO] [WARN] [ERROR] [OFF] | "DEBUG" | MEDIUM
 | *camel.source.endpoint.transferLoggingVerbose* | Configures whether the perform verbose (fine grained) logging of the progress of upload and download operations. | false | MEDIUM
-| *camel.source.endpoint.fastExistsCheck* | If set this option to be true, camel-ftp will use the list file directly to check if the file exists. Since some FTP server may not support to list the file directly, if the option is false, camel-ftp will use the old way to list the directory and check if the file exists. This option also influences readLock=changed to control whether it performs a fast check to update file information or not. This can be used to speed up the process if the FT [...]
+| *camel.source.endpoint.fastExistsCheck* | If set this option to be true, camel-\ftp will use the list file directly to check if the file exists. Since some FTP server may not support to list the file directly, if the option is false, camel-\ftp will use the old way to list the directory and check if the file exists. This option also influences readLock=changed to control whether it performs a fast check to update file information or not. This can be used to speed up the process if the  [...]
 | *camel.source.endpoint.bridgeErrorHandler* | 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. | false | MEDIUM
 | *camel.source.endpoint.delete* | If true, the file will be deleted after it is processed successfully. | false | MEDIUM
 | *camel.source.endpoint.moveFailed* | 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 the file again. | null | MEDIUM
@@ -87,10 +87,10 @@ The camel-ftp source connector supports 101 options, which are listed below.
 | *camel.source.endpoint.eagerMaxMessagesPerPoll* | 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, and then perform sorting. Setting this option to false allows for sorting all files first, and then limit the poll. Mind that this requires a higher memory usage as all file details are in memory to perform the sorting. | true | MEDIUM
 | *camel.source.endpoint.exclude* | Is used to exclude files, if filename matches the regex pattern (matching is case in-senstive). Notice if you use symbols such as plus sign and others you would need to configure this using the RAW() syntax if configuring this as an endpoint uri. See more details at configuring endpoint uris | null | MEDIUM
 | *camel.source.endpoint.filter* | Pluggable filter as a org.apache.camel.component.file.GenericFileFilter class. Will skip files if filter returns false in its accept() method. | null | MEDIUM
-| *camel.source.endpoint.filterDirectory* | 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} | null | MEDIUM
-| *camel.source.endpoint.filterFile* | Filters the file based on Simple language. For example to filter on file size, you can use ${file:size} 5000 | null | MEDIUM
+| *camel.source.endpoint.filterDirectory* | 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} | null | MEDIUM
+| *camel.source.endpoint.filterFile* | Filters the file based on Simple language. For example to filter on file size, you can use \${file:size} 5000 | null | MEDIUM
 | *camel.source.endpoint.idempotent* | 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 will be enabled as well to avoid consuming the same files over and over again. | "false" | MEDIUM
-| *camel.source.endpoint.idempotentKey* | 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} | null | MEDIUM
+| *camel.source.endpoint.idempotentKey* | 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} | null | MEDIUM
 | *camel.source.endpoint.idempotentRepository* | A pluggable repository org.apache.camel.spi.IdempotentRepository which by default use MemoryMessageIdRepository if none is specified and idempotent is true. | null | MEDIUM
 | *camel.source.endpoint.include* | 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 this as an endpoint uri. See more details at configuring endpoint uris | null | MEDIUM
 | *camel.source.endpoint.maxDepth* | The maximum depth to traverse when recursively processing a directory. | 2147483647 | MEDIUM
diff --git a/connectors/camel-ftps-kafka-connector/src/main/docs/camel-ftps-kafka-sink-connector.adoc b/connectors/camel-ftps-kafka-connector/src/main/docs/camel-ftps-kafka-sink-connector.adoc
index 8dce190..ef2c873 100644
--- a/connectors/camel-ftps-kafka-connector/src/main/docs/camel-ftps-kafka-sink-connector.adoc
+++ b/connectors/camel-ftps-kafka-connector/src/main/docs/camel-ftps-kafka-sink-connector.adoc
@@ -35,14 +35,14 @@ The camel-ftps sink connector supports 59 options, which are listed below.
 | *camel.sink.endpoint.binary* | Specifies the file transfer mode, BINARY or ASCII. Default is ASCII (false). | false | MEDIUM
 | *camel.sink.endpoint.charset* | This option is used to specify the encoding of the file. You can use this on the consumer, to specify the encodings of the files, which allow Camel to know the charset it should load the file content in case the file content is being accessed. Likewise when writing a file, you can use this option to specify which charset to write the file as well. Do mind that when writing the file Camel may have to read the message content into memory to be able to conv [...]
 | *camel.sink.endpoint.disconnect* | 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 the consumer/route instead. | false | MEDIUM
-| *camel.sink.endpoint.doneFileName* | 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 dynamic placeholders. The done file will always be written in the same folder as the original file. Consumer: If provided, Camel will only consume files if a done file exists. This option configures what file name to use. Ei [...]
-| *camel.sink.endpoint.fileName* | 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 CamelFileName header. (Note: The header itself can also be an Expression). The expression options support both String and Expression types. If the expression is a String type, it is always evaluated using the File Language. If  [...]
+| *camel.sink.endpoint.doneFileName* | 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 dynamic placeholders. The done file will always be written in the same folder as the original file. Consumer: If provided, Camel will only consume files if a done file exists. This option configures what file name to use. Ei [...]
+| *camel.sink.endpoint.fileName* | 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 CamelFileName header. (Note: The header itself can also be an Expression). The expression options support both String and Expression types. If the expression is a String type, it is always evaluated using the File Language. If  [...]
 | *camel.sink.endpoint.passiveMode* | Sets passive mode connections. Default is active mode connections. | false | MEDIUM
 | *camel.sink.endpoint.separator* | Sets the path separator to be used. UNIX = Uses unix style path separator Windows = Uses windows style path separator Auto = (is default) Use existing path separator in file name One of: [UNIX] [Windows] [Auto] | "UNIX" | MEDIUM
 | *camel.sink.endpoint.transferLoggingIntervalSeconds* | Configures the interval in seconds to use when logging the progress of upload and download operations that are in-flight. This is used for logging progress when operations takes longer time. | 5 | MEDIUM
 | *camel.sink.endpoint.transferLoggingLevel* | Configure the logging level to use when logging the progress of upload and download operations. One of: [TRACE] [DEBUG] [INFO] [WARN] [ERROR] [OFF] | "DEBUG" | MEDIUM
 | *camel.sink.endpoint.transferLoggingVerbose* | Configures whether the perform verbose (fine grained) logging of the progress of upload and download operations. | false | MEDIUM
-| *camel.sink.endpoint.fastExistsCheck* | If set this option to be true, camel-ftp will use the list file directly to check if the file exists. Since some FTP server may not support to list the file directly, if the option is false, camel-ftp will use the old way to list the directory and check if the file exists. This option also influences readLock=changed to control whether it performs a fast check to update file information or not. This can be used to speed up the process if the FTP  [...]
+| *camel.sink.endpoint.fastExistsCheck* | If set this option to be true, camel-\ftp will use the list file directly to check if the file exists. Since some FTP server may not support to list the file directly, if the option is false, camel-\ftp will use the old way to list the directory and check if the file exists. This option also influences readLock=changed to control whether it performs a fast check to update file information or not. This can be used to speed up the process if the FT [...]
 | *camel.sink.endpoint.fileExist* | What to do if a file already exists with the same name. Override, which is the default, replaces the existing file. - Append - adds content to the existing file. - Fail - throws a GenericFileOperationException, indicating that there is already an existing file. - Ignore - silently ignores the problem and does not override the existing file, but assumes everything is okay. - Move - option requires to use the moveExisting option to be configured as well. [...]
 | *camel.sink.endpoint.flatten* | 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 they will be written in a single directory. Setting this to true on the producer enforces that any file name in CamelFileName header will be stripped for any leading paths. | false | MEDIUM
 | *camel.sink.endpoint.jailStartingDirectory* | 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 secured out of the box). You can turn this off to allow writing files to directories outside the starting directory, such as parent or root folders. | true | MEDIUM
@@ -54,7 +54,7 @@ The camel-ftps sink connector supports 59 options, which are listed below.
 | *camel.sink.endpoint.chmod* | Allows you to set chmod on the stored file. For example chmod=640. | null | MEDIUM
 | *camel.sink.endpoint.disconnectOnBatchComplete* | Whether or not to disconnect from remote FTP server right after a Batch upload is complete. disconnectOnBatchComplete will only disconnect the current connection to the FTP server. | false | MEDIUM
 | *camel.sink.endpoint.eagerDeleteTargetFile* | 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 this to disable (set it to false) deleting the target file before the temp file is written. For example you may write big files and want the target file to exists during the temp file is being written. This ensure the target file is only deleted until the very last moment, just [...]
-| *camel.sink.endpoint.keepLastModified* | Will keep the last modified timestamp from the source file (if any). Will use the Exchange.FILE_LAST_MODIFIED header to located the timestamp. This header can contain either a java.util.Date or long with the timestamp. If the timestamp exists and the option is enabled it will set this timestamp on the written file. Note: This option only applies to the file producer. You cannot use this option with any of the ftp producers. | false | MEDIUM
+| *camel.sink.endpoint.keepLastModified* | Will keep the last modified timestamp from the source file (if any). Will use the Exchange.FILE_LAST_MODIFIED header to located the timestamp. This header can contain either a java.util.Date or long with the timestamp. If the timestamp exists and the option is enabled it will set this timestamp on the written file. Note: This option only applies to the file producer. You cannot use this option with any of the \ftp producers. | false | MEDIUM
 | *camel.sink.endpoint.moveExistingFileStrategy* | Strategy (Custom Strategy) used to move file with special naming token to use when fileExist=Move is configured. By default, there is an implementation used if no custom strategy is provided | null | MEDIUM
 | *camel.sink.endpoint.sendNoop* | Whether to send a noop command as a pre-write check before uploading files to the FTP server. This is enabled by default as a validation of the connection is still valid, which allows to silently re-connect to be able to upload the file. However if this causes problems, you can turn this option off. | true | MEDIUM
 | *camel.sink.endpoint.activePortRange* | Set the client side port range in active mode. The syntax is: minPort-maxPort Both port numbers are inclusive, eg 10000-19999 to include all 1xxxx ports. | null | MEDIUM
@@ -83,7 +83,7 @@ The camel-ftps sink connector supports 59 options, which are listed below.
 | *camel.sink.endpoint.implicit* | Set the security mode (Implicit/Explicit). true - Implicit Mode / False - Explicit Mode | false | MEDIUM
 | *camel.sink.endpoint.password* | Password to use for login | null | MEDIUM
 | *camel.sink.endpoint.securityProtocol* | Set the underlying security protocol. | "TLSv1.2" | MEDIUM
-| *camel.sink.endpoint.sslContextParameters* | Gets the JSSE configuration that overrides any settings in FtpsEndpoint#ftpClientKeyStoreParameters, ftpClientTrustStoreParameters, and FtpsConfiguration#getSecurityProtocol(). | null | MEDIUM
+| *camel.sink.endpoint.sslContextParameters* | Gets the JSSE configuration that overrides any settings in FtpsEndpoint#\ftpClientKeyStoreParameters, \ftpClientTrustStoreParameters, and FtpsConfiguration#getSecurityProtocol(). | null | MEDIUM
 | *camel.sink.endpoint.username* | Username to use for login | null | MEDIUM
 | *camel.component.ftps.lazyStartProducer* | 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 cr [...]
 | *camel.component.ftps.basicPropertyBinding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | MEDIUM
diff --git a/connectors/camel-ftps-kafka-connector/src/main/docs/camel-ftps-kafka-source-connector.adoc b/connectors/camel-ftps-kafka-connector/src/main/docs/camel-ftps-kafka-source-connector.adoc
index 3387a3e..e287813 100644
--- a/connectors/camel-ftps-kafka-connector/src/main/docs/camel-ftps-kafka-source-connector.adoc
+++ b/connectors/camel-ftps-kafka-connector/src/main/docs/camel-ftps-kafka-source-connector.adoc
@@ -35,14 +35,14 @@ The camel-ftps source connector supports 110 options, which are listed below.
 | *camel.source.endpoint.binary* | Specifies the file transfer mode, BINARY or ASCII. Default is ASCII (false). | false | MEDIUM
 | *camel.source.endpoint.charset* | This option is used to specify the encoding of the file. You can use this on the consumer, to specify the encodings of the files, which allow Camel to know the charset it should load the file content in case the file content is being accessed. Likewise when writing a file, you can use this option to specify which charset to write the file as well. Do mind that when writing the file Camel may have to read the message content into memory to be able to co [...]
 | *camel.source.endpoint.disconnect* | 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 the consumer/route instead. | false | MEDIUM
-| *camel.source.endpoint.doneFileName* | 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 dynamic placeholders. The done file will always be written in the same folder as the original file. Consumer: If provided, Camel will only consume files if a done file exists. This option configures what file name to use.  [...]
-| *camel.source.endpoint.fileName* | 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 CamelFileName header. (Note: The header itself can also be an Expression). The expression options support both String and Expression types. If the expression is a String type, it is always evaluated using the File Language. I [...]
+| *camel.source.endpoint.doneFileName* | 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 dynamic placeholders. The done file will always be written in the same folder as the original file. Consumer: If provided, Camel will only consume files if a done file exists. This option configures what file name to use.  [...]
+| *camel.source.endpoint.fileName* | 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 CamelFileName header. (Note: The header itself can also be an Expression). The expression options support both String and Expression types. If the expression is a String type, it is always evaluated using the File Language. I [...]
 | *camel.source.endpoint.passiveMode* | Sets passive mode connections. Default is active mode connections. | false | MEDIUM
 | *camel.source.endpoint.separator* | Sets the path separator to be used. UNIX = Uses unix style path separator Windows = Uses windows style path separator Auto = (is default) Use existing path separator in file name One of: [UNIX] [Windows] [Auto] | "UNIX" | MEDIUM
 | *camel.source.endpoint.transferLoggingInterval Seconds* | Configures the interval in seconds to use when logging the progress of upload and download operations that are in-flight. This is used for logging progress when operations takes longer time. | 5 | MEDIUM
 | *camel.source.endpoint.transferLoggingLevel* | Configure the logging level to use when logging the progress of upload and download operations. One of: [TRACE] [DEBUG] [INFO] [WARN] [ERROR] [OFF] | "DEBUG" | MEDIUM
 | *camel.source.endpoint.transferLoggingVerbose* | Configures whether the perform verbose (fine grained) logging of the progress of upload and download operations. | false | MEDIUM
-| *camel.source.endpoint.fastExistsCheck* | If set this option to be true, camel-ftp will use the list file directly to check if the file exists. Since some FTP server may not support to list the file directly, if the option is false, camel-ftp will use the old way to list the directory and check if the file exists. This option also influences readLock=changed to control whether it performs a fast check to update file information or not. This can be used to speed up the process if the FT [...]
+| *camel.source.endpoint.fastExistsCheck* | If set this option to be true, camel-\ftp will use the list file directly to check if the file exists. Since some FTP server may not support to list the file directly, if the option is false, camel-\ftp will use the old way to list the directory and check if the file exists. This option also influences readLock=changed to control whether it performs a fast check to update file information or not. This can be used to speed up the process if the  [...]
 | *camel.source.endpoint.bridgeErrorHandler* | 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. | false | MEDIUM
 | *camel.source.endpoint.delete* | If true, the file will be deleted after it is processed successfully. | false | MEDIUM
 | *camel.source.endpoint.moveFailed* | 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 the file again. | null | MEDIUM
@@ -87,10 +87,10 @@ The camel-ftps source connector supports 110 options, which are listed below.
 | *camel.source.endpoint.eagerMaxMessagesPerPoll* | 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, and then perform sorting. Setting this option to false allows for sorting all files first, and then limit the poll. Mind that this requires a higher memory usage as all file details are in memory to perform the sorting. | true | MEDIUM
 | *camel.source.endpoint.exclude* | Is used to exclude files, if filename matches the regex pattern (matching is case in-senstive). Notice if you use symbols such as plus sign and others you would need to configure this using the RAW() syntax if configuring this as an endpoint uri. See more details at configuring endpoint uris | null | MEDIUM
 | *camel.source.endpoint.filter* | Pluggable filter as a org.apache.camel.component.file.GenericFileFilter class. Will skip files if filter returns false in its accept() method. | null | MEDIUM
-| *camel.source.endpoint.filterDirectory* | 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} | null | MEDIUM
-| *camel.source.endpoint.filterFile* | Filters the file based on Simple language. For example to filter on file size, you can use ${file:size} 5000 | null | MEDIUM
+| *camel.source.endpoint.filterDirectory* | 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} | null | MEDIUM
+| *camel.source.endpoint.filterFile* | Filters the file based on Simple language. For example to filter on file size, you can use \${file:size} 5000 | null | MEDIUM
 | *camel.source.endpoint.idempotent* | 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 will be enabled as well to avoid consuming the same files over and over again. | "false" | MEDIUM
-| *camel.source.endpoint.idempotentKey* | 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} | null | MEDIUM
+| *camel.source.endpoint.idempotentKey* | 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} | null | MEDIUM
 | *camel.source.endpoint.idempotentRepository* | A pluggable repository org.apache.camel.spi.IdempotentRepository which by default use MemoryMessageIdRepository if none is specified and idempotent is true. | null | MEDIUM
 | *camel.source.endpoint.include* | 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 this as an endpoint uri. See more details at configuring endpoint uris | null | MEDIUM
 | *camel.source.endpoint.maxDepth* | The maximum depth to traverse when recursively processing a directory. | 2147483647 | MEDIUM
@@ -131,7 +131,7 @@ The camel-ftps source connector supports 110 options, which are listed below.
 | *camel.source.endpoint.implicit* | Set the security mode (Implicit/Explicit). true - Implicit Mode / False - Explicit Mode | false | MEDIUM
 | *camel.source.endpoint.password* | Password to use for login | null | MEDIUM
 | *camel.source.endpoint.securityProtocol* | Set the underlying security protocol. | "TLSv1.2" | MEDIUM
-| *camel.source.endpoint.sslContextParameters* | Gets the JSSE configuration that overrides any settings in FtpsEndpoint#ftpClientKeyStoreParameters, ftpClientTrustStoreParameters, and FtpsConfiguration#getSecurityProtocol(). | null | MEDIUM
+| *camel.source.endpoint.sslContextParameters* | Gets the JSSE configuration that overrides any settings in FtpsEndpoint#\ftpClientKeyStoreParameters, \ftpClientTrustStoreParameters, and FtpsConfiguration#getSecurityProtocol(). | null | MEDIUM
 | *camel.source.endpoint.username* | Username to use for login | null | MEDIUM
 | *camel.source.endpoint.shuffle* | To shuffle the list of files (sort in random order) | false | MEDIUM
 | *camel.source.endpoint.sortBy* | 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. | null | MEDIUM
diff --git a/connectors/camel-scp-kafka-connector/src/main/docs/camel-scp-kafka-sink-connector.adoc b/connectors/camel-scp-kafka-connector/src/main/docs/camel-scp-kafka-sink-connector.adoc
index 90012ea..6fc027b 100644
--- a/connectors/camel-scp-kafka-connector/src/main/docs/camel-scp-kafka-sink-connector.adoc
+++ b/connectors/camel-scp-kafka-connector/src/main/docs/camel-scp-kafka-sink-connector.adoc
@@ -34,7 +34,7 @@ The camel-scp sink connector supports 30 options, which are listed below.
 | *camel.sink.path.directoryName* | The starting directory | null | MEDIUM
 | *camel.sink.endpoint.chmod* | Allows you to set chmod on the stored file. For example chmod=664. | "664" | MEDIUM
 | *camel.sink.endpoint.disconnect* | 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 the consumer/route instead. | false | MEDIUM
-| *camel.sink.endpoint.fileName* | 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 CamelFileName header. (Note: The header itself can also be an Expression). The expression options support both String and Expression types. If the expression is a String type, it is always evaluated using the File Language. If  [...]
+| *camel.sink.endpoint.fileName* | 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 CamelFileName header. (Note: The header itself can also be an Expression). The expression options support both String and Expression types. If the expression is a String type, it is always evaluated using the File Language. If  [...]
 | *camel.sink.endpoint.flatten* | 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 they will be written in a single directory. Setting this to true on the producer enforces that any file name in CamelFileName header will be stripped for any leading paths. | false | MEDIUM
 | *camel.sink.endpoint.jailStartingDirectory* | 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 secured out of the box). You can turn this off to allow writing files to directories outside the starting directory, such as parent or root folders. | true | MEDIUM
 | *camel.sink.endpoint.lazyStartProducer* | 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 cre [...]
diff --git a/connectors/camel-sftp-kafka-connector/src/main/docs/camel-sftp-kafka-sink-connector.adoc b/connectors/camel-sftp-kafka-connector/src/main/docs/camel-sftp-kafka-sink-connector.adoc
index 5b67c3a..507e3c8 100644
--- a/connectors/camel-sftp-kafka-connector/src/main/docs/camel-sftp-kafka-sink-connector.adoc
+++ b/connectors/camel-sftp-kafka-connector/src/main/docs/camel-sftp-kafka-sink-connector.adoc
@@ -35,12 +35,12 @@ The camel-sftp sink connector supports 59 options, which are listed below.
 | *camel.sink.endpoint.binary* | Specifies the file transfer mode, BINARY or ASCII. Default is ASCII (false). | false | MEDIUM
 | *camel.sink.endpoint.charset* | This option is used to specify the encoding of the file. You can use this on the consumer, to specify the encodings of the files, which allow Camel to know the charset it should load the file content in case the file content is being accessed. Likewise when writing a file, you can use this option to specify which charset to write the file as well. Do mind that when writing the file Camel may have to read the message content into memory to be able to conv [...]
 | *camel.sink.endpoint.disconnect* | 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 the consumer/route instead. | false | MEDIUM
-| *camel.sink.endpoint.doneFileName* | 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 dynamic placeholders. The done file will always be written in the same folder as the original file. Consumer: If provided, Camel will only consume files if a done file exists. This option configures what file name to use. Ei [...]
-| *camel.sink.endpoint.fileName* | 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 CamelFileName header. (Note: The header itself can also be an Expression). The expression options support both String and Expression types. If the expression is a String type, it is always evaluated using the File Language. If  [...]
+| *camel.sink.endpoint.doneFileName* | 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 dynamic placeholders. The done file will always be written in the same folder as the original file. Consumer: If provided, Camel will only consume files if a done file exists. This option configures what file name to use. Ei [...]
+| *camel.sink.endpoint.fileName* | 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 CamelFileName header. (Note: The header itself can also be an Expression). The expression options support both String and Expression types. If the expression is a String type, it is always evaluated using the File Language. If  [...]
 | *camel.sink.endpoint.jschLoggingLevel* | The logging level to use for JSCH activity logging. As JSCH is verbose at by default at INFO level the threshold is WARN by default. One of: [TRACE] [DEBUG] [INFO] [WARN] [ERROR] [OFF] | "WARN" | MEDIUM
 | *camel.sink.endpoint.passiveMode* | Sets passive mode connections. Default is active mode connections. | false | MEDIUM
 | *camel.sink.endpoint.separator* | Sets the path separator to be used. UNIX = Uses unix style path separator Windows = Uses windows style path separator Auto = (is default) Use existing path separator in file name One of: [UNIX] [Windows] [Auto] | "UNIX" | MEDIUM
-| *camel.sink.endpoint.fastExistsCheck* | If set this option to be true, camel-ftp will use the list file directly to check if the file exists. Since some FTP server may not support to list the file directly, if the option is false, camel-ftp will use the old way to list the directory and check if the file exists. This option also influences readLock=changed to control whether it performs a fast check to update file information or not. This can be used to speed up the process if the FTP  [...]
+| *camel.sink.endpoint.fastExistsCheck* | If set this option to be true, camel-\ftp will use the list file directly to check if the file exists. Since some FTP server may not support to list the file directly, if the option is false, camel-\ftp will use the old way to list the directory and check if the file exists. This option also influences readLock=changed to control whether it performs a fast check to update file information or not. This can be used to speed up the process if the FT [...]
 | *camel.sink.endpoint.fileExist* | What to do if a file already exists with the same name. Override, which is the default, replaces the existing file. - Append - adds content to the existing file. - Fail - throws a GenericFileOperationException, indicating that there is already an existing file. - Ignore - silently ignores the problem and does not override the existing file, but assumes everything is okay. - Move - option requires to use the moveExisting option to be configured as well. [...]
 | *camel.sink.endpoint.flatten* | 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 they will be written in a single directory. Setting this to true on the producer enforces that any file name in CamelFileName header will be stripped for any leading paths. | false | MEDIUM
 | *camel.sink.endpoint.jailStartingDirectory* | 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 secured out of the box). You can turn this off to allow writing files to directories outside the starting directory, such as parent or root folders. | true | MEDIUM
@@ -52,7 +52,7 @@ The camel-sftp sink connector supports 59 options, which are listed below.
 | *camel.sink.endpoint.chmod* | Allows you to set chmod on the stored file. For example chmod=640. | null | MEDIUM
 | *camel.sink.endpoint.disconnectOnBatchComplete* | Whether or not to disconnect from remote FTP server right after a Batch upload is complete. disconnectOnBatchComplete will only disconnect the current connection to the FTP server. | false | MEDIUM
 | *camel.sink.endpoint.eagerDeleteTargetFile* | 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 this to disable (set it to false) deleting the target file before the temp file is written. For example you may write big files and want the target file to exists during the temp file is being written. This ensure the target file is only deleted until the very last moment, just [...]
-| *camel.sink.endpoint.keepLastModified* | Will keep the last modified timestamp from the source file (if any). Will use the Exchange.FILE_LAST_MODIFIED header to located the timestamp. This header can contain either a java.util.Date or long with the timestamp. If the timestamp exists and the option is enabled it will set this timestamp on the written file. Note: This option only applies to the file producer. You cannot use this option with any of the ftp producers. | false | MEDIUM
+| *camel.sink.endpoint.keepLastModified* | Will keep the last modified timestamp from the source file (if any). Will use the Exchange.FILE_LAST_MODIFIED header to located the timestamp. This header can contain either a java.util.Date or long with the timestamp. If the timestamp exists and the option is enabled it will set this timestamp on the written file. Note: This option only applies to the file producer. You cannot use this option with any of the \ftp producers. | false | MEDIUM
 | *camel.sink.endpoint.moveExistingFileStrategy* | Strategy (Custom Strategy) used to move file with special naming token to use when fileExist=Move is configured. By default, there is an implementation used if no custom strategy is provided | null | MEDIUM
 | *camel.sink.endpoint.sendNoop* | Whether to send a noop command as a pre-write check before uploading files to the FTP server. This is enabled by default as a validation of the connection is still valid, which allows to silently re-connect to be able to upload the file. However if this causes problems, you can turn this option off. | true | MEDIUM
 | *camel.sink.endpoint.autoCreate* | 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. | true | MEDIUM
diff --git a/connectors/camel-sftp-kafka-connector/src/main/docs/camel-sftp-kafka-source-connector.adoc b/connectors/camel-sftp-kafka-connector/src/main/docs/camel-sftp-kafka-source-connector.adoc
index e182ca1..d02ec66 100644
--- a/connectors/camel-sftp-kafka-connector/src/main/docs/camel-sftp-kafka-source-connector.adoc
+++ b/connectors/camel-sftp-kafka-connector/src/main/docs/camel-sftp-kafka-source-connector.adoc
@@ -35,12 +35,12 @@ The camel-sftp source connector supports 112 options, which are listed below.
 | *camel.source.endpoint.binary* | Specifies the file transfer mode, BINARY or ASCII. Default is ASCII (false). | false | MEDIUM
 | *camel.source.endpoint.charset* | This option is used to specify the encoding of the file. You can use this on the consumer, to specify the encodings of the files, which allow Camel to know the charset it should load the file content in case the file content is being accessed. Likewise when writing a file, you can use this option to specify which charset to write the file as well. Do mind that when writing the file Camel may have to read the message content into memory to be able to co [...]
 | *camel.source.endpoint.disconnect* | 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 the consumer/route instead. | false | MEDIUM
-| *camel.source.endpoint.doneFileName* | 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 dynamic placeholders. The done file will always be written in the same folder as the original file. Consumer: If provided, Camel will only consume files if a done file exists. This option configures what file name to use.  [...]
-| *camel.source.endpoint.fileName* | 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 CamelFileName header. (Note: The header itself can also be an Expression). The expression options support both String and Expression types. If the expression is a String type, it is always evaluated using the File Language. I [...]
+| *camel.source.endpoint.doneFileName* | 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 dynamic placeholders. The done file will always be written in the same folder as the original file. Consumer: If provided, Camel will only consume files if a done file exists. This option configures what file name to use.  [...]
+| *camel.source.endpoint.fileName* | 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 CamelFileName header. (Note: The header itself can also be an Expression). The expression options support both String and Expression types. If the expression is a String type, it is always evaluated using the File Language. I [...]
 | *camel.source.endpoint.jschLoggingLevel* | The logging level to use for JSCH activity logging. As JSCH is verbose at by default at INFO level the threshold is WARN by default. One of: [TRACE] [DEBUG] [INFO] [WARN] [ERROR] [OFF] | "WARN" | MEDIUM
 | *camel.source.endpoint.passiveMode* | Sets passive mode connections. Default is active mode connections. | false | MEDIUM
 | *camel.source.endpoint.separator* | Sets the path separator to be used. UNIX = Uses unix style path separator Windows = Uses windows style path separator Auto = (is default) Use existing path separator in file name One of: [UNIX] [Windows] [Auto] | "UNIX" | MEDIUM
-| *camel.source.endpoint.fastExistsCheck* | If set this option to be true, camel-ftp will use the list file directly to check if the file exists. Since some FTP server may not support to list the file directly, if the option is false, camel-ftp will use the old way to list the directory and check if the file exists. This option also influences readLock=changed to control whether it performs a fast check to update file information or not. This can be used to speed up the process if the FT [...]
+| *camel.source.endpoint.fastExistsCheck* | If set this option to be true, camel-\ftp will use the list file directly to check if the file exists. Since some FTP server may not support to list the file directly, if the option is false, camel-\ftp will use the old way to list the directory and check if the file exists. This option also influences readLock=changed to control whether it performs a fast check to update file information or not. This can be used to speed up the process if the  [...]
 | *camel.source.endpoint.bridgeErrorHandler* | 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. | false | MEDIUM
 | *camel.source.endpoint.delete* | If true, the file will be deleted after it is processed successfully. | false | MEDIUM
 | *camel.source.endpoint.moveFailed* | 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 the file again. | null | MEDIUM
@@ -83,10 +83,10 @@ The camel-sftp source connector supports 112 options, which are listed below.
 | *camel.source.endpoint.eagerMaxMessagesPerPoll* | 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, and then perform sorting. Setting this option to false allows for sorting all files first, and then limit the poll. Mind that this requires a higher memory usage as all file details are in memory to perform the sorting. | true | MEDIUM
 | *camel.source.endpoint.exclude* | Is used to exclude files, if filename matches the regex pattern (matching is case in-senstive). Notice if you use symbols such as plus sign and others you would need to configure this using the RAW() syntax if configuring this as an endpoint uri. See more details at configuring endpoint uris | null | MEDIUM
 | *camel.source.endpoint.filter* | Pluggable filter as a org.apache.camel.component.file.GenericFileFilter class. Will skip files if filter returns false in its accept() method. | null | MEDIUM
-| *camel.source.endpoint.filterDirectory* | 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} | null | MEDIUM
-| *camel.source.endpoint.filterFile* | Filters the file based on Simple language. For example to filter on file size, you can use ${file:size} 5000 | null | MEDIUM
+| *camel.source.endpoint.filterDirectory* | 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} | null | MEDIUM
+| *camel.source.endpoint.filterFile* | Filters the file based on Simple language. For example to filter on file size, you can use \${file:size} 5000 | null | MEDIUM
 | *camel.source.endpoint.idempotent* | 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 will be enabled as well to avoid consuming the same files over and over again. | "false" | MEDIUM
-| *camel.source.endpoint.idempotentKey* | 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} | null | MEDIUM
+| *camel.source.endpoint.idempotentKey* | 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} | null | MEDIUM
 | *camel.source.endpoint.idempotentRepository* | A pluggable repository org.apache.camel.spi.IdempotentRepository which by default use MemoryMessageIdRepository if none is specified and idempotent is true. | null | MEDIUM
 | *camel.source.endpoint.include* | 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 this as an endpoint uri. See more details at configuring endpoint uris | null | MEDIUM
 | *camel.source.endpoint.maxDepth* | The maximum depth to traverse when recursively processing a directory. | 2147483647 | MEDIUM
diff --git a/docs/modules/ROOT/pages/connectors.adoc b/docs/modules/ROOT/pages/connectors.adoc
index 1183a15..c06f902 100644
--- a/docs/modules/ROOT/pages/connectors.adoc
+++ b/docs/modules/ROOT/pages/connectors.adoc
@@ -2,7 +2,7 @@
 = Supported connectors and documentation
 
 // kafka-connectors list: START
-Number of Camel Kafka connectors: 331 
+Number of Camel Kafka connectors: 332 
 
 [width="100%",cols="4,1,1,1,1,1,1",options="header"]
 |===
@@ -57,6 +57,7 @@ Number of Camel Kafka connectors: 331
 | *camel-azure-queue-kafka-connector* | true | true | xref:connectors/camel-azure-queue-kafka-sink-connector.adoc[Sink Docs] | xref:connectors/camel-azure-queue-kafka-source-connector.adoc[Source Docs] | https://repo.maven.apache.org/maven2/org/apache/camel/kafkaconnector/camel-azure-queue-kafka-connector/0.5.0/camel-azure-queue-kafka-connector-0.5.0-package.zip[Download Zip] | https://repo.maven.apache.org/maven2/org/apache/camel/kafkaconnector/camel-azure-queue-kafka-connector/0.5.0/ca [...]
 | *camel-azure-storage-blob-kafka-connector* | true | true | xref:connectors/camel-azure-storage-blob-kafka-sink-connector.adoc[Sink Docs] | xref:connectors/camel-azure-storage-blob-kafka-source-connector.adoc[Source Docs] | https://repo.maven.apache.org/maven2/org/apache/camel/kafkaconnector/camel-azure-storage-blob-kafka-connector/0.5.0/camel-azure-storage-blob-kafka-connector-0.5.0-package.zip[Download Zip] | https://repo.maven.apache.org/maven2/org/apache/camel/kafkaconnector/camel-a [...]
 | *camel-azure-storage-queue-kafka-connector* | true | true | xref:connectors/camel-azure-storage-queue-kafka-sink-connector.adoc[Sink Docs] | xref:connectors/camel-azure-storage-queue-kafka-source-connector.adoc[Source Docs] | https://repo.maven.apache.org/maven2/org/apache/camel/kafkaconnector/camel-azure-storage-queue-kafka-connector/0.5.0/camel-azure-storage-queue-kafka-connector-0.5.0-package.zip[Download Zip] | https://repo.maven.apache.org/maven2/org/apache/camel/kafkaconnector/ca [...]
+| *camel-bean-kafka-connector* | true | false | xref:connectors/camel-bean-kafka-sink-connector.adoc[Sink Docs] |  | https://repo.maven.apache.org/maven2/org/apache/camel/kafkaconnector/camel-bean-kafka-connector/0.5.0/camel-bean-kafka-connector-0.5.0-package.zip[Download Zip] | https://repo.maven.apache.org/maven2/org/apache/camel/kafkaconnector/camel-bean-kafka-connector/0.5.0/camel-bean-kafka-connector-0.5.0-package.tar.gz[Download Tar.gz]
 | *camel-bean-validator-kafka-connector* | true | false | xref:connectors/camel-bean-validator-kafka-sink-connector.adoc[Sink Docs] |  | https://repo.maven.apache.org/maven2/org/apache/camel/kafkaconnector/camel-bean-validator-kafka-connector/0.5.0/camel-bean-validator-kafka-connector-0.5.0-package.zip[Download Zip] | https://repo.maven.apache.org/maven2/org/apache/camel/kafkaconnector/camel-bean-validator-kafka-connector/0.5.0/camel-bean-validator-kafka-connector-0.5.0-package.tar.gz[Do [...]
 | *camel-beanstalk-kafka-connector* | true | true | xref:connectors/camel-beanstalk-kafka-sink-connector.adoc[Sink Docs] | xref:connectors/camel-beanstalk-kafka-source-connector.adoc[Source Docs] | https://repo.maven.apache.org/maven2/org/apache/camel/kafkaconnector/camel-beanstalk-kafka-connector/0.5.0/camel-beanstalk-kafka-connector-0.5.0-package.zip[Download Zip] | https://repo.maven.apache.org/maven2/org/apache/camel/kafkaconnector/camel-beanstalk-kafka-connector/0.5.0/camel-beanstal [...]
 | *camel-box-kafka-connector* | true | true | xref:connectors/camel-box-kafka-sink-connector.adoc[Sink Docs] | xref:connectors/camel-box-kafka-source-connector.adoc[Source Docs] | https://repo.maven.apache.org/maven2/org/apache/camel/kafkaconnector/camel-box-kafka-connector/0.5.0/camel-box-kafka-connector-0.5.0-package.zip[Download Zip] | https://repo.maven.apache.org/maven2/org/apache/camel/kafkaconnector/camel-box-kafka-connector/0.5.0/camel-box-kafka-connector-0.5.0-package.tar.gz[Dow [...]
diff --git a/docs/modules/ROOT/pages/connectors/camel-azure-eventhubs-kafka-sink-connector.adoc b/docs/modules/ROOT/pages/connectors/camel-azure-eventhubs-kafka-sink-connector.adoc
index d006b54..6e25c94 100644
--- a/docs/modules/ROOT/pages/connectors/camel-azure-eventhubs-kafka-sink-connector.adoc
+++ b/docs/modules/ROOT/pages/connectors/camel-azure-eventhubs-kafka-sink-connector.adoc
@@ -37,7 +37,7 @@ The camel-azure-eventhubs sink connector supports 26 options, which are listed b
 | *camel.sink.endpoint.lazyStartProducer* | 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 cre [...]
 | *camel.sink.endpoint.partitionId* | Sets the identifier of the Event Hub partition that the {link EventData events} will be sent to. If the identifier is not specified, the Event Hubs service will be responsible for routing events that are sent to an available partition. | null | MEDIUM
 | *camel.sink.endpoint.partitionKey* | Sets a hashing key to be provided for the batch of events, which instructs the Event Hubs service to map this key to a specific partition. The selection of a partition is stable for a given partition hashing key. Should any other batches of events be sent using the same exact partition hashing key, the Event Hubs service will route them all to the same partition. This should be specified only when there is a need to group events by partition, but th [...]
-| *camel.sink.endpoint.producerAsyncClient* | Sets the EventHubProducerAsyncClient.An asynchronous producer responsible for transmitting EventData to a specific Event Hub, grouped together in batches. Depending on the {link CreateBatchOptions options} specified when creating an \{linkEventDataBatch}, the events may be automatically routed to an available partition or specific to a partition. Use by this component to produce the data in camel producer. | null | MEDIUM
+| *camel.sink.endpoint.producerAsyncClient* | Sets the EventHubProducerAsyncClient.An asynchronous producer responsible for transmitting EventData to a specific Event Hub, grouped together in batches. Depending on the {link CreateBatchOptions options} specified when creating an \{linkEventDataBatch\}, the events may be automatically routed to an available partition or specific to a partition. Use by this component to produce the data in camel producer. | null | MEDIUM
 | *camel.sink.endpoint.basicPropertyBinding* | Whether the endpoint should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | MEDIUM
 | *camel.sink.endpoint.synchronous* | Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported). | false | MEDIUM
 | *camel.sink.endpoint.connectionString* | Instead of supplying namespace, sharedAccessKey, sharedAccessName ... etc, you can just supply the connection string for your eventHub. The connection string for EventHubs already include all the necessary information to connection to your EventHub. To learn on how to generate the connection string, take a look at this documentation: \https://docs.microsoft.com/en-us/azure/event-hubs/event-hubs-get-connection-string | null | MEDIUM
@@ -50,7 +50,7 @@ The camel-azure-eventhubs sink connector supports 26 options, which are listed b
 | *camel.component.azure-eventhubs.lazyStartProducer* | 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 proces [...]
 | *camel.component.azure-eventhubs.partitionId* | Sets the identifier of the Event Hub partition that the {link EventData events} will be sent to. If the identifier is not specified, the Event Hubs service will be responsible for routing events that are sent to an available partition. | null | MEDIUM
 | *camel.component.azure-eventhubs.partitionKey* | Sets a hashing key to be provided for the batch of events, which instructs the Event Hubs service to map this key to a specific partition. The selection of a partition is stable for a given partition hashing key. Should any other batches of events be sent using the same exact partition hashing key, the Event Hubs service will route them all to the same partition. This should be specified only when there is a need to group events by parti [...]
-| *camel.component.azure-eventhubs.producerAsync Client* | Sets the EventHubProducerAsyncClient.An asynchronous producer responsible for transmitting EventData to a specific Event Hub, grouped together in batches. Depending on the {link CreateBatchOptions options} specified when creating an \{linkEventDataBatch}, the events may be automatically routed to an available partition or specific to a partition. Use by this component to produce the data in camel producer. | null | MEDIUM
+| *camel.component.azure-eventhubs.producerAsync Client* | Sets the EventHubProducerAsyncClient.An asynchronous producer responsible for transmitting EventData to a specific Event Hub, grouped together in batches. Depending on the {link CreateBatchOptions options} specified when creating an \{linkEventDataBatch\}, the events may be automatically routed to an available partition or specific to a partition. Use by this component to produce the data in camel producer. | null | MEDIUM
 | *camel.component.azure-eventhubs.basicProperty Binding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | MEDIUM
 | *camel.component.azure-eventhubs.connectionString* | Instead of supplying namespace, sharedAccessKey, sharedAccessName ... etc, you can just supply the connection string for your eventHub. The connection string for EventHubs already include all the necessary information to connection to your EventHub. To learn on how to generate the connection string, take a look at this documentation: \https://docs.microsoft.com/en-us/azure/event-hubs/event-hubs-get-connection-string | null | MEDIUM
 | *camel.component.azure-eventhubs.sharedAccessKey* | The generated value for the SharedAccessName | null | MEDIUM
diff --git a/docs/modules/ROOT/pages/connectors/camel-azure-eventhubs-kafka-source-connector.adoc b/docs/modules/ROOT/pages/connectors/camel-azure-eventhubs-kafka-source-connector.adoc
index 15ab488..56d83eb 100644
--- a/docs/modules/ROOT/pages/connectors/camel-azure-eventhubs-kafka-source-connector.adoc
+++ b/docs/modules/ROOT/pages/connectors/camel-azure-eventhubs-kafka-source-connector.adoc
@@ -40,7 +40,7 @@ The camel-azure-eventhubs source connector supports 38 options, which are listed
 | *camel.source.endpoint.blobStorageSharedKey Credential* | In case you chose the default BlobCheckpointStore, StorageSharedKeyCredential can be injected to create the azure client, this holds the important authentication information | null | MEDIUM
 | *camel.source.endpoint.bridgeErrorHandler* | 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. | false | MEDIUM
 | *camel.source.endpoint.checkpointStore* | Sets the CheckpointStore the EventProcessorClient will use for storing partition ownership and checkpoint information. Users can, optionally, provide their own implementation of CheckpointStore which will store ownership and checkpoint information. By default it set to use com.azure.messaging.eventhubs.checkpointstore.blob.BlobCheckpointStore which stores all checkpoint offsets into Azure Blob Storage | "BlobCheckpointStore" | MEDIUM
-| *camel.source.endpoint.consumerGroupName* | Sets the name of the consumer group this consumer is associated with. Events are read in the context of this group. The name of the consumer group that is created by default is {link #DEFAULT_CONSUMER_GROUP_NAME $Default}. | "$Default" | MEDIUM
+| *camel.source.endpoint.consumerGroupName* | Sets the name of the consumer group this consumer is associated with. Events are read in the context of this group. The name of the consumer group that is created by default is {link #DEFAULT_CONSUMER_GROUP_NAME \$Default}. | "$Default" | MEDIUM
 | *camel.source.endpoint.eventPosition* | Sets the map containing the event position to use for each partition if a checkpoint for the partition does not exist in CheckpointStore. This map is keyed off of the partition id. If there is no checkpoint in CheckpointStore and there is no entry in this map, the processing of the partition will start from {link EventPosition#latest() latest} position. | null | MEDIUM
 | *camel.source.endpoint.prefetchCount* | Sets the count used by the receiver to control the number of events the Event Hub consumer will actively receive and queue locally without regard to whether a receive operation is currently active. | 500 | MEDIUM
 | *camel.source.endpoint.exceptionHandler* | To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored. | null | MEDIUM
@@ -60,7 +60,7 @@ The camel-azure-eventhubs source connector supports 38 options, which are listed
 | *camel.component.azure-eventhubs.blobStorageShared KeyCredential* | In case you chose the default BlobCheckpointStore, StorageSharedKeyCredential can be injected to create the azure client, this holds the important authentication information | null | MEDIUM
 | *camel.component.azure-eventhubs.bridgeErrorHandler* | 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. | false | MEDIUM
 | *camel.component.azure-eventhubs.checkpointStore* | Sets the CheckpointStore the EventProcessorClient will use for storing partition ownership and checkpoint information. Users can, optionally, provide their own implementation of CheckpointStore which will store ownership and checkpoint information. By default it set to use com.azure.messaging.eventhubs.checkpointstore.blob.BlobCheckpointStore which stores all checkpoint offsets into Azure Blob Storage | "BlobCheckpointStore" | MEDIUM
-| *camel.component.azure-eventhubs.consumerGroupName* | Sets the name of the consumer group this consumer is associated with. Events are read in the context of this group. The name of the consumer group that is created by default is {link #DEFAULT_CONSUMER_GROUP_NAME $Default}. | "$Default" | MEDIUM
+| *camel.component.azure-eventhubs.consumerGroupName* | Sets the name of the consumer group this consumer is associated with. Events are read in the context of this group. The name of the consumer group that is created by default is {link #DEFAULT_CONSUMER_GROUP_NAME \$Default}. | "$Default" | MEDIUM
 | *camel.component.azure-eventhubs.eventPosition* | Sets the map containing the event position to use for each partition if a checkpoint for the partition does not exist in CheckpointStore. This map is keyed off of the partition id. If there is no checkpoint in CheckpointStore and there is no entry in this map, the processing of the partition will start from {link EventPosition#latest() latest} position. | null | MEDIUM
 | *camel.component.azure-eventhubs.prefetchCount* | Sets the count used by the receiver to control the number of events the Event Hub consumer will actively receive and queue locally without regard to whether a receive operation is currently active. | 500 | MEDIUM
 | *camel.component.azure-eventhubs.basicProperty Binding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | MEDIUM
diff --git a/docs/modules/ROOT/pages/connectors/camel-cxf-kafka-sink-connector.adoc b/docs/modules/ROOT/pages/connectors/camel-cxf-kafka-sink-connector.adoc
index 921cb0f..966aea0 100644
--- a/docs/modules/ROOT/pages/connectors/camel-cxf-kafka-sink-connector.adoc
+++ b/docs/modules/ROOT/pages/connectors/camel-cxf-kafka-sink-connector.adoc
@@ -45,7 +45,7 @@ The camel-cxf sink connector supports 40 options, which are listed below.
 | *camel.sink.endpoint.bus* | To use a custom configured CXF Bus. | null | MEDIUM
 | *camel.sink.endpoint.continuationTimeout* | This option is used to set the CXF continuation timeout which could be used in CxfConsumer by default when the CXF server is using Jetty or Servlet transport. | 30000L | MEDIUM
 | *camel.sink.endpoint.cxfBinding* | To use a custom CxfBinding to control the binding between Camel Message and CXF Message. | null | MEDIUM
-| *camel.sink.endpoint.cxfConfigurer* | This option could apply the implementation of org.apache.camel.component.cxf.CxfEndpointConfigurer which supports to configure the CXF endpoint in programmatic way. User can configure the CXF server and client by implementing configure\{ServerClient} method of CxfEndpointConfigurer. | null | MEDIUM
+| *camel.sink.endpoint.cxfConfigurer* | This option could apply the implementation of org.apache.camel.component.cxf.CxfEndpointConfigurer which supports to configure the CXF endpoint in programmatic way. User can configure the CXF server and client by implementing configure\{ServerClient\} method of CxfEndpointConfigurer. | null | MEDIUM
 | *camel.sink.endpoint.defaultBus* | Will set the default bus when CXF endpoint create a bus by itself | false | MEDIUM
 | *camel.sink.endpoint.headerFilterStrategy* | To use a custom HeaderFilterStrategy to filter header to and from Camel message. | null | MEDIUM
 | *camel.sink.endpoint.mergeProtocolHeaders* | Whether to merge protocol headers. If enabled then propagating headers between Camel and CXF becomes more consistent and similar. For more details see CAMEL-6393. | false | MEDIUM
diff --git a/docs/modules/ROOT/pages/connectors/camel-cxf-kafka-source-connector.adoc b/docs/modules/ROOT/pages/connectors/camel-cxf-kafka-source-connector.adoc
index a8d0704..6b83ff8 100644
--- a/docs/modules/ROOT/pages/connectors/camel-cxf-kafka-source-connector.adoc
+++ b/docs/modules/ROOT/pages/connectors/camel-cxf-kafka-source-connector.adoc
@@ -41,7 +41,7 @@ The camel-cxf source connector supports 36 options, which are listed below.
 | *camel.source.endpoint.bus* | To use a custom configured CXF Bus. | null | MEDIUM
 | *camel.source.endpoint.continuationTimeout* | This option is used to set the CXF continuation timeout which could be used in CxfConsumer by default when the CXF server is using Jetty or Servlet transport. | 30000L | MEDIUM
 | *camel.source.endpoint.cxfBinding* | To use a custom CxfBinding to control the binding between Camel Message and CXF Message. | null | MEDIUM
-| *camel.source.endpoint.cxfConfigurer* | This option could apply the implementation of org.apache.camel.component.cxf.CxfEndpointConfigurer which supports to configure the CXF endpoint in programmatic way. User can configure the CXF server and client by implementing configure\{ServerClient} method of CxfEndpointConfigurer. | null | MEDIUM
+| *camel.source.endpoint.cxfConfigurer* | This option could apply the implementation of org.apache.camel.component.cxf.CxfEndpointConfigurer which supports to configure the CXF endpoint in programmatic way. User can configure the CXF server and client by implementing configure\{ServerClient\} method of CxfEndpointConfigurer. | null | MEDIUM
 | *camel.source.endpoint.defaultBus* | Will set the default bus when CXF endpoint create a bus by itself | false | MEDIUM
 | *camel.source.endpoint.headerFilterStrategy* | To use a custom HeaderFilterStrategy to filter header to and from Camel message. | null | MEDIUM
 | *camel.source.endpoint.mergeProtocolHeaders* | Whether to merge protocol headers. If enabled then propagating headers between Camel and CXF becomes more consistent and similar. For more details see CAMEL-6393. | false | MEDIUM
diff --git a/docs/modules/ROOT/pages/connectors/camel-file-kafka-sink-connector.adoc b/docs/modules/ROOT/pages/connectors/camel-file-kafka-sink-connector.adoc
index 98ba983..02a8e7c 100644
--- a/docs/modules/ROOT/pages/connectors/camel-file-kafka-sink-connector.adoc
+++ b/docs/modules/ROOT/pages/connectors/camel-file-kafka-sink-connector.adoc
@@ -31,8 +31,8 @@ The camel-file sink connector supports 27 options, which are listed below.
 | Name | Description | Default | Priority
 | *camel.sink.path.directoryName* | The starting directory | null | HIGH
 | *camel.sink.endpoint.charset* | This option is used to specify the encoding of the file. You can use this on the consumer, to specify the encodings of the files, which allow Camel to know the charset it should load the file content in case the file content is being accessed. Likewise when writing a file, you can use this option to specify which charset to write the file as well. Do mind that when writing the file Camel may have to read the message content into memory to be able to conv [...]
-| *camel.sink.endpoint.doneFileName* | 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 dynamic placeholders. The done file will always be written in the same folder as the original file. Consumer: If provided, Camel will only consume files if a done file exists. This option configures what file name to use. Ei [...]
-| *camel.sink.endpoint.fileName* | 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 CamelFileName header. (Note: The header itself can also be an Expression). The expression options support both String and Expression types. If the expression is a String type, it is always evaluated using the File Language. If  [...]
+| *camel.sink.endpoint.doneFileName* | 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 dynamic placeholders. The done file will always be written in the same folder as the original file. Consumer: If provided, Camel will only consume files if a done file exists. This option configures what file name to use. Ei [...]
+| *camel.sink.endpoint.fileName* | 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 CamelFileName header. (Note: The header itself can also be an Expression). The expression options support both String and Expression types. If the expression is a String type, it is always evaluated using the File Language. If  [...]
 | *camel.sink.endpoint.appendChars* | Used to append characters (text) after writing files. This can for example be used to add new lines or other separators when writing and appending to existing files. To specify new-line (slash-n or slash-r) or tab (slash-t) characters then escape with an extra slash, eg slash-slash-n. | null | MEDIUM
 | *camel.sink.endpoint.fileExist* | What to do if a file already exists with the same name. Override, which is the default, replaces the existing file. - Append - adds content to the existing file. - Fail - throws a GenericFileOperationException, indicating that there is already an existing file. - Ignore - silently ignores the problem and does not override the existing file, but assumes everything is okay. - Move - option requires to use the moveExisting option to be configured as well. [...]
 | *camel.sink.endpoint.flatten* | 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 they will be written in a single directory. Setting this to true on the producer enforces that any file name in CamelFileName header will be stripped for any leading paths. | false | MEDIUM
@@ -46,7 +46,7 @@ The camel-file sink connector supports 27 options, which are listed below.
 | *camel.sink.endpoint.chmodDirectory* | Specify the directory permissions used when the producer creates missing directories, the chmod value must be between 000 and 777; If there is a leading digit like in 0755 we will ignore it. | null | MEDIUM
 | *camel.sink.endpoint.eagerDeleteTargetFile* | 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 this to disable (set it to false) deleting the target file before the temp file is written. For example you may write big files and want the target file to exists during the temp file is being written. This ensure the target file is only deleted until the very last moment, just [...]
 | *camel.sink.endpoint.forceWrites* | Whether to force syncing writes to the file system. You can turn this off if you do not want this level of guarantee, for example if writing to logs / audit logs etc; this would yield better performance. | true | MEDIUM
-| *camel.sink.endpoint.keepLastModified* | Will keep the last modified timestamp from the source file (if any). Will use the Exchange.FILE_LAST_MODIFIED header to located the timestamp. This header can contain either a java.util.Date or long with the timestamp. If the timestamp exists and the option is enabled it will set this timestamp on the written file. Note: This option only applies to the file producer. You cannot use this option with any of the ftp producers. | false | MEDIUM
+| *camel.sink.endpoint.keepLastModified* | Will keep the last modified timestamp from the source file (if any). Will use the Exchange.FILE_LAST_MODIFIED header to located the timestamp. This header can contain either a java.util.Date or long with the timestamp. If the timestamp exists and the option is enabled it will set this timestamp on the written file. Note: This option only applies to the file producer. You cannot use this option with any of the \ftp producers. | false | MEDIUM
 | *camel.sink.endpoint.moveExistingFileStrategy* | Strategy (Custom Strategy) used to move file with special naming token to use when fileExist=Move is configured. By default, there is an implementation used if no custom strategy is provided | null | MEDIUM
 | *camel.sink.endpoint.autoCreate* | 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. | true | MEDIUM
 | *camel.sink.endpoint.basicPropertyBinding* | Whether the endpoint should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | MEDIUM
diff --git a/docs/modules/ROOT/pages/connectors/camel-file-kafka-source-connector.adoc b/docs/modules/ROOT/pages/connectors/camel-file-kafka-source-connector.adoc
index c1de81b..3f72edf 100644
--- a/docs/modules/ROOT/pages/connectors/camel-file-kafka-source-connector.adoc
+++ b/docs/modules/ROOT/pages/connectors/camel-file-kafka-source-connector.adoc
@@ -31,8 +31,8 @@ The camel-file source connector supports 80 options, which are listed below.
 | Name | Description | Default | Priority
 | *camel.source.path.directoryName* | The starting directory | null | HIGH
 | *camel.source.endpoint.charset* | This option is used to specify the encoding of the file. You can use this on the consumer, to specify the encodings of the files, which allow Camel to know the charset it should load the file content in case the file content is being accessed. Likewise when writing a file, you can use this option to specify which charset to write the file as well. Do mind that when writing the file Camel may have to read the message content into memory to be able to co [...]
-| *camel.source.endpoint.doneFileName* | 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 dynamic placeholders. The done file will always be written in the same folder as the original file. Consumer: If provided, Camel will only consume files if a done file exists. This option configures what file name to use.  [...]
-| *camel.source.endpoint.fileName* | 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 CamelFileName header. (Note: The header itself can also be an Expression). The expression options support both String and Expression types. If the expression is a String type, it is always evaluated using the File Language. I [...]
+| *camel.source.endpoint.doneFileName* | 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 dynamic placeholders. The done file will always be written in the same folder as the original file. Consumer: If provided, Camel will only consume files if a done file exists. This option configures what file name to use.  [...]
+| *camel.source.endpoint.fileName* | 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 CamelFileName header. (Note: The header itself can also be an Expression). The expression options support both String and Expression types. If the expression is a String type, it is always evaluated using the File Language. I [...]
 | *camel.source.endpoint.bridgeErrorHandler* | 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. | false | MEDIUM
 | *camel.source.endpoint.delete* | If true, the file will be deleted after it is processed successfully. | false | MEDIUM
 | *camel.source.endpoint.moveFailed* | 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 the file again. | null | MEDIUM
@@ -65,10 +65,10 @@ The camel-file source connector supports 80 options, which are listed below.
 | *camel.source.endpoint.eagerMaxMessagesPerPoll* | 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, and then perform sorting. Setting this option to false allows for sorting all files first, and then limit the poll. Mind that this requires a higher memory usage as all file details are in memory to perform the sorting. | true | MEDIUM
 | *camel.source.endpoint.exclude* | Is used to exclude files, if filename matches the regex pattern (matching is case in-senstive). Notice if you use symbols such as plus sign and others you would need to configure this using the RAW() syntax if configuring this as an endpoint uri. See more details at configuring endpoint uris | null | MEDIUM
 | *camel.source.endpoint.filter* | Pluggable filter as a org.apache.camel.component.file.GenericFileFilter class. Will skip files if filter returns false in its accept() method. | null | MEDIUM
-| *camel.source.endpoint.filterDirectory* | 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} | null | MEDIUM
-| *camel.source.endpoint.filterFile* | Filters the file based on Simple language. For example to filter on file size, you can use ${file:size} 5000 | null | MEDIUM
+| *camel.source.endpoint.filterDirectory* | 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} | null | MEDIUM
+| *camel.source.endpoint.filterFile* | Filters the file based on Simple language. For example to filter on file size, you can use \${file:size} 5000 | null | MEDIUM
 | *camel.source.endpoint.idempotent* | 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 will be enabled as well to avoid consuming the same files over and over again. | "false" | MEDIUM
-| *camel.source.endpoint.idempotentKey* | 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} | null | MEDIUM
+| *camel.source.endpoint.idempotentKey* | 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} | null | MEDIUM
 | *camel.source.endpoint.idempotentRepository* | A pluggable repository org.apache.camel.spi.IdempotentRepository which by default use MemoryMessageIdRepository if none is specified and idempotent is true. | null | MEDIUM
 | *camel.source.endpoint.include* | 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 this as an endpoint uri. See more details at configuring endpoint uris | null | MEDIUM
 | *camel.source.endpoint.maxDepth* | The maximum depth to traverse when recursively processing a directory. | 2147483647 | MEDIUM
diff --git a/docs/modules/ROOT/pages/connectors/camel-ftp-kafka-sink-connector.adoc b/docs/modules/ROOT/pages/connectors/camel-ftp-kafka-sink-connector.adoc
index a7b587b..062d5b1 100644
--- a/docs/modules/ROOT/pages/connectors/camel-ftp-kafka-sink-connector.adoc
+++ b/docs/modules/ROOT/pages/connectors/camel-ftp-kafka-sink-connector.adoc
@@ -35,14 +35,14 @@ The camel-ftp sink connector supports 50 options, which are listed below.
 | *camel.sink.endpoint.binary* | Specifies the file transfer mode, BINARY or ASCII. Default is ASCII (false). | false | MEDIUM
 | *camel.sink.endpoint.charset* | This option is used to specify the encoding of the file. You can use this on the consumer, to specify the encodings of the files, which allow Camel to know the charset it should load the file content in case the file content is being accessed. Likewise when writing a file, you can use this option to specify which charset to write the file as well. Do mind that when writing the file Camel may have to read the message content into memory to be able to conv [...]
 | *camel.sink.endpoint.disconnect* | 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 the consumer/route instead. | false | MEDIUM
-| *camel.sink.endpoint.doneFileName* | 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 dynamic placeholders. The done file will always be written in the same folder as the original file. Consumer: If provided, Camel will only consume files if a done file exists. This option configures what file name to use. Ei [...]
-| *camel.sink.endpoint.fileName* | 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 CamelFileName header. (Note: The header itself can also be an Expression). The expression options support both String and Expression types. If the expression is a String type, it is always evaluated using the File Language. If  [...]
+| *camel.sink.endpoint.doneFileName* | 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 dynamic placeholders. The done file will always be written in the same folder as the original file. Consumer: If provided, Camel will only consume files if a done file exists. This option configures what file name to use. Ei [...]
+| *camel.sink.endpoint.fileName* | 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 CamelFileName header. (Note: The header itself can also be an Expression). The expression options support both String and Expression types. If the expression is a String type, it is always evaluated using the File Language. If  [...]
 | *camel.sink.endpoint.passiveMode* | Sets passive mode connections. Default is active mode connections. | false | MEDIUM
 | *camel.sink.endpoint.separator* | Sets the path separator to be used. UNIX = Uses unix style path separator Windows = Uses windows style path separator Auto = (is default) Use existing path separator in file name One of: [UNIX] [Windows] [Auto] | "UNIX" | MEDIUM
 | *camel.sink.endpoint.transferLoggingIntervalSeconds* | Configures the interval in seconds to use when logging the progress of upload and download operations that are in-flight. This is used for logging progress when operations takes longer time. | 5 | MEDIUM
 | *camel.sink.endpoint.transferLoggingLevel* | Configure the logging level to use when logging the progress of upload and download operations. One of: [TRACE] [DEBUG] [INFO] [WARN] [ERROR] [OFF] | "DEBUG" | MEDIUM
 | *camel.sink.endpoint.transferLoggingVerbose* | Configures whether the perform verbose (fine grained) logging of the progress of upload and download operations. | false | MEDIUM
-| *camel.sink.endpoint.fastExistsCheck* | If set this option to be true, camel-ftp will use the list file directly to check if the file exists. Since some FTP server may not support to list the file directly, if the option is false, camel-ftp will use the old way to list the directory and check if the file exists. This option also influences readLock=changed to control whether it performs a fast check to update file information or not. This can be used to speed up the process if the FTP  [...]
+| *camel.sink.endpoint.fastExistsCheck* | If set this option to be true, camel-\ftp will use the list file directly to check if the file exists. Since some FTP server may not support to list the file directly, if the option is false, camel-\ftp will use the old way to list the directory and check if the file exists. This option also influences readLock=changed to control whether it performs a fast check to update file information or not. This can be used to speed up the process if the FT [...]
 | *camel.sink.endpoint.fileExist* | What to do if a file already exists with the same name. Override, which is the default, replaces the existing file. - Append - adds content to the existing file. - Fail - throws a GenericFileOperationException, indicating that there is already an existing file. - Ignore - silently ignores the problem and does not override the existing file, but assumes everything is okay. - Move - option requires to use the moveExisting option to be configured as well. [...]
 | *camel.sink.endpoint.flatten* | 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 they will be written in a single directory. Setting this to true on the producer enforces that any file name in CamelFileName header will be stripped for any leading paths. | false | MEDIUM
 | *camel.sink.endpoint.jailStartingDirectory* | 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 secured out of the box). You can turn this off to allow writing files to directories outside the starting directory, such as parent or root folders. | true | MEDIUM
@@ -54,7 +54,7 @@ The camel-ftp sink connector supports 50 options, which are listed below.
 | *camel.sink.endpoint.chmod* | Allows you to set chmod on the stored file. For example chmod=640. | null | MEDIUM
 | *camel.sink.endpoint.disconnectOnBatchComplete* | Whether or not to disconnect from remote FTP server right after a Batch upload is complete. disconnectOnBatchComplete will only disconnect the current connection to the FTP server. | false | MEDIUM
 | *camel.sink.endpoint.eagerDeleteTargetFile* | 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 this to disable (set it to false) deleting the target file before the temp file is written. For example you may write big files and want the target file to exists during the temp file is being written. This ensure the target file is only deleted until the very last moment, just [...]
-| *camel.sink.endpoint.keepLastModified* | Will keep the last modified timestamp from the source file (if any). Will use the Exchange.FILE_LAST_MODIFIED header to located the timestamp. This header can contain either a java.util.Date or long with the timestamp. If the timestamp exists and the option is enabled it will set this timestamp on the written file. Note: This option only applies to the file producer. You cannot use this option with any of the ftp producers. | false | MEDIUM
+| *camel.sink.endpoint.keepLastModified* | Will keep the last modified timestamp from the source file (if any). Will use the Exchange.FILE_LAST_MODIFIED header to located the timestamp. This header can contain either a java.util.Date or long with the timestamp. If the timestamp exists and the option is enabled it will set this timestamp on the written file. Note: This option only applies to the file producer. You cannot use this option with any of the \ftp producers. | false | MEDIUM
 | *camel.sink.endpoint.moveExistingFileStrategy* | Strategy (Custom Strategy) used to move file with special naming token to use when fileExist=Move is configured. By default, there is an implementation used if no custom strategy is provided | null | MEDIUM
 | *camel.sink.endpoint.sendNoop* | Whether to send a noop command as a pre-write check before uploading files to the FTP server. This is enabled by default as a validation of the connection is still valid, which allows to silently re-connect to be able to upload the file. However if this causes problems, you can turn this option off. | true | MEDIUM
 | *camel.sink.endpoint.activePortRange* | Set the client side port range in active mode. The syntax is: minPort-maxPort Both port numbers are inclusive, eg 10000-19999 to include all 1xxxx ports. | null | MEDIUM
diff --git a/docs/modules/ROOT/pages/connectors/camel-ftp-kafka-source-connector.adoc b/docs/modules/ROOT/pages/connectors/camel-ftp-kafka-source-connector.adoc
index cdb12d0..8dc6839 100644
--- a/docs/modules/ROOT/pages/connectors/camel-ftp-kafka-source-connector.adoc
+++ b/docs/modules/ROOT/pages/connectors/camel-ftp-kafka-source-connector.adoc
@@ -35,14 +35,14 @@ The camel-ftp source connector supports 101 options, which are listed below.
 | *camel.source.endpoint.binary* | Specifies the file transfer mode, BINARY or ASCII. Default is ASCII (false). | false | MEDIUM
 | *camel.source.endpoint.charset* | This option is used to specify the encoding of the file. You can use this on the consumer, to specify the encodings of the files, which allow Camel to know the charset it should load the file content in case the file content is being accessed. Likewise when writing a file, you can use this option to specify which charset to write the file as well. Do mind that when writing the file Camel may have to read the message content into memory to be able to co [...]
 | *camel.source.endpoint.disconnect* | 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 the consumer/route instead. | false | MEDIUM
-| *camel.source.endpoint.doneFileName* | 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 dynamic placeholders. The done file will always be written in the same folder as the original file. Consumer: If provided, Camel will only consume files if a done file exists. This option configures what file name to use.  [...]
-| *camel.source.endpoint.fileName* | 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 CamelFileName header. (Note: The header itself can also be an Expression). The expression options support both String and Expression types. If the expression is a String type, it is always evaluated using the File Language. I [...]
+| *camel.source.endpoint.doneFileName* | 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 dynamic placeholders. The done file will always be written in the same folder as the original file. Consumer: If provided, Camel will only consume files if a done file exists. This option configures what file name to use.  [...]
+| *camel.source.endpoint.fileName* | 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 CamelFileName header. (Note: The header itself can also be an Expression). The expression options support both String and Expression types. If the expression is a String type, it is always evaluated using the File Language. I [...]
 | *camel.source.endpoint.passiveMode* | Sets passive mode connections. Default is active mode connections. | false | MEDIUM
 | *camel.source.endpoint.separator* | Sets the path separator to be used. UNIX = Uses unix style path separator Windows = Uses windows style path separator Auto = (is default) Use existing path separator in file name One of: [UNIX] [Windows] [Auto] | "UNIX" | MEDIUM
 | *camel.source.endpoint.transferLoggingInterval Seconds* | Configures the interval in seconds to use when logging the progress of upload and download operations that are in-flight. This is used for logging progress when operations takes longer time. | 5 | MEDIUM
 | *camel.source.endpoint.transferLoggingLevel* | Configure the logging level to use when logging the progress of upload and download operations. One of: [TRACE] [DEBUG] [INFO] [WARN] [ERROR] [OFF] | "DEBUG" | MEDIUM
 | *camel.source.endpoint.transferLoggingVerbose* | Configures whether the perform verbose (fine grained) logging of the progress of upload and download operations. | false | MEDIUM
-| *camel.source.endpoint.fastExistsCheck* | If set this option to be true, camel-ftp will use the list file directly to check if the file exists. Since some FTP server may not support to list the file directly, if the option is false, camel-ftp will use the old way to list the directory and check if the file exists. This option also influences readLock=changed to control whether it performs a fast check to update file information or not. This can be used to speed up the process if the FT [...]
+| *camel.source.endpoint.fastExistsCheck* | If set this option to be true, camel-\ftp will use the list file directly to check if the file exists. Since some FTP server may not support to list the file directly, if the option is false, camel-\ftp will use the old way to list the directory and check if the file exists. This option also influences readLock=changed to control whether it performs a fast check to update file information or not. This can be used to speed up the process if the  [...]
 | *camel.source.endpoint.bridgeErrorHandler* | 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. | false | MEDIUM
 | *camel.source.endpoint.delete* | If true, the file will be deleted after it is processed successfully. | false | MEDIUM
 | *camel.source.endpoint.moveFailed* | 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 the file again. | null | MEDIUM
@@ -87,10 +87,10 @@ The camel-ftp source connector supports 101 options, which are listed below.
 | *camel.source.endpoint.eagerMaxMessagesPerPoll* | 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, and then perform sorting. Setting this option to false allows for sorting all files first, and then limit the poll. Mind that this requires a higher memory usage as all file details are in memory to perform the sorting. | true | MEDIUM
 | *camel.source.endpoint.exclude* | Is used to exclude files, if filename matches the regex pattern (matching is case in-senstive). Notice if you use symbols such as plus sign and others you would need to configure this using the RAW() syntax if configuring this as an endpoint uri. See more details at configuring endpoint uris | null | MEDIUM
 | *camel.source.endpoint.filter* | Pluggable filter as a org.apache.camel.component.file.GenericFileFilter class. Will skip files if filter returns false in its accept() method. | null | MEDIUM
-| *camel.source.endpoint.filterDirectory* | 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} | null | MEDIUM
-| *camel.source.endpoint.filterFile* | Filters the file based on Simple language. For example to filter on file size, you can use ${file:size} 5000 | null | MEDIUM
+| *camel.source.endpoint.filterDirectory* | 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} | null | MEDIUM
+| *camel.source.endpoint.filterFile* | Filters the file based on Simple language. For example to filter on file size, you can use \${file:size} 5000 | null | MEDIUM
 | *camel.source.endpoint.idempotent* | 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 will be enabled as well to avoid consuming the same files over and over again. | "false" | MEDIUM
-| *camel.source.endpoint.idempotentKey* | 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} | null | MEDIUM
+| *camel.source.endpoint.idempotentKey* | 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} | null | MEDIUM
 | *camel.source.endpoint.idempotentRepository* | A pluggable repository org.apache.camel.spi.IdempotentRepository which by default use MemoryMessageIdRepository if none is specified and idempotent is true. | null | MEDIUM
 | *camel.source.endpoint.include* | 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 this as an endpoint uri. See more details at configuring endpoint uris | null | MEDIUM
 | *camel.source.endpoint.maxDepth* | The maximum depth to traverse when recursively processing a directory. | 2147483647 | MEDIUM
diff --git a/docs/modules/ROOT/pages/connectors/camel-ftps-kafka-sink-connector.adoc b/docs/modules/ROOT/pages/connectors/camel-ftps-kafka-sink-connector.adoc
index 8dce190..ef2c873 100644
--- a/docs/modules/ROOT/pages/connectors/camel-ftps-kafka-sink-connector.adoc
+++ b/docs/modules/ROOT/pages/connectors/camel-ftps-kafka-sink-connector.adoc
@@ -35,14 +35,14 @@ The camel-ftps sink connector supports 59 options, which are listed below.
 | *camel.sink.endpoint.binary* | Specifies the file transfer mode, BINARY or ASCII. Default is ASCII (false). | false | MEDIUM
 | *camel.sink.endpoint.charset* | This option is used to specify the encoding of the file. You can use this on the consumer, to specify the encodings of the files, which allow Camel to know the charset it should load the file content in case the file content is being accessed. Likewise when writing a file, you can use this option to specify which charset to write the file as well. Do mind that when writing the file Camel may have to read the message content into memory to be able to conv [...]
 | *camel.sink.endpoint.disconnect* | 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 the consumer/route instead. | false | MEDIUM
-| *camel.sink.endpoint.doneFileName* | 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 dynamic placeholders. The done file will always be written in the same folder as the original file. Consumer: If provided, Camel will only consume files if a done file exists. This option configures what file name to use. Ei [...]
-| *camel.sink.endpoint.fileName* | 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 CamelFileName header. (Note: The header itself can also be an Expression). The expression options support both String and Expression types. If the expression is a String type, it is always evaluated using the File Language. If  [...]
+| *camel.sink.endpoint.doneFileName* | 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 dynamic placeholders. The done file will always be written in the same folder as the original file. Consumer: If provided, Camel will only consume files if a done file exists. This option configures what file name to use. Ei [...]
+| *camel.sink.endpoint.fileName* | 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 CamelFileName header. (Note: The header itself can also be an Expression). The expression options support both String and Expression types. If the expression is a String type, it is always evaluated using the File Language. If  [...]
 | *camel.sink.endpoint.passiveMode* | Sets passive mode connections. Default is active mode connections. | false | MEDIUM
 | *camel.sink.endpoint.separator* | Sets the path separator to be used. UNIX = Uses unix style path separator Windows = Uses windows style path separator Auto = (is default) Use existing path separator in file name One of: [UNIX] [Windows] [Auto] | "UNIX" | MEDIUM
 | *camel.sink.endpoint.transferLoggingIntervalSeconds* | Configures the interval in seconds to use when logging the progress of upload and download operations that are in-flight. This is used for logging progress when operations takes longer time. | 5 | MEDIUM
 | *camel.sink.endpoint.transferLoggingLevel* | Configure the logging level to use when logging the progress of upload and download operations. One of: [TRACE] [DEBUG] [INFO] [WARN] [ERROR] [OFF] | "DEBUG" | MEDIUM
 | *camel.sink.endpoint.transferLoggingVerbose* | Configures whether the perform verbose (fine grained) logging of the progress of upload and download operations. | false | MEDIUM
-| *camel.sink.endpoint.fastExistsCheck* | If set this option to be true, camel-ftp will use the list file directly to check if the file exists. Since some FTP server may not support to list the file directly, if the option is false, camel-ftp will use the old way to list the directory and check if the file exists. This option also influences readLock=changed to control whether it performs a fast check to update file information or not. This can be used to speed up the process if the FTP  [...]
+| *camel.sink.endpoint.fastExistsCheck* | If set this option to be true, camel-\ftp will use the list file directly to check if the file exists. Since some FTP server may not support to list the file directly, if the option is false, camel-\ftp will use the old way to list the directory and check if the file exists. This option also influences readLock=changed to control whether it performs a fast check to update file information or not. This can be used to speed up the process if the FT [...]
 | *camel.sink.endpoint.fileExist* | What to do if a file already exists with the same name. Override, which is the default, replaces the existing file. - Append - adds content to the existing file. - Fail - throws a GenericFileOperationException, indicating that there is already an existing file. - Ignore - silently ignores the problem and does not override the existing file, but assumes everything is okay. - Move - option requires to use the moveExisting option to be configured as well. [...]
 | *camel.sink.endpoint.flatten* | 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 they will be written in a single directory. Setting this to true on the producer enforces that any file name in CamelFileName header will be stripped for any leading paths. | false | MEDIUM
 | *camel.sink.endpoint.jailStartingDirectory* | 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 secured out of the box). You can turn this off to allow writing files to directories outside the starting directory, such as parent or root folders. | true | MEDIUM
@@ -54,7 +54,7 @@ The camel-ftps sink connector supports 59 options, which are listed below.
 | *camel.sink.endpoint.chmod* | Allows you to set chmod on the stored file. For example chmod=640. | null | MEDIUM
 | *camel.sink.endpoint.disconnectOnBatchComplete* | Whether or not to disconnect from remote FTP server right after a Batch upload is complete. disconnectOnBatchComplete will only disconnect the current connection to the FTP server. | false | MEDIUM
 | *camel.sink.endpoint.eagerDeleteTargetFile* | 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 this to disable (set it to false) deleting the target file before the temp file is written. For example you may write big files and want the target file to exists during the temp file is being written. This ensure the target file is only deleted until the very last moment, just [...]
-| *camel.sink.endpoint.keepLastModified* | Will keep the last modified timestamp from the source file (if any). Will use the Exchange.FILE_LAST_MODIFIED header to located the timestamp. This header can contain either a java.util.Date or long with the timestamp. If the timestamp exists and the option is enabled it will set this timestamp on the written file. Note: This option only applies to the file producer. You cannot use this option with any of the ftp producers. | false | MEDIUM
+| *camel.sink.endpoint.keepLastModified* | Will keep the last modified timestamp from the source file (if any). Will use the Exchange.FILE_LAST_MODIFIED header to located the timestamp. This header can contain either a java.util.Date or long with the timestamp. If the timestamp exists and the option is enabled it will set this timestamp on the written file. Note: This option only applies to the file producer. You cannot use this option with any of the \ftp producers. | false | MEDIUM
 | *camel.sink.endpoint.moveExistingFileStrategy* | Strategy (Custom Strategy) used to move file with special naming token to use when fileExist=Move is configured. By default, there is an implementation used if no custom strategy is provided | null | MEDIUM
 | *camel.sink.endpoint.sendNoop* | Whether to send a noop command as a pre-write check before uploading files to the FTP server. This is enabled by default as a validation of the connection is still valid, which allows to silently re-connect to be able to upload the file. However if this causes problems, you can turn this option off. | true | MEDIUM
 | *camel.sink.endpoint.activePortRange* | Set the client side port range in active mode. The syntax is: minPort-maxPort Both port numbers are inclusive, eg 10000-19999 to include all 1xxxx ports. | null | MEDIUM
@@ -83,7 +83,7 @@ The camel-ftps sink connector supports 59 options, which are listed below.
 | *camel.sink.endpoint.implicit* | Set the security mode (Implicit/Explicit). true - Implicit Mode / False - Explicit Mode | false | MEDIUM
 | *camel.sink.endpoint.password* | Password to use for login | null | MEDIUM
 | *camel.sink.endpoint.securityProtocol* | Set the underlying security protocol. | "TLSv1.2" | MEDIUM
-| *camel.sink.endpoint.sslContextParameters* | Gets the JSSE configuration that overrides any settings in FtpsEndpoint#ftpClientKeyStoreParameters, ftpClientTrustStoreParameters, and FtpsConfiguration#getSecurityProtocol(). | null | MEDIUM
+| *camel.sink.endpoint.sslContextParameters* | Gets the JSSE configuration that overrides any settings in FtpsEndpoint#\ftpClientKeyStoreParameters, \ftpClientTrustStoreParameters, and FtpsConfiguration#getSecurityProtocol(). | null | MEDIUM
 | *camel.sink.endpoint.username* | Username to use for login | null | MEDIUM
 | *camel.component.ftps.lazyStartProducer* | 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 cr [...]
 | *camel.component.ftps.basicPropertyBinding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | MEDIUM
diff --git a/docs/modules/ROOT/pages/connectors/camel-ftps-kafka-source-connector.adoc b/docs/modules/ROOT/pages/connectors/camel-ftps-kafka-source-connector.adoc
index 3387a3e..e287813 100644
--- a/docs/modules/ROOT/pages/connectors/camel-ftps-kafka-source-connector.adoc
+++ b/docs/modules/ROOT/pages/connectors/camel-ftps-kafka-source-connector.adoc
@@ -35,14 +35,14 @@ The camel-ftps source connector supports 110 options, which are listed below.
 | *camel.source.endpoint.binary* | Specifies the file transfer mode, BINARY or ASCII. Default is ASCII (false). | false | MEDIUM
 | *camel.source.endpoint.charset* | This option is used to specify the encoding of the file. You can use this on the consumer, to specify the encodings of the files, which allow Camel to know the charset it should load the file content in case the file content is being accessed. Likewise when writing a file, you can use this option to specify which charset to write the file as well. Do mind that when writing the file Camel may have to read the message content into memory to be able to co [...]
 | *camel.source.endpoint.disconnect* | 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 the consumer/route instead. | false | MEDIUM
-| *camel.source.endpoint.doneFileName* | 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 dynamic placeholders. The done file will always be written in the same folder as the original file. Consumer: If provided, Camel will only consume files if a done file exists. This option configures what file name to use.  [...]
-| *camel.source.endpoint.fileName* | 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 CamelFileName header. (Note: The header itself can also be an Expression). The expression options support both String and Expression types. If the expression is a String type, it is always evaluated using the File Language. I [...]
+| *camel.source.endpoint.doneFileName* | 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 dynamic placeholders. The done file will always be written in the same folder as the original file. Consumer: If provided, Camel will only consume files if a done file exists. This option configures what file name to use.  [...]
+| *camel.source.endpoint.fileName* | 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 CamelFileName header. (Note: The header itself can also be an Expression). The expression options support both String and Expression types. If the expression is a String type, it is always evaluated using the File Language. I [...]
 | *camel.source.endpoint.passiveMode* | Sets passive mode connections. Default is active mode connections. | false | MEDIUM
 | *camel.source.endpoint.separator* | Sets the path separator to be used. UNIX = Uses unix style path separator Windows = Uses windows style path separator Auto = (is default) Use existing path separator in file name One of: [UNIX] [Windows] [Auto] | "UNIX" | MEDIUM
 | *camel.source.endpoint.transferLoggingInterval Seconds* | Configures the interval in seconds to use when logging the progress of upload and download operations that are in-flight. This is used for logging progress when operations takes longer time. | 5 | MEDIUM
 | *camel.source.endpoint.transferLoggingLevel* | Configure the logging level to use when logging the progress of upload and download operations. One of: [TRACE] [DEBUG] [INFO] [WARN] [ERROR] [OFF] | "DEBUG" | MEDIUM
 | *camel.source.endpoint.transferLoggingVerbose* | Configures whether the perform verbose (fine grained) logging of the progress of upload and download operations. | false | MEDIUM
-| *camel.source.endpoint.fastExistsCheck* | If set this option to be true, camel-ftp will use the list file directly to check if the file exists. Since some FTP server may not support to list the file directly, if the option is false, camel-ftp will use the old way to list the directory and check if the file exists. This option also influences readLock=changed to control whether it performs a fast check to update file information or not. This can be used to speed up the process if the FT [...]
+| *camel.source.endpoint.fastExistsCheck* | If set this option to be true, camel-\ftp will use the list file directly to check if the file exists. Since some FTP server may not support to list the file directly, if the option is false, camel-\ftp will use the old way to list the directory and check if the file exists. This option also influences readLock=changed to control whether it performs a fast check to update file information or not. This can be used to speed up the process if the  [...]
 | *camel.source.endpoint.bridgeErrorHandler* | 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. | false | MEDIUM
 | *camel.source.endpoint.delete* | If true, the file will be deleted after it is processed successfully. | false | MEDIUM
 | *camel.source.endpoint.moveFailed* | 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 the file again. | null | MEDIUM
@@ -87,10 +87,10 @@ The camel-ftps source connector supports 110 options, which are listed below.
 | *camel.source.endpoint.eagerMaxMessagesPerPoll* | 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, and then perform sorting. Setting this option to false allows for sorting all files first, and then limit the poll. Mind that this requires a higher memory usage as all file details are in memory to perform the sorting. | true | MEDIUM
 | *camel.source.endpoint.exclude* | Is used to exclude files, if filename matches the regex pattern (matching is case in-senstive). Notice if you use symbols such as plus sign and others you would need to configure this using the RAW() syntax if configuring this as an endpoint uri. See more details at configuring endpoint uris | null | MEDIUM
 | *camel.source.endpoint.filter* | Pluggable filter as a org.apache.camel.component.file.GenericFileFilter class. Will skip files if filter returns false in its accept() method. | null | MEDIUM
-| *camel.source.endpoint.filterDirectory* | 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} | null | MEDIUM
-| *camel.source.endpoint.filterFile* | Filters the file based on Simple language. For example to filter on file size, you can use ${file:size} 5000 | null | MEDIUM
+| *camel.source.endpoint.filterDirectory* | 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} | null | MEDIUM
+| *camel.source.endpoint.filterFile* | Filters the file based on Simple language. For example to filter on file size, you can use \${file:size} 5000 | null | MEDIUM
 | *camel.source.endpoint.idempotent* | 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 will be enabled as well to avoid consuming the same files over and over again. | "false" | MEDIUM
-| *camel.source.endpoint.idempotentKey* | 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} | null | MEDIUM
+| *camel.source.endpoint.idempotentKey* | 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} | null | MEDIUM
 | *camel.source.endpoint.idempotentRepository* | A pluggable repository org.apache.camel.spi.IdempotentRepository which by default use MemoryMessageIdRepository if none is specified and idempotent is true. | null | MEDIUM
 | *camel.source.endpoint.include* | 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 this as an endpoint uri. See more details at configuring endpoint uris | null | MEDIUM
 | *camel.source.endpoint.maxDepth* | The maximum depth to traverse when recursively processing a directory. | 2147483647 | MEDIUM
@@ -131,7 +131,7 @@ The camel-ftps source connector supports 110 options, which are listed below.
 | *camel.source.endpoint.implicit* | Set the security mode (Implicit/Explicit). true - Implicit Mode / False - Explicit Mode | false | MEDIUM
 | *camel.source.endpoint.password* | Password to use for login | null | MEDIUM
 | *camel.source.endpoint.securityProtocol* | Set the underlying security protocol. | "TLSv1.2" | MEDIUM
-| *camel.source.endpoint.sslContextParameters* | Gets the JSSE configuration that overrides any settings in FtpsEndpoint#ftpClientKeyStoreParameters, ftpClientTrustStoreParameters, and FtpsConfiguration#getSecurityProtocol(). | null | MEDIUM
+| *camel.source.endpoint.sslContextParameters* | Gets the JSSE configuration that overrides any settings in FtpsEndpoint#\ftpClientKeyStoreParameters, \ftpClientTrustStoreParameters, and FtpsConfiguration#getSecurityProtocol(). | null | MEDIUM
 | *camel.source.endpoint.username* | Username to use for login | null | MEDIUM
 | *camel.source.endpoint.shuffle* | To shuffle the list of files (sort in random order) | false | MEDIUM
 | *camel.source.endpoint.sortBy* | 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. | null | MEDIUM
diff --git a/docs/modules/ROOT/pages/connectors/camel-scp-kafka-sink-connector.adoc b/docs/modules/ROOT/pages/connectors/camel-scp-kafka-sink-connector.adoc
index 90012ea..6fc027b 100644
--- a/docs/modules/ROOT/pages/connectors/camel-scp-kafka-sink-connector.adoc
+++ b/docs/modules/ROOT/pages/connectors/camel-scp-kafka-sink-connector.adoc
@@ -34,7 +34,7 @@ The camel-scp sink connector supports 30 options, which are listed below.
 | *camel.sink.path.directoryName* | The starting directory | null | MEDIUM
 | *camel.sink.endpoint.chmod* | Allows you to set chmod on the stored file. For example chmod=664. | "664" | MEDIUM
 | *camel.sink.endpoint.disconnect* | 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 the consumer/route instead. | false | MEDIUM
-| *camel.sink.endpoint.fileName* | 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 CamelFileName header. (Note: The header itself can also be an Expression). The expression options support both String and Expression types. If the expression is a String type, it is always evaluated using the File Language. If  [...]
+| *camel.sink.endpoint.fileName* | 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 CamelFileName header. (Note: The header itself can also be an Expression). The expression options support both String and Expression types. If the expression is a String type, it is always evaluated using the File Language. If  [...]
 | *camel.sink.endpoint.flatten* | 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 they will be written in a single directory. Setting this to true on the producer enforces that any file name in CamelFileName header will be stripped for any leading paths. | false | MEDIUM
 | *camel.sink.endpoint.jailStartingDirectory* | 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 secured out of the box). You can turn this off to allow writing files to directories outside the starting directory, such as parent or root folders. | true | MEDIUM
 | *camel.sink.endpoint.lazyStartProducer* | 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 cre [...]
diff --git a/docs/modules/ROOT/pages/connectors/camel-sftp-kafka-sink-connector.adoc b/docs/modules/ROOT/pages/connectors/camel-sftp-kafka-sink-connector.adoc
index 5b67c3a..507e3c8 100644
--- a/docs/modules/ROOT/pages/connectors/camel-sftp-kafka-sink-connector.adoc
+++ b/docs/modules/ROOT/pages/connectors/camel-sftp-kafka-sink-connector.adoc
@@ -35,12 +35,12 @@ The camel-sftp sink connector supports 59 options, which are listed below.
 | *camel.sink.endpoint.binary* | Specifies the file transfer mode, BINARY or ASCII. Default is ASCII (false). | false | MEDIUM
 | *camel.sink.endpoint.charset* | This option is used to specify the encoding of the file. You can use this on the consumer, to specify the encodings of the files, which allow Camel to know the charset it should load the file content in case the file content is being accessed. Likewise when writing a file, you can use this option to specify which charset to write the file as well. Do mind that when writing the file Camel may have to read the message content into memory to be able to conv [...]
 | *camel.sink.endpoint.disconnect* | 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 the consumer/route instead. | false | MEDIUM
-| *camel.sink.endpoint.doneFileName* | 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 dynamic placeholders. The done file will always be written in the same folder as the original file. Consumer: If provided, Camel will only consume files if a done file exists. This option configures what file name to use. Ei [...]
-| *camel.sink.endpoint.fileName* | 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 CamelFileName header. (Note: The header itself can also be an Expression). The expression options support both String and Expression types. If the expression is a String type, it is always evaluated using the File Language. If  [...]
+| *camel.sink.endpoint.doneFileName* | 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 dynamic placeholders. The done file will always be written in the same folder as the original file. Consumer: If provided, Camel will only consume files if a done file exists. This option configures what file name to use. Ei [...]
+| *camel.sink.endpoint.fileName* | 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 CamelFileName header. (Note: The header itself can also be an Expression). The expression options support both String and Expression types. If the expression is a String type, it is always evaluated using the File Language. If  [...]
 | *camel.sink.endpoint.jschLoggingLevel* | The logging level to use for JSCH activity logging. As JSCH is verbose at by default at INFO level the threshold is WARN by default. One of: [TRACE] [DEBUG] [INFO] [WARN] [ERROR] [OFF] | "WARN" | MEDIUM
 | *camel.sink.endpoint.passiveMode* | Sets passive mode connections. Default is active mode connections. | false | MEDIUM
 | *camel.sink.endpoint.separator* | Sets the path separator to be used. UNIX = Uses unix style path separator Windows = Uses windows style path separator Auto = (is default) Use existing path separator in file name One of: [UNIX] [Windows] [Auto] | "UNIX" | MEDIUM
-| *camel.sink.endpoint.fastExistsCheck* | If set this option to be true, camel-ftp will use the list file directly to check if the file exists. Since some FTP server may not support to list the file directly, if the option is false, camel-ftp will use the old way to list the directory and check if the file exists. This option also influences readLock=changed to control whether it performs a fast check to update file information or not. This can be used to speed up the process if the FTP  [...]
+| *camel.sink.endpoint.fastExistsCheck* | If set this option to be true, camel-\ftp will use the list file directly to check if the file exists. Since some FTP server may not support to list the file directly, if the option is false, camel-\ftp will use the old way to list the directory and check if the file exists. This option also influences readLock=changed to control whether it performs a fast check to update file information or not. This can be used to speed up the process if the FT [...]
 | *camel.sink.endpoint.fileExist* | What to do if a file already exists with the same name. Override, which is the default, replaces the existing file. - Append - adds content to the existing file. - Fail - throws a GenericFileOperationException, indicating that there is already an existing file. - Ignore - silently ignores the problem and does not override the existing file, but assumes everything is okay. - Move - option requires to use the moveExisting option to be configured as well. [...]
 | *camel.sink.endpoint.flatten* | 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 they will be written in a single directory. Setting this to true on the producer enforces that any file name in CamelFileName header will be stripped for any leading paths. | false | MEDIUM
 | *camel.sink.endpoint.jailStartingDirectory* | 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 secured out of the box). You can turn this off to allow writing files to directories outside the starting directory, such as parent or root folders. | true | MEDIUM
@@ -52,7 +52,7 @@ The camel-sftp sink connector supports 59 options, which are listed below.
 | *camel.sink.endpoint.chmod* | Allows you to set chmod on the stored file. For example chmod=640. | null | MEDIUM
 | *camel.sink.endpoint.disconnectOnBatchComplete* | Whether or not to disconnect from remote FTP server right after a Batch upload is complete. disconnectOnBatchComplete will only disconnect the current connection to the FTP server. | false | MEDIUM
 | *camel.sink.endpoint.eagerDeleteTargetFile* | 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 this to disable (set it to false) deleting the target file before the temp file is written. For example you may write big files and want the target file to exists during the temp file is being written. This ensure the target file is only deleted until the very last moment, just [...]
-| *camel.sink.endpoint.keepLastModified* | Will keep the last modified timestamp from the source file (if any). Will use the Exchange.FILE_LAST_MODIFIED header to located the timestamp. This header can contain either a java.util.Date or long with the timestamp. If the timestamp exists and the option is enabled it will set this timestamp on the written file. Note: This option only applies to the file producer. You cannot use this option with any of the ftp producers. | false | MEDIUM
+| *camel.sink.endpoint.keepLastModified* | Will keep the last modified timestamp from the source file (if any). Will use the Exchange.FILE_LAST_MODIFIED header to located the timestamp. This header can contain either a java.util.Date or long with the timestamp. If the timestamp exists and the option is enabled it will set this timestamp on the written file. Note: This option only applies to the file producer. You cannot use this option with any of the \ftp producers. | false | MEDIUM
 | *camel.sink.endpoint.moveExistingFileStrategy* | Strategy (Custom Strategy) used to move file with special naming token to use when fileExist=Move is configured. By default, there is an implementation used if no custom strategy is provided | null | MEDIUM
 | *camel.sink.endpoint.sendNoop* | Whether to send a noop command as a pre-write check before uploading files to the FTP server. This is enabled by default as a validation of the connection is still valid, which allows to silently re-connect to be able to upload the file. However if this causes problems, you can turn this option off. | true | MEDIUM
 | *camel.sink.endpoint.autoCreate* | 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. | true | MEDIUM
diff --git a/docs/modules/ROOT/pages/connectors/camel-sftp-kafka-source-connector.adoc b/docs/modules/ROOT/pages/connectors/camel-sftp-kafka-source-connector.adoc
index e182ca1..d02ec66 100644
--- a/docs/modules/ROOT/pages/connectors/camel-sftp-kafka-source-connector.adoc
+++ b/docs/modules/ROOT/pages/connectors/camel-sftp-kafka-source-connector.adoc
@@ -35,12 +35,12 @@ The camel-sftp source connector supports 112 options, which are listed below.
 | *camel.source.endpoint.binary* | Specifies the file transfer mode, BINARY or ASCII. Default is ASCII (false). | false | MEDIUM
 | *camel.source.endpoint.charset* | This option is used to specify the encoding of the file. You can use this on the consumer, to specify the encodings of the files, which allow Camel to know the charset it should load the file content in case the file content is being accessed. Likewise when writing a file, you can use this option to specify which charset to write the file as well. Do mind that when writing the file Camel may have to read the message content into memory to be able to co [...]
 | *camel.source.endpoint.disconnect* | 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 the consumer/route instead. | false | MEDIUM
-| *camel.source.endpoint.doneFileName* | 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 dynamic placeholders. The done file will always be written in the same folder as the original file. Consumer: If provided, Camel will only consume files if a done file exists. This option configures what file name to use.  [...]
-| *camel.source.endpoint.fileName* | 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 CamelFileName header. (Note: The header itself can also be an Expression). The expression options support both String and Expression types. If the expression is a String type, it is always evaluated using the File Language. I [...]
+| *camel.source.endpoint.doneFileName* | 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 dynamic placeholders. The done file will always be written in the same folder as the original file. Consumer: If provided, Camel will only consume files if a done file exists. This option configures what file name to use.  [...]
+| *camel.source.endpoint.fileName* | 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 CamelFileName header. (Note: The header itself can also be an Expression). The expression options support both String and Expression types. If the expression is a String type, it is always evaluated using the File Language. I [...]
 | *camel.source.endpoint.jschLoggingLevel* | The logging level to use for JSCH activity logging. As JSCH is verbose at by default at INFO level the threshold is WARN by default. One of: [TRACE] [DEBUG] [INFO] [WARN] [ERROR] [OFF] | "WARN" | MEDIUM
 | *camel.source.endpoint.passiveMode* | Sets passive mode connections. Default is active mode connections. | false | MEDIUM
 | *camel.source.endpoint.separator* | Sets the path separator to be used. UNIX = Uses unix style path separator Windows = Uses windows style path separator Auto = (is default) Use existing path separator in file name One of: [UNIX] [Windows] [Auto] | "UNIX" | MEDIUM
-| *camel.source.endpoint.fastExistsCheck* | If set this option to be true, camel-ftp will use the list file directly to check if the file exists. Since some FTP server may not support to list the file directly, if the option is false, camel-ftp will use the old way to list the directory and check if the file exists. This option also influences readLock=changed to control whether it performs a fast check to update file information or not. This can be used to speed up the process if the FT [...]
+| *camel.source.endpoint.fastExistsCheck* | If set this option to be true, camel-\ftp will use the list file directly to check if the file exists. Since some FTP server may not support to list the file directly, if the option is false, camel-\ftp will use the old way to list the directory and check if the file exists. This option also influences readLock=changed to control whether it performs a fast check to update file information or not. This can be used to speed up the process if the  [...]
 | *camel.source.endpoint.bridgeErrorHandler* | 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. | false | MEDIUM
 | *camel.source.endpoint.delete* | If true, the file will be deleted after it is processed successfully. | false | MEDIUM
 | *camel.source.endpoint.moveFailed* | 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 the file again. | null | MEDIUM
@@ -83,10 +83,10 @@ The camel-sftp source connector supports 112 options, which are listed below.
 | *camel.source.endpoint.eagerMaxMessagesPerPoll* | 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, and then perform sorting. Setting this option to false allows for sorting all files first, and then limit the poll. Mind that this requires a higher memory usage as all file details are in memory to perform the sorting. | true | MEDIUM
 | *camel.source.endpoint.exclude* | Is used to exclude files, if filename matches the regex pattern (matching is case in-senstive). Notice if you use symbols such as plus sign and others you would need to configure this using the RAW() syntax if configuring this as an endpoint uri. See more details at configuring endpoint uris | null | MEDIUM
 | *camel.source.endpoint.filter* | Pluggable filter as a org.apache.camel.component.file.GenericFileFilter class. Will skip files if filter returns false in its accept() method. | null | MEDIUM
-| *camel.source.endpoint.filterDirectory* | 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} | null | MEDIUM
-| *camel.source.endpoint.filterFile* | Filters the file based on Simple language. For example to filter on file size, you can use ${file:size} 5000 | null | MEDIUM
+| *camel.source.endpoint.filterDirectory* | 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} | null | MEDIUM
+| *camel.source.endpoint.filterFile* | Filters the file based on Simple language. For example to filter on file size, you can use \${file:size} 5000 | null | MEDIUM
 | *camel.source.endpoint.idempotent* | 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 will be enabled as well to avoid consuming the same files over and over again. | "false" | MEDIUM
-| *camel.source.endpoint.idempotentKey* | 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} | null | MEDIUM
+| *camel.source.endpoint.idempotentKey* | 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} | null | MEDIUM
 | *camel.source.endpoint.idempotentRepository* | A pluggable repository org.apache.camel.spi.IdempotentRepository which by default use MemoryMessageIdRepository if none is specified and idempotent is true. | null | MEDIUM
 | *camel.source.endpoint.include* | 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 this as an endpoint uri. See more details at configuring endpoint uris | null | MEDIUM
 | *camel.source.endpoint.maxDepth* | The maximum depth to traverse when recursively processing a directory. | 2147483647 | MEDIUM


[camel-kafka-connector] 01/04: Revert "Regen"

Posted by ac...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

acosentino pushed a commit to branch silly-me
in repository https://gitbox.apache.org/repos/asf/camel-kafka-connector.git

commit 2aac31478afe471ab3f184f0d5acfedd3c1c74bb
Author: Andrea Cosentino <an...@gmail.com>
AuthorDate: Thu Sep 24 06:56:42 2020 +0200

    Revert "Regen"
    
    This reverts commit f16ce34bece9199f0d763fc06c25824be78db247.
---
 .../docs/camel-azure-eventhubs-kafka-sink-connector.adoc   |  4 ++--
 .../docs/camel-azure-eventhubs-kafka-source-connector.adoc |  4 ++--
 .../src/main/docs/camel-cxf-kafka-sink-connector.adoc      |  2 +-
 .../src/main/docs/camel-cxf-kafka-source-connector.adoc    |  2 +-
 .../src/main/docs/camel-file-kafka-sink-connector.adoc     |  6 +++---
 .../src/main/docs/camel-file-kafka-source-connector.adoc   | 10 +++++-----
 .../src/main/docs/camel-ftp-kafka-sink-connector.adoc      |  8 ++++----
 .../src/main/docs/camel-ftp-kafka-source-connector.adoc    | 12 ++++++------
 .../src/main/docs/camel-ftps-kafka-sink-connector.adoc     | 10 +++++-----
 .../src/main/docs/camel-ftps-kafka-source-connector.adoc   | 14 +++++++-------
 .../src/main/docs/camel-scp-kafka-sink-connector.adoc      |  2 +-
 .../src/main/docs/camel-sftp-kafka-sink-connector.adoc     |  8 ++++----
 .../src/main/docs/camel-sftp-kafka-source-connector.adoc   | 12 ++++++------
 .../camel-azure-eventhubs-kafka-sink-connector.adoc        |  4 ++--
 .../camel-azure-eventhubs-kafka-source-connector.adoc      |  4 ++--
 .../pages/connectors/camel-cxf-kafka-sink-connector.adoc   |  2 +-
 .../pages/connectors/camel-cxf-kafka-source-connector.adoc |  2 +-
 .../pages/connectors/camel-file-kafka-sink-connector.adoc  |  6 +++---
 .../connectors/camel-file-kafka-source-connector.adoc      | 10 +++++-----
 .../pages/connectors/camel-ftp-kafka-sink-connector.adoc   |  8 ++++----
 .../pages/connectors/camel-ftp-kafka-source-connector.adoc | 12 ++++++------
 .../pages/connectors/camel-ftps-kafka-sink-connector.adoc  | 10 +++++-----
 .../connectors/camel-ftps-kafka-source-connector.adoc      | 14 +++++++-------
 .../pages/connectors/camel-scp-kafka-sink-connector.adoc   |  2 +-
 .../pages/connectors/camel-sftp-kafka-sink-connector.adoc  |  8 ++++----
 .../connectors/camel-sftp-kafka-source-connector.adoc      | 12 ++++++------
 26 files changed, 94 insertions(+), 94 deletions(-)

diff --git a/connectors/camel-azure-eventhubs-kafka-connector/src/main/docs/camel-azure-eventhubs-kafka-sink-connector.adoc b/connectors/camel-azure-eventhubs-kafka-connector/src/main/docs/camel-azure-eventhubs-kafka-sink-connector.adoc
index 6e25c94..d006b54 100644
--- a/connectors/camel-azure-eventhubs-kafka-connector/src/main/docs/camel-azure-eventhubs-kafka-sink-connector.adoc
+++ b/connectors/camel-azure-eventhubs-kafka-connector/src/main/docs/camel-azure-eventhubs-kafka-sink-connector.adoc
@@ -37,7 +37,7 @@ The camel-azure-eventhubs sink connector supports 26 options, which are listed b
 | *camel.sink.endpoint.lazyStartProducer* | 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 cre [...]
 | *camel.sink.endpoint.partitionId* | Sets the identifier of the Event Hub partition that the {link EventData events} will be sent to. If the identifier is not specified, the Event Hubs service will be responsible for routing events that are sent to an available partition. | null | MEDIUM
 | *camel.sink.endpoint.partitionKey* | Sets a hashing key to be provided for the batch of events, which instructs the Event Hubs service to map this key to a specific partition. The selection of a partition is stable for a given partition hashing key. Should any other batches of events be sent using the same exact partition hashing key, the Event Hubs service will route them all to the same partition. This should be specified only when there is a need to group events by partition, but th [...]
-| *camel.sink.endpoint.producerAsyncClient* | Sets the EventHubProducerAsyncClient.An asynchronous producer responsible for transmitting EventData to a specific Event Hub, grouped together in batches. Depending on the {link CreateBatchOptions options} specified when creating an \{linkEventDataBatch\}, the events may be automatically routed to an available partition or specific to a partition. Use by this component to produce the data in camel producer. | null | MEDIUM
+| *camel.sink.endpoint.producerAsyncClient* | Sets the EventHubProducerAsyncClient.An asynchronous producer responsible for transmitting EventData to a specific Event Hub, grouped together in batches. Depending on the {link CreateBatchOptions options} specified when creating an \{linkEventDataBatch}, the events may be automatically routed to an available partition or specific to a partition. Use by this component to produce the data in camel producer. | null | MEDIUM
 | *camel.sink.endpoint.basicPropertyBinding* | Whether the endpoint should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | MEDIUM
 | *camel.sink.endpoint.synchronous* | Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported). | false | MEDIUM
 | *camel.sink.endpoint.connectionString* | Instead of supplying namespace, sharedAccessKey, sharedAccessName ... etc, you can just supply the connection string for your eventHub. The connection string for EventHubs already include all the necessary information to connection to your EventHub. To learn on how to generate the connection string, take a look at this documentation: \https://docs.microsoft.com/en-us/azure/event-hubs/event-hubs-get-connection-string | null | MEDIUM
@@ -50,7 +50,7 @@ The camel-azure-eventhubs sink connector supports 26 options, which are listed b
 | *camel.component.azure-eventhubs.lazyStartProducer* | 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 proces [...]
 | *camel.component.azure-eventhubs.partitionId* | Sets the identifier of the Event Hub partition that the {link EventData events} will be sent to. If the identifier is not specified, the Event Hubs service will be responsible for routing events that are sent to an available partition. | null | MEDIUM
 | *camel.component.azure-eventhubs.partitionKey* | Sets a hashing key to be provided for the batch of events, which instructs the Event Hubs service to map this key to a specific partition. The selection of a partition is stable for a given partition hashing key. Should any other batches of events be sent using the same exact partition hashing key, the Event Hubs service will route them all to the same partition. This should be specified only when there is a need to group events by parti [...]
-| *camel.component.azure-eventhubs.producerAsync Client* | Sets the EventHubProducerAsyncClient.An asynchronous producer responsible for transmitting EventData to a specific Event Hub, grouped together in batches. Depending on the {link CreateBatchOptions options} specified when creating an \{linkEventDataBatch\}, the events may be automatically routed to an available partition or specific to a partition. Use by this component to produce the data in camel producer. | null | MEDIUM
+| *camel.component.azure-eventhubs.producerAsync Client* | Sets the EventHubProducerAsyncClient.An asynchronous producer responsible for transmitting EventData to a specific Event Hub, grouped together in batches. Depending on the {link CreateBatchOptions options} specified when creating an \{linkEventDataBatch}, the events may be automatically routed to an available partition or specific to a partition. Use by this component to produce the data in camel producer. | null | MEDIUM
 | *camel.component.azure-eventhubs.basicProperty Binding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | MEDIUM
 | *camel.component.azure-eventhubs.connectionString* | Instead of supplying namespace, sharedAccessKey, sharedAccessName ... etc, you can just supply the connection string for your eventHub. The connection string for EventHubs already include all the necessary information to connection to your EventHub. To learn on how to generate the connection string, take a look at this documentation: \https://docs.microsoft.com/en-us/azure/event-hubs/event-hubs-get-connection-string | null | MEDIUM
 | *camel.component.azure-eventhubs.sharedAccessKey* | The generated value for the SharedAccessName | null | MEDIUM
diff --git a/connectors/camel-azure-eventhubs-kafka-connector/src/main/docs/camel-azure-eventhubs-kafka-source-connector.adoc b/connectors/camel-azure-eventhubs-kafka-connector/src/main/docs/camel-azure-eventhubs-kafka-source-connector.adoc
index 56d83eb..15ab488 100644
--- a/connectors/camel-azure-eventhubs-kafka-connector/src/main/docs/camel-azure-eventhubs-kafka-source-connector.adoc
+++ b/connectors/camel-azure-eventhubs-kafka-connector/src/main/docs/camel-azure-eventhubs-kafka-source-connector.adoc
@@ -40,7 +40,7 @@ The camel-azure-eventhubs source connector supports 38 options, which are listed
 | *camel.source.endpoint.blobStorageSharedKey Credential* | In case you chose the default BlobCheckpointStore, StorageSharedKeyCredential can be injected to create the azure client, this holds the important authentication information | null | MEDIUM
 | *camel.source.endpoint.bridgeErrorHandler* | 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. | false | MEDIUM
 | *camel.source.endpoint.checkpointStore* | Sets the CheckpointStore the EventProcessorClient will use for storing partition ownership and checkpoint information. Users can, optionally, provide their own implementation of CheckpointStore which will store ownership and checkpoint information. By default it set to use com.azure.messaging.eventhubs.checkpointstore.blob.BlobCheckpointStore which stores all checkpoint offsets into Azure Blob Storage | "BlobCheckpointStore" | MEDIUM
-| *camel.source.endpoint.consumerGroupName* | Sets the name of the consumer group this consumer is associated with. Events are read in the context of this group. The name of the consumer group that is created by default is {link #DEFAULT_CONSUMER_GROUP_NAME \$Default}. | "$Default" | MEDIUM
+| *camel.source.endpoint.consumerGroupName* | Sets the name of the consumer group this consumer is associated with. Events are read in the context of this group. The name of the consumer group that is created by default is {link #DEFAULT_CONSUMER_GROUP_NAME $Default}. | "$Default" | MEDIUM
 | *camel.source.endpoint.eventPosition* | Sets the map containing the event position to use for each partition if a checkpoint for the partition does not exist in CheckpointStore. This map is keyed off of the partition id. If there is no checkpoint in CheckpointStore and there is no entry in this map, the processing of the partition will start from {link EventPosition#latest() latest} position. | null | MEDIUM
 | *camel.source.endpoint.prefetchCount* | Sets the count used by the receiver to control the number of events the Event Hub consumer will actively receive and queue locally without regard to whether a receive operation is currently active. | 500 | MEDIUM
 | *camel.source.endpoint.exceptionHandler* | To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored. | null | MEDIUM
@@ -60,7 +60,7 @@ The camel-azure-eventhubs source connector supports 38 options, which are listed
 | *camel.component.azure-eventhubs.blobStorageShared KeyCredential* | In case you chose the default BlobCheckpointStore, StorageSharedKeyCredential can be injected to create the azure client, this holds the important authentication information | null | MEDIUM
 | *camel.component.azure-eventhubs.bridgeErrorHandler* | 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. | false | MEDIUM
 | *camel.component.azure-eventhubs.checkpointStore* | Sets the CheckpointStore the EventProcessorClient will use for storing partition ownership and checkpoint information. Users can, optionally, provide their own implementation of CheckpointStore which will store ownership and checkpoint information. By default it set to use com.azure.messaging.eventhubs.checkpointstore.blob.BlobCheckpointStore which stores all checkpoint offsets into Azure Blob Storage | "BlobCheckpointStore" | MEDIUM
-| *camel.component.azure-eventhubs.consumerGroupName* | Sets the name of the consumer group this consumer is associated with. Events are read in the context of this group. The name of the consumer group that is created by default is {link #DEFAULT_CONSUMER_GROUP_NAME \$Default}. | "$Default" | MEDIUM
+| *camel.component.azure-eventhubs.consumerGroupName* | Sets the name of the consumer group this consumer is associated with. Events are read in the context of this group. The name of the consumer group that is created by default is {link #DEFAULT_CONSUMER_GROUP_NAME $Default}. | "$Default" | MEDIUM
 | *camel.component.azure-eventhubs.eventPosition* | Sets the map containing the event position to use for each partition if a checkpoint for the partition does not exist in CheckpointStore. This map is keyed off of the partition id. If there is no checkpoint in CheckpointStore and there is no entry in this map, the processing of the partition will start from {link EventPosition#latest() latest} position. | null | MEDIUM
 | *camel.component.azure-eventhubs.prefetchCount* | Sets the count used by the receiver to control the number of events the Event Hub consumer will actively receive and queue locally without regard to whether a receive operation is currently active. | 500 | MEDIUM
 | *camel.component.azure-eventhubs.basicProperty Binding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | MEDIUM
diff --git a/connectors/camel-cxf-kafka-connector/src/main/docs/camel-cxf-kafka-sink-connector.adoc b/connectors/camel-cxf-kafka-connector/src/main/docs/camel-cxf-kafka-sink-connector.adoc
index 966aea0..921cb0f 100644
--- a/connectors/camel-cxf-kafka-connector/src/main/docs/camel-cxf-kafka-sink-connector.adoc
+++ b/connectors/camel-cxf-kafka-connector/src/main/docs/camel-cxf-kafka-sink-connector.adoc
@@ -45,7 +45,7 @@ The camel-cxf sink connector supports 40 options, which are listed below.
 | *camel.sink.endpoint.bus* | To use a custom configured CXF Bus. | null | MEDIUM
 | *camel.sink.endpoint.continuationTimeout* | This option is used to set the CXF continuation timeout which could be used in CxfConsumer by default when the CXF server is using Jetty or Servlet transport. | 30000L | MEDIUM
 | *camel.sink.endpoint.cxfBinding* | To use a custom CxfBinding to control the binding between Camel Message and CXF Message. | null | MEDIUM
-| *camel.sink.endpoint.cxfConfigurer* | This option could apply the implementation of org.apache.camel.component.cxf.CxfEndpointConfigurer which supports to configure the CXF endpoint in programmatic way. User can configure the CXF server and client by implementing configure\{ServerClient\} method of CxfEndpointConfigurer. | null | MEDIUM
+| *camel.sink.endpoint.cxfConfigurer* | This option could apply the implementation of org.apache.camel.component.cxf.CxfEndpointConfigurer which supports to configure the CXF endpoint in programmatic way. User can configure the CXF server and client by implementing configure\{ServerClient} method of CxfEndpointConfigurer. | null | MEDIUM
 | *camel.sink.endpoint.defaultBus* | Will set the default bus when CXF endpoint create a bus by itself | false | MEDIUM
 | *camel.sink.endpoint.headerFilterStrategy* | To use a custom HeaderFilterStrategy to filter header to and from Camel message. | null | MEDIUM
 | *camel.sink.endpoint.mergeProtocolHeaders* | Whether to merge protocol headers. If enabled then propagating headers between Camel and CXF becomes more consistent and similar. For more details see CAMEL-6393. | false | MEDIUM
diff --git a/connectors/camel-cxf-kafka-connector/src/main/docs/camel-cxf-kafka-source-connector.adoc b/connectors/camel-cxf-kafka-connector/src/main/docs/camel-cxf-kafka-source-connector.adoc
index 6b83ff8..a8d0704 100644
--- a/connectors/camel-cxf-kafka-connector/src/main/docs/camel-cxf-kafka-source-connector.adoc
+++ b/connectors/camel-cxf-kafka-connector/src/main/docs/camel-cxf-kafka-source-connector.adoc
@@ -41,7 +41,7 @@ The camel-cxf source connector supports 36 options, which are listed below.
 | *camel.source.endpoint.bus* | To use a custom configured CXF Bus. | null | MEDIUM
 | *camel.source.endpoint.continuationTimeout* | This option is used to set the CXF continuation timeout which could be used in CxfConsumer by default when the CXF server is using Jetty or Servlet transport. | 30000L | MEDIUM
 | *camel.source.endpoint.cxfBinding* | To use a custom CxfBinding to control the binding between Camel Message and CXF Message. | null | MEDIUM
-| *camel.source.endpoint.cxfConfigurer* | This option could apply the implementation of org.apache.camel.component.cxf.CxfEndpointConfigurer which supports to configure the CXF endpoint in programmatic way. User can configure the CXF server and client by implementing configure\{ServerClient\} method of CxfEndpointConfigurer. | null | MEDIUM
+| *camel.source.endpoint.cxfConfigurer* | This option could apply the implementation of org.apache.camel.component.cxf.CxfEndpointConfigurer which supports to configure the CXF endpoint in programmatic way. User can configure the CXF server and client by implementing configure\{ServerClient} method of CxfEndpointConfigurer. | null | MEDIUM
 | *camel.source.endpoint.defaultBus* | Will set the default bus when CXF endpoint create a bus by itself | false | MEDIUM
 | *camel.source.endpoint.headerFilterStrategy* | To use a custom HeaderFilterStrategy to filter header to and from Camel message. | null | MEDIUM
 | *camel.source.endpoint.mergeProtocolHeaders* | Whether to merge protocol headers. If enabled then propagating headers between Camel and CXF becomes more consistent and similar. For more details see CAMEL-6393. | false | MEDIUM
diff --git a/connectors/camel-file-kafka-connector/src/main/docs/camel-file-kafka-sink-connector.adoc b/connectors/camel-file-kafka-connector/src/main/docs/camel-file-kafka-sink-connector.adoc
index 02a8e7c..98ba983 100644
--- a/connectors/camel-file-kafka-connector/src/main/docs/camel-file-kafka-sink-connector.adoc
+++ b/connectors/camel-file-kafka-connector/src/main/docs/camel-file-kafka-sink-connector.adoc
@@ -31,8 +31,8 @@ The camel-file sink connector supports 27 options, which are listed below.
 | Name | Description | Default | Priority
 | *camel.sink.path.directoryName* | The starting directory | null | HIGH
 | *camel.sink.endpoint.charset* | This option is used to specify the encoding of the file. You can use this on the consumer, to specify the encodings of the files, which allow Camel to know the charset it should load the file content in case the file content is being accessed. Likewise when writing a file, you can use this option to specify which charset to write the file as well. Do mind that when writing the file Camel may have to read the message content into memory to be able to conv [...]
-| *camel.sink.endpoint.doneFileName* | 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 dynamic placeholders. The done file will always be written in the same folder as the original file. Consumer: If provided, Camel will only consume files if a done file exists. This option configures what file name to use. Ei [...]
-| *camel.sink.endpoint.fileName* | 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 CamelFileName header. (Note: The header itself can also be an Expression). The expression options support both String and Expression types. If the expression is a String type, it is always evaluated using the File Language. If  [...]
+| *camel.sink.endpoint.doneFileName* | 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 dynamic placeholders. The done file will always be written in the same folder as the original file. Consumer: If provided, Camel will only consume files if a done file exists. This option configures what file name to use. Ei [...]
+| *camel.sink.endpoint.fileName* | 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 CamelFileName header. (Note: The header itself can also be an Expression). The expression options support both String and Expression types. If the expression is a String type, it is always evaluated using the File Language. If  [...]
 | *camel.sink.endpoint.appendChars* | Used to append characters (text) after writing files. This can for example be used to add new lines or other separators when writing and appending to existing files. To specify new-line (slash-n or slash-r) or tab (slash-t) characters then escape with an extra slash, eg slash-slash-n. | null | MEDIUM
 | *camel.sink.endpoint.fileExist* | What to do if a file already exists with the same name. Override, which is the default, replaces the existing file. - Append - adds content to the existing file. - Fail - throws a GenericFileOperationException, indicating that there is already an existing file. - Ignore - silently ignores the problem and does not override the existing file, but assumes everything is okay. - Move - option requires to use the moveExisting option to be configured as well. [...]
 | *camel.sink.endpoint.flatten* | 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 they will be written in a single directory. Setting this to true on the producer enforces that any file name in CamelFileName header will be stripped for any leading paths. | false | MEDIUM
@@ -46,7 +46,7 @@ The camel-file sink connector supports 27 options, which are listed below.
 | *camel.sink.endpoint.chmodDirectory* | Specify the directory permissions used when the producer creates missing directories, the chmod value must be between 000 and 777; If there is a leading digit like in 0755 we will ignore it. | null | MEDIUM
 | *camel.sink.endpoint.eagerDeleteTargetFile* | 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 this to disable (set it to false) deleting the target file before the temp file is written. For example you may write big files and want the target file to exists during the temp file is being written. This ensure the target file is only deleted until the very last moment, just [...]
 | *camel.sink.endpoint.forceWrites* | Whether to force syncing writes to the file system. You can turn this off if you do not want this level of guarantee, for example if writing to logs / audit logs etc; this would yield better performance. | true | MEDIUM
-| *camel.sink.endpoint.keepLastModified* | Will keep the last modified timestamp from the source file (if any). Will use the Exchange.FILE_LAST_MODIFIED header to located the timestamp. This header can contain either a java.util.Date or long with the timestamp. If the timestamp exists and the option is enabled it will set this timestamp on the written file. Note: This option only applies to the file producer. You cannot use this option with any of the \ftp producers. | false | MEDIUM
+| *camel.sink.endpoint.keepLastModified* | Will keep the last modified timestamp from the source file (if any). Will use the Exchange.FILE_LAST_MODIFIED header to located the timestamp. This header can contain either a java.util.Date or long with the timestamp. If the timestamp exists and the option is enabled it will set this timestamp on the written file. Note: This option only applies to the file producer. You cannot use this option with any of the ftp producers. | false | MEDIUM
 | *camel.sink.endpoint.moveExistingFileStrategy* | Strategy (Custom Strategy) used to move file with special naming token to use when fileExist=Move is configured. By default, there is an implementation used if no custom strategy is provided | null | MEDIUM
 | *camel.sink.endpoint.autoCreate* | 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. | true | MEDIUM
 | *camel.sink.endpoint.basicPropertyBinding* | Whether the endpoint should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | MEDIUM
diff --git a/connectors/camel-file-kafka-connector/src/main/docs/camel-file-kafka-source-connector.adoc b/connectors/camel-file-kafka-connector/src/main/docs/camel-file-kafka-source-connector.adoc
index 3f72edf..c1de81b 100644
--- a/connectors/camel-file-kafka-connector/src/main/docs/camel-file-kafka-source-connector.adoc
+++ b/connectors/camel-file-kafka-connector/src/main/docs/camel-file-kafka-source-connector.adoc
@@ -31,8 +31,8 @@ The camel-file source connector supports 80 options, which are listed below.
 | Name | Description | Default | Priority
 | *camel.source.path.directoryName* | The starting directory | null | HIGH
 | *camel.source.endpoint.charset* | This option is used to specify the encoding of the file. You can use this on the consumer, to specify the encodings of the files, which allow Camel to know the charset it should load the file content in case the file content is being accessed. Likewise when writing a file, you can use this option to specify which charset to write the file as well. Do mind that when writing the file Camel may have to read the message content into memory to be able to co [...]
-| *camel.source.endpoint.doneFileName* | 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 dynamic placeholders. The done file will always be written in the same folder as the original file. Consumer: If provided, Camel will only consume files if a done file exists. This option configures what file name to use.  [...]
-| *camel.source.endpoint.fileName* | 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 CamelFileName header. (Note: The header itself can also be an Expression). The expression options support both String and Expression types. If the expression is a String type, it is always evaluated using the File Language. I [...]
+| *camel.source.endpoint.doneFileName* | 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 dynamic placeholders. The done file will always be written in the same folder as the original file. Consumer: If provided, Camel will only consume files if a done file exists. This option configures what file name to use.  [...]
+| *camel.source.endpoint.fileName* | 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 CamelFileName header. (Note: The header itself can also be an Expression). The expression options support both String and Expression types. If the expression is a String type, it is always evaluated using the File Language. I [...]
 | *camel.source.endpoint.bridgeErrorHandler* | 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. | false | MEDIUM
 | *camel.source.endpoint.delete* | If true, the file will be deleted after it is processed successfully. | false | MEDIUM
 | *camel.source.endpoint.moveFailed* | 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 the file again. | null | MEDIUM
@@ -65,10 +65,10 @@ The camel-file source connector supports 80 options, which are listed below.
 | *camel.source.endpoint.eagerMaxMessagesPerPoll* | 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, and then perform sorting. Setting this option to false allows for sorting all files first, and then limit the poll. Mind that this requires a higher memory usage as all file details are in memory to perform the sorting. | true | MEDIUM
 | *camel.source.endpoint.exclude* | Is used to exclude files, if filename matches the regex pattern (matching is case in-senstive). Notice if you use symbols such as plus sign and others you would need to configure this using the RAW() syntax if configuring this as an endpoint uri. See more details at configuring endpoint uris | null | MEDIUM
 | *camel.source.endpoint.filter* | Pluggable filter as a org.apache.camel.component.file.GenericFileFilter class. Will skip files if filter returns false in its accept() method. | null | MEDIUM
-| *camel.source.endpoint.filterDirectory* | 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} | null | MEDIUM
-| *camel.source.endpoint.filterFile* | Filters the file based on Simple language. For example to filter on file size, you can use \${file:size} 5000 | null | MEDIUM
+| *camel.source.endpoint.filterDirectory* | 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} | null | MEDIUM
+| *camel.source.endpoint.filterFile* | Filters the file based on Simple language. For example to filter on file size, you can use ${file:size} 5000 | null | MEDIUM
 | *camel.source.endpoint.idempotent* | 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 will be enabled as well to avoid consuming the same files over and over again. | "false" | MEDIUM
-| *camel.source.endpoint.idempotentKey* | 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} | null | MEDIUM
+| *camel.source.endpoint.idempotentKey* | 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} | null | MEDIUM
 | *camel.source.endpoint.idempotentRepository* | A pluggable repository org.apache.camel.spi.IdempotentRepository which by default use MemoryMessageIdRepository if none is specified and idempotent is true. | null | MEDIUM
 | *camel.source.endpoint.include* | 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 this as an endpoint uri. See more details at configuring endpoint uris | null | MEDIUM
 | *camel.source.endpoint.maxDepth* | The maximum depth to traverse when recursively processing a directory. | 2147483647 | MEDIUM
diff --git a/connectors/camel-ftp-kafka-connector/src/main/docs/camel-ftp-kafka-sink-connector.adoc b/connectors/camel-ftp-kafka-connector/src/main/docs/camel-ftp-kafka-sink-connector.adoc
index 062d5b1..a7b587b 100644
--- a/connectors/camel-ftp-kafka-connector/src/main/docs/camel-ftp-kafka-sink-connector.adoc
+++ b/connectors/camel-ftp-kafka-connector/src/main/docs/camel-ftp-kafka-sink-connector.adoc
@@ -35,14 +35,14 @@ The camel-ftp sink connector supports 50 options, which are listed below.
 | *camel.sink.endpoint.binary* | Specifies the file transfer mode, BINARY or ASCII. Default is ASCII (false). | false | MEDIUM
 | *camel.sink.endpoint.charset* | This option is used to specify the encoding of the file. You can use this on the consumer, to specify the encodings of the files, which allow Camel to know the charset it should load the file content in case the file content is being accessed. Likewise when writing a file, you can use this option to specify which charset to write the file as well. Do mind that when writing the file Camel may have to read the message content into memory to be able to conv [...]
 | *camel.sink.endpoint.disconnect* | 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 the consumer/route instead. | false | MEDIUM
-| *camel.sink.endpoint.doneFileName* | 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 dynamic placeholders. The done file will always be written in the same folder as the original file. Consumer: If provided, Camel will only consume files if a done file exists. This option configures what file name to use. Ei [...]
-| *camel.sink.endpoint.fileName* | 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 CamelFileName header. (Note: The header itself can also be an Expression). The expression options support both String and Expression types. If the expression is a String type, it is always evaluated using the File Language. If  [...]
+| *camel.sink.endpoint.doneFileName* | 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 dynamic placeholders. The done file will always be written in the same folder as the original file. Consumer: If provided, Camel will only consume files if a done file exists. This option configures what file name to use. Ei [...]
+| *camel.sink.endpoint.fileName* | 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 CamelFileName header. (Note: The header itself can also be an Expression). The expression options support both String and Expression types. If the expression is a String type, it is always evaluated using the File Language. If  [...]
 | *camel.sink.endpoint.passiveMode* | Sets passive mode connections. Default is active mode connections. | false | MEDIUM
 | *camel.sink.endpoint.separator* | Sets the path separator to be used. UNIX = Uses unix style path separator Windows = Uses windows style path separator Auto = (is default) Use existing path separator in file name One of: [UNIX] [Windows] [Auto] | "UNIX" | MEDIUM
 | *camel.sink.endpoint.transferLoggingIntervalSeconds* | Configures the interval in seconds to use when logging the progress of upload and download operations that are in-flight. This is used for logging progress when operations takes longer time. | 5 | MEDIUM
 | *camel.sink.endpoint.transferLoggingLevel* | Configure the logging level to use when logging the progress of upload and download operations. One of: [TRACE] [DEBUG] [INFO] [WARN] [ERROR] [OFF] | "DEBUG" | MEDIUM
 | *camel.sink.endpoint.transferLoggingVerbose* | Configures whether the perform verbose (fine grained) logging of the progress of upload and download operations. | false | MEDIUM
-| *camel.sink.endpoint.fastExistsCheck* | If set this option to be true, camel-\ftp will use the list file directly to check if the file exists. Since some FTP server may not support to list the file directly, if the option is false, camel-\ftp will use the old way to list the directory and check if the file exists. This option also influences readLock=changed to control whether it performs a fast check to update file information or not. This can be used to speed up the process if the FT [...]
+| *camel.sink.endpoint.fastExistsCheck* | If set this option to be true, camel-ftp will use the list file directly to check if the file exists. Since some FTP server may not support to list the file directly, if the option is false, camel-ftp will use the old way to list the directory and check if the file exists. This option also influences readLock=changed to control whether it performs a fast check to update file information or not. This can be used to speed up the process if the FTP  [...]
 | *camel.sink.endpoint.fileExist* | What to do if a file already exists with the same name. Override, which is the default, replaces the existing file. - Append - adds content to the existing file. - Fail - throws a GenericFileOperationException, indicating that there is already an existing file. - Ignore - silently ignores the problem and does not override the existing file, but assumes everything is okay. - Move - option requires to use the moveExisting option to be configured as well. [...]
 | *camel.sink.endpoint.flatten* | 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 they will be written in a single directory. Setting this to true on the producer enforces that any file name in CamelFileName header will be stripped for any leading paths. | false | MEDIUM
 | *camel.sink.endpoint.jailStartingDirectory* | 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 secured out of the box). You can turn this off to allow writing files to directories outside the starting directory, such as parent or root folders. | true | MEDIUM
@@ -54,7 +54,7 @@ The camel-ftp sink connector supports 50 options, which are listed below.
 | *camel.sink.endpoint.chmod* | Allows you to set chmod on the stored file. For example chmod=640. | null | MEDIUM
 | *camel.sink.endpoint.disconnectOnBatchComplete* | Whether or not to disconnect from remote FTP server right after a Batch upload is complete. disconnectOnBatchComplete will only disconnect the current connection to the FTP server. | false | MEDIUM
 | *camel.sink.endpoint.eagerDeleteTargetFile* | 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 this to disable (set it to false) deleting the target file before the temp file is written. For example you may write big files and want the target file to exists during the temp file is being written. This ensure the target file is only deleted until the very last moment, just [...]
-| *camel.sink.endpoint.keepLastModified* | Will keep the last modified timestamp from the source file (if any). Will use the Exchange.FILE_LAST_MODIFIED header to located the timestamp. This header can contain either a java.util.Date or long with the timestamp. If the timestamp exists and the option is enabled it will set this timestamp on the written file. Note: This option only applies to the file producer. You cannot use this option with any of the \ftp producers. | false | MEDIUM
+| *camel.sink.endpoint.keepLastModified* | Will keep the last modified timestamp from the source file (if any). Will use the Exchange.FILE_LAST_MODIFIED header to located the timestamp. This header can contain either a java.util.Date or long with the timestamp. If the timestamp exists and the option is enabled it will set this timestamp on the written file. Note: This option only applies to the file producer. You cannot use this option with any of the ftp producers. | false | MEDIUM
 | *camel.sink.endpoint.moveExistingFileStrategy* | Strategy (Custom Strategy) used to move file with special naming token to use when fileExist=Move is configured. By default, there is an implementation used if no custom strategy is provided | null | MEDIUM
 | *camel.sink.endpoint.sendNoop* | Whether to send a noop command as a pre-write check before uploading files to the FTP server. This is enabled by default as a validation of the connection is still valid, which allows to silently re-connect to be able to upload the file. However if this causes problems, you can turn this option off. | true | MEDIUM
 | *camel.sink.endpoint.activePortRange* | Set the client side port range in active mode. The syntax is: minPort-maxPort Both port numbers are inclusive, eg 10000-19999 to include all 1xxxx ports. | null | MEDIUM
diff --git a/connectors/camel-ftp-kafka-connector/src/main/docs/camel-ftp-kafka-source-connector.adoc b/connectors/camel-ftp-kafka-connector/src/main/docs/camel-ftp-kafka-source-connector.adoc
index 8dc6839..cdb12d0 100644
--- a/connectors/camel-ftp-kafka-connector/src/main/docs/camel-ftp-kafka-source-connector.adoc
+++ b/connectors/camel-ftp-kafka-connector/src/main/docs/camel-ftp-kafka-source-connector.adoc
@@ -35,14 +35,14 @@ The camel-ftp source connector supports 101 options, which are listed below.
 | *camel.source.endpoint.binary* | Specifies the file transfer mode, BINARY or ASCII. Default is ASCII (false). | false | MEDIUM
 | *camel.source.endpoint.charset* | This option is used to specify the encoding of the file. You can use this on the consumer, to specify the encodings of the files, which allow Camel to know the charset it should load the file content in case the file content is being accessed. Likewise when writing a file, you can use this option to specify which charset to write the file as well. Do mind that when writing the file Camel may have to read the message content into memory to be able to co [...]
 | *camel.source.endpoint.disconnect* | 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 the consumer/route instead. | false | MEDIUM
-| *camel.source.endpoint.doneFileName* | 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 dynamic placeholders. The done file will always be written in the same folder as the original file. Consumer: If provided, Camel will only consume files if a done file exists. This option configures what file name to use.  [...]
-| *camel.source.endpoint.fileName* | 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 CamelFileName header. (Note: The header itself can also be an Expression). The expression options support both String and Expression types. If the expression is a String type, it is always evaluated using the File Language. I [...]
+| *camel.source.endpoint.doneFileName* | 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 dynamic placeholders. The done file will always be written in the same folder as the original file. Consumer: If provided, Camel will only consume files if a done file exists. This option configures what file name to use.  [...]
+| *camel.source.endpoint.fileName* | 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 CamelFileName header. (Note: The header itself can also be an Expression). The expression options support both String and Expression types. If the expression is a String type, it is always evaluated using the File Language. I [...]
 | *camel.source.endpoint.passiveMode* | Sets passive mode connections. Default is active mode connections. | false | MEDIUM
 | *camel.source.endpoint.separator* | Sets the path separator to be used. UNIX = Uses unix style path separator Windows = Uses windows style path separator Auto = (is default) Use existing path separator in file name One of: [UNIX] [Windows] [Auto] | "UNIX" | MEDIUM
 | *camel.source.endpoint.transferLoggingInterval Seconds* | Configures the interval in seconds to use when logging the progress of upload and download operations that are in-flight. This is used for logging progress when operations takes longer time. | 5 | MEDIUM
 | *camel.source.endpoint.transferLoggingLevel* | Configure the logging level to use when logging the progress of upload and download operations. One of: [TRACE] [DEBUG] [INFO] [WARN] [ERROR] [OFF] | "DEBUG" | MEDIUM
 | *camel.source.endpoint.transferLoggingVerbose* | Configures whether the perform verbose (fine grained) logging of the progress of upload and download operations. | false | MEDIUM
-| *camel.source.endpoint.fastExistsCheck* | If set this option to be true, camel-\ftp will use the list file directly to check if the file exists. Since some FTP server may not support to list the file directly, if the option is false, camel-\ftp will use the old way to list the directory and check if the file exists. This option also influences readLock=changed to control whether it performs a fast check to update file information or not. This can be used to speed up the process if the  [...]
+| *camel.source.endpoint.fastExistsCheck* | If set this option to be true, camel-ftp will use the list file directly to check if the file exists. Since some FTP server may not support to list the file directly, if the option is false, camel-ftp will use the old way to list the directory and check if the file exists. This option also influences readLock=changed to control whether it performs a fast check to update file information or not. This can be used to speed up the process if the FT [...]
 | *camel.source.endpoint.bridgeErrorHandler* | 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. | false | MEDIUM
 | *camel.source.endpoint.delete* | If true, the file will be deleted after it is processed successfully. | false | MEDIUM
 | *camel.source.endpoint.moveFailed* | 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 the file again. | null | MEDIUM
@@ -87,10 +87,10 @@ The camel-ftp source connector supports 101 options, which are listed below.
 | *camel.source.endpoint.eagerMaxMessagesPerPoll* | 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, and then perform sorting. Setting this option to false allows for sorting all files first, and then limit the poll. Mind that this requires a higher memory usage as all file details are in memory to perform the sorting. | true | MEDIUM
 | *camel.source.endpoint.exclude* | Is used to exclude files, if filename matches the regex pattern (matching is case in-senstive). Notice if you use symbols such as plus sign and others you would need to configure this using the RAW() syntax if configuring this as an endpoint uri. See more details at configuring endpoint uris | null | MEDIUM
 | *camel.source.endpoint.filter* | Pluggable filter as a org.apache.camel.component.file.GenericFileFilter class. Will skip files if filter returns false in its accept() method. | null | MEDIUM
-| *camel.source.endpoint.filterDirectory* | 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} | null | MEDIUM
-| *camel.source.endpoint.filterFile* | Filters the file based on Simple language. For example to filter on file size, you can use \${file:size} 5000 | null | MEDIUM
+| *camel.source.endpoint.filterDirectory* | 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} | null | MEDIUM
+| *camel.source.endpoint.filterFile* | Filters the file based on Simple language. For example to filter on file size, you can use ${file:size} 5000 | null | MEDIUM
 | *camel.source.endpoint.idempotent* | 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 will be enabled as well to avoid consuming the same files over and over again. | "false" | MEDIUM
-| *camel.source.endpoint.idempotentKey* | 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} | null | MEDIUM
+| *camel.source.endpoint.idempotentKey* | 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} | null | MEDIUM
 | *camel.source.endpoint.idempotentRepository* | A pluggable repository org.apache.camel.spi.IdempotentRepository which by default use MemoryMessageIdRepository if none is specified and idempotent is true. | null | MEDIUM
 | *camel.source.endpoint.include* | 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 this as an endpoint uri. See more details at configuring endpoint uris | null | MEDIUM
 | *camel.source.endpoint.maxDepth* | The maximum depth to traverse when recursively processing a directory. | 2147483647 | MEDIUM
diff --git a/connectors/camel-ftps-kafka-connector/src/main/docs/camel-ftps-kafka-sink-connector.adoc b/connectors/camel-ftps-kafka-connector/src/main/docs/camel-ftps-kafka-sink-connector.adoc
index ef2c873..8dce190 100644
--- a/connectors/camel-ftps-kafka-connector/src/main/docs/camel-ftps-kafka-sink-connector.adoc
+++ b/connectors/camel-ftps-kafka-connector/src/main/docs/camel-ftps-kafka-sink-connector.adoc
@@ -35,14 +35,14 @@ The camel-ftps sink connector supports 59 options, which are listed below.
 | *camel.sink.endpoint.binary* | Specifies the file transfer mode, BINARY or ASCII. Default is ASCII (false). | false | MEDIUM
 | *camel.sink.endpoint.charset* | This option is used to specify the encoding of the file. You can use this on the consumer, to specify the encodings of the files, which allow Camel to know the charset it should load the file content in case the file content is being accessed. Likewise when writing a file, you can use this option to specify which charset to write the file as well. Do mind that when writing the file Camel may have to read the message content into memory to be able to conv [...]
 | *camel.sink.endpoint.disconnect* | 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 the consumer/route instead. | false | MEDIUM
-| *camel.sink.endpoint.doneFileName* | 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 dynamic placeholders. The done file will always be written in the same folder as the original file. Consumer: If provided, Camel will only consume files if a done file exists. This option configures what file name to use. Ei [...]
-| *camel.sink.endpoint.fileName* | 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 CamelFileName header. (Note: The header itself can also be an Expression). The expression options support both String and Expression types. If the expression is a String type, it is always evaluated using the File Language. If  [...]
+| *camel.sink.endpoint.doneFileName* | 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 dynamic placeholders. The done file will always be written in the same folder as the original file. Consumer: If provided, Camel will only consume files if a done file exists. This option configures what file name to use. Ei [...]
+| *camel.sink.endpoint.fileName* | 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 CamelFileName header. (Note: The header itself can also be an Expression). The expression options support both String and Expression types. If the expression is a String type, it is always evaluated using the File Language. If  [...]
 | *camel.sink.endpoint.passiveMode* | Sets passive mode connections. Default is active mode connections. | false | MEDIUM
 | *camel.sink.endpoint.separator* | Sets the path separator to be used. UNIX = Uses unix style path separator Windows = Uses windows style path separator Auto = (is default) Use existing path separator in file name One of: [UNIX] [Windows] [Auto] | "UNIX" | MEDIUM
 | *camel.sink.endpoint.transferLoggingIntervalSeconds* | Configures the interval in seconds to use when logging the progress of upload and download operations that are in-flight. This is used for logging progress when operations takes longer time. | 5 | MEDIUM
 | *camel.sink.endpoint.transferLoggingLevel* | Configure the logging level to use when logging the progress of upload and download operations. One of: [TRACE] [DEBUG] [INFO] [WARN] [ERROR] [OFF] | "DEBUG" | MEDIUM
 | *camel.sink.endpoint.transferLoggingVerbose* | Configures whether the perform verbose (fine grained) logging of the progress of upload and download operations. | false | MEDIUM
-| *camel.sink.endpoint.fastExistsCheck* | If set this option to be true, camel-\ftp will use the list file directly to check if the file exists. Since some FTP server may not support to list the file directly, if the option is false, camel-\ftp will use the old way to list the directory and check if the file exists. This option also influences readLock=changed to control whether it performs a fast check to update file information or not. This can be used to speed up the process if the FT [...]
+| *camel.sink.endpoint.fastExistsCheck* | If set this option to be true, camel-ftp will use the list file directly to check if the file exists. Since some FTP server may not support to list the file directly, if the option is false, camel-ftp will use the old way to list the directory and check if the file exists. This option also influences readLock=changed to control whether it performs a fast check to update file information or not. This can be used to speed up the process if the FTP  [...]
 | *camel.sink.endpoint.fileExist* | What to do if a file already exists with the same name. Override, which is the default, replaces the existing file. - Append - adds content to the existing file. - Fail - throws a GenericFileOperationException, indicating that there is already an existing file. - Ignore - silently ignores the problem and does not override the existing file, but assumes everything is okay. - Move - option requires to use the moveExisting option to be configured as well. [...]
 | *camel.sink.endpoint.flatten* | 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 they will be written in a single directory. Setting this to true on the producer enforces that any file name in CamelFileName header will be stripped for any leading paths. | false | MEDIUM
 | *camel.sink.endpoint.jailStartingDirectory* | 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 secured out of the box). You can turn this off to allow writing files to directories outside the starting directory, such as parent or root folders. | true | MEDIUM
@@ -54,7 +54,7 @@ The camel-ftps sink connector supports 59 options, which are listed below.
 | *camel.sink.endpoint.chmod* | Allows you to set chmod on the stored file. For example chmod=640. | null | MEDIUM
 | *camel.sink.endpoint.disconnectOnBatchComplete* | Whether or not to disconnect from remote FTP server right after a Batch upload is complete. disconnectOnBatchComplete will only disconnect the current connection to the FTP server. | false | MEDIUM
 | *camel.sink.endpoint.eagerDeleteTargetFile* | 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 this to disable (set it to false) deleting the target file before the temp file is written. For example you may write big files and want the target file to exists during the temp file is being written. This ensure the target file is only deleted until the very last moment, just [...]
-| *camel.sink.endpoint.keepLastModified* | Will keep the last modified timestamp from the source file (if any). Will use the Exchange.FILE_LAST_MODIFIED header to located the timestamp. This header can contain either a java.util.Date or long with the timestamp. If the timestamp exists and the option is enabled it will set this timestamp on the written file. Note: This option only applies to the file producer. You cannot use this option with any of the \ftp producers. | false | MEDIUM
+| *camel.sink.endpoint.keepLastModified* | Will keep the last modified timestamp from the source file (if any). Will use the Exchange.FILE_LAST_MODIFIED header to located the timestamp. This header can contain either a java.util.Date or long with the timestamp. If the timestamp exists and the option is enabled it will set this timestamp on the written file. Note: This option only applies to the file producer. You cannot use this option with any of the ftp producers. | false | MEDIUM
 | *camel.sink.endpoint.moveExistingFileStrategy* | Strategy (Custom Strategy) used to move file with special naming token to use when fileExist=Move is configured. By default, there is an implementation used if no custom strategy is provided | null | MEDIUM
 | *camel.sink.endpoint.sendNoop* | Whether to send a noop command as a pre-write check before uploading files to the FTP server. This is enabled by default as a validation of the connection is still valid, which allows to silently re-connect to be able to upload the file. However if this causes problems, you can turn this option off. | true | MEDIUM
 | *camel.sink.endpoint.activePortRange* | Set the client side port range in active mode. The syntax is: minPort-maxPort Both port numbers are inclusive, eg 10000-19999 to include all 1xxxx ports. | null | MEDIUM
@@ -83,7 +83,7 @@ The camel-ftps sink connector supports 59 options, which are listed below.
 | *camel.sink.endpoint.implicit* | Set the security mode (Implicit/Explicit). true - Implicit Mode / False - Explicit Mode | false | MEDIUM
 | *camel.sink.endpoint.password* | Password to use for login | null | MEDIUM
 | *camel.sink.endpoint.securityProtocol* | Set the underlying security protocol. | "TLSv1.2" | MEDIUM
-| *camel.sink.endpoint.sslContextParameters* | Gets the JSSE configuration that overrides any settings in FtpsEndpoint#\ftpClientKeyStoreParameters, \ftpClientTrustStoreParameters, and FtpsConfiguration#getSecurityProtocol(). | null | MEDIUM
+| *camel.sink.endpoint.sslContextParameters* | Gets the JSSE configuration that overrides any settings in FtpsEndpoint#ftpClientKeyStoreParameters, ftpClientTrustStoreParameters, and FtpsConfiguration#getSecurityProtocol(). | null | MEDIUM
 | *camel.sink.endpoint.username* | Username to use for login | null | MEDIUM
 | *camel.component.ftps.lazyStartProducer* | 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 cr [...]
 | *camel.component.ftps.basicPropertyBinding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | MEDIUM
diff --git a/connectors/camel-ftps-kafka-connector/src/main/docs/camel-ftps-kafka-source-connector.adoc b/connectors/camel-ftps-kafka-connector/src/main/docs/camel-ftps-kafka-source-connector.adoc
index e287813..3387a3e 100644
--- a/connectors/camel-ftps-kafka-connector/src/main/docs/camel-ftps-kafka-source-connector.adoc
+++ b/connectors/camel-ftps-kafka-connector/src/main/docs/camel-ftps-kafka-source-connector.adoc
@@ -35,14 +35,14 @@ The camel-ftps source connector supports 110 options, which are listed below.
 | *camel.source.endpoint.binary* | Specifies the file transfer mode, BINARY or ASCII. Default is ASCII (false). | false | MEDIUM
 | *camel.source.endpoint.charset* | This option is used to specify the encoding of the file. You can use this on the consumer, to specify the encodings of the files, which allow Camel to know the charset it should load the file content in case the file content is being accessed. Likewise when writing a file, you can use this option to specify which charset to write the file as well. Do mind that when writing the file Camel may have to read the message content into memory to be able to co [...]
 | *camel.source.endpoint.disconnect* | 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 the consumer/route instead. | false | MEDIUM
-| *camel.source.endpoint.doneFileName* | 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 dynamic placeholders. The done file will always be written in the same folder as the original file. Consumer: If provided, Camel will only consume files if a done file exists. This option configures what file name to use.  [...]
-| *camel.source.endpoint.fileName* | 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 CamelFileName header. (Note: The header itself can also be an Expression). The expression options support both String and Expression types. If the expression is a String type, it is always evaluated using the File Language. I [...]
+| *camel.source.endpoint.doneFileName* | 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 dynamic placeholders. The done file will always be written in the same folder as the original file. Consumer: If provided, Camel will only consume files if a done file exists. This option configures what file name to use.  [...]
+| *camel.source.endpoint.fileName* | 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 CamelFileName header. (Note: The header itself can also be an Expression). The expression options support both String and Expression types. If the expression is a String type, it is always evaluated using the File Language. I [...]
 | *camel.source.endpoint.passiveMode* | Sets passive mode connections. Default is active mode connections. | false | MEDIUM
 | *camel.source.endpoint.separator* | Sets the path separator to be used. UNIX = Uses unix style path separator Windows = Uses windows style path separator Auto = (is default) Use existing path separator in file name One of: [UNIX] [Windows] [Auto] | "UNIX" | MEDIUM
 | *camel.source.endpoint.transferLoggingInterval Seconds* | Configures the interval in seconds to use when logging the progress of upload and download operations that are in-flight. This is used for logging progress when operations takes longer time. | 5 | MEDIUM
 | *camel.source.endpoint.transferLoggingLevel* | Configure the logging level to use when logging the progress of upload and download operations. One of: [TRACE] [DEBUG] [INFO] [WARN] [ERROR] [OFF] | "DEBUG" | MEDIUM
 | *camel.source.endpoint.transferLoggingVerbose* | Configures whether the perform verbose (fine grained) logging of the progress of upload and download operations. | false | MEDIUM
-| *camel.source.endpoint.fastExistsCheck* | If set this option to be true, camel-\ftp will use the list file directly to check if the file exists. Since some FTP server may not support to list the file directly, if the option is false, camel-\ftp will use the old way to list the directory and check if the file exists. This option also influences readLock=changed to control whether it performs a fast check to update file information or not. This can be used to speed up the process if the  [...]
+| *camel.source.endpoint.fastExistsCheck* | If set this option to be true, camel-ftp will use the list file directly to check if the file exists. Since some FTP server may not support to list the file directly, if the option is false, camel-ftp will use the old way to list the directory and check if the file exists. This option also influences readLock=changed to control whether it performs a fast check to update file information or not. This can be used to speed up the process if the FT [...]
 | *camel.source.endpoint.bridgeErrorHandler* | 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. | false | MEDIUM
 | *camel.source.endpoint.delete* | If true, the file will be deleted after it is processed successfully. | false | MEDIUM
 | *camel.source.endpoint.moveFailed* | 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 the file again. | null | MEDIUM
@@ -87,10 +87,10 @@ The camel-ftps source connector supports 110 options, which are listed below.
 | *camel.source.endpoint.eagerMaxMessagesPerPoll* | 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, and then perform sorting. Setting this option to false allows for sorting all files first, and then limit the poll. Mind that this requires a higher memory usage as all file details are in memory to perform the sorting. | true | MEDIUM
 | *camel.source.endpoint.exclude* | Is used to exclude files, if filename matches the regex pattern (matching is case in-senstive). Notice if you use symbols such as plus sign and others you would need to configure this using the RAW() syntax if configuring this as an endpoint uri. See more details at configuring endpoint uris | null | MEDIUM
 | *camel.source.endpoint.filter* | Pluggable filter as a org.apache.camel.component.file.GenericFileFilter class. Will skip files if filter returns false in its accept() method. | null | MEDIUM
-| *camel.source.endpoint.filterDirectory* | 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} | null | MEDIUM
-| *camel.source.endpoint.filterFile* | Filters the file based on Simple language. For example to filter on file size, you can use \${file:size} 5000 | null | MEDIUM
+| *camel.source.endpoint.filterDirectory* | 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} | null | MEDIUM
+| *camel.source.endpoint.filterFile* | Filters the file based on Simple language. For example to filter on file size, you can use ${file:size} 5000 | null | MEDIUM
 | *camel.source.endpoint.idempotent* | 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 will be enabled as well to avoid consuming the same files over and over again. | "false" | MEDIUM
-| *camel.source.endpoint.idempotentKey* | 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} | null | MEDIUM
+| *camel.source.endpoint.idempotentKey* | 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} | null | MEDIUM
 | *camel.source.endpoint.idempotentRepository* | A pluggable repository org.apache.camel.spi.IdempotentRepository which by default use MemoryMessageIdRepository if none is specified and idempotent is true. | null | MEDIUM
 | *camel.source.endpoint.include* | 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 this as an endpoint uri. See more details at configuring endpoint uris | null | MEDIUM
 | *camel.source.endpoint.maxDepth* | The maximum depth to traverse when recursively processing a directory. | 2147483647 | MEDIUM
@@ -131,7 +131,7 @@ The camel-ftps source connector supports 110 options, which are listed below.
 | *camel.source.endpoint.implicit* | Set the security mode (Implicit/Explicit). true - Implicit Mode / False - Explicit Mode | false | MEDIUM
 | *camel.source.endpoint.password* | Password to use for login | null | MEDIUM
 | *camel.source.endpoint.securityProtocol* | Set the underlying security protocol. | "TLSv1.2" | MEDIUM
-| *camel.source.endpoint.sslContextParameters* | Gets the JSSE configuration that overrides any settings in FtpsEndpoint#\ftpClientKeyStoreParameters, \ftpClientTrustStoreParameters, and FtpsConfiguration#getSecurityProtocol(). | null | MEDIUM
+| *camel.source.endpoint.sslContextParameters* | Gets the JSSE configuration that overrides any settings in FtpsEndpoint#ftpClientKeyStoreParameters, ftpClientTrustStoreParameters, and FtpsConfiguration#getSecurityProtocol(). | null | MEDIUM
 | *camel.source.endpoint.username* | Username to use for login | null | MEDIUM
 | *camel.source.endpoint.shuffle* | To shuffle the list of files (sort in random order) | false | MEDIUM
 | *camel.source.endpoint.sortBy* | 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. | null | MEDIUM
diff --git a/connectors/camel-scp-kafka-connector/src/main/docs/camel-scp-kafka-sink-connector.adoc b/connectors/camel-scp-kafka-connector/src/main/docs/camel-scp-kafka-sink-connector.adoc
index 6fc027b..90012ea 100644
--- a/connectors/camel-scp-kafka-connector/src/main/docs/camel-scp-kafka-sink-connector.adoc
+++ b/connectors/camel-scp-kafka-connector/src/main/docs/camel-scp-kafka-sink-connector.adoc
@@ -34,7 +34,7 @@ The camel-scp sink connector supports 30 options, which are listed below.
 | *camel.sink.path.directoryName* | The starting directory | null | MEDIUM
 | *camel.sink.endpoint.chmod* | Allows you to set chmod on the stored file. For example chmod=664. | "664" | MEDIUM
 | *camel.sink.endpoint.disconnect* | 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 the consumer/route instead. | false | MEDIUM
-| *camel.sink.endpoint.fileName* | 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 CamelFileName header. (Note: The header itself can also be an Expression). The expression options support both String and Expression types. If the expression is a String type, it is always evaluated using the File Language. If  [...]
+| *camel.sink.endpoint.fileName* | 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 CamelFileName header. (Note: The header itself can also be an Expression). The expression options support both String and Expression types. If the expression is a String type, it is always evaluated using the File Language. If  [...]
 | *camel.sink.endpoint.flatten* | 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 they will be written in a single directory. Setting this to true on the producer enforces that any file name in CamelFileName header will be stripped for any leading paths. | false | MEDIUM
 | *camel.sink.endpoint.jailStartingDirectory* | 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 secured out of the box). You can turn this off to allow writing files to directories outside the starting directory, such as parent or root folders. | true | MEDIUM
 | *camel.sink.endpoint.lazyStartProducer* | 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 cre [...]
diff --git a/connectors/camel-sftp-kafka-connector/src/main/docs/camel-sftp-kafka-sink-connector.adoc b/connectors/camel-sftp-kafka-connector/src/main/docs/camel-sftp-kafka-sink-connector.adoc
index 507e3c8..5b67c3a 100644
--- a/connectors/camel-sftp-kafka-connector/src/main/docs/camel-sftp-kafka-sink-connector.adoc
+++ b/connectors/camel-sftp-kafka-connector/src/main/docs/camel-sftp-kafka-sink-connector.adoc
@@ -35,12 +35,12 @@ The camel-sftp sink connector supports 59 options, which are listed below.
 | *camel.sink.endpoint.binary* | Specifies the file transfer mode, BINARY or ASCII. Default is ASCII (false). | false | MEDIUM
 | *camel.sink.endpoint.charset* | This option is used to specify the encoding of the file. You can use this on the consumer, to specify the encodings of the files, which allow Camel to know the charset it should load the file content in case the file content is being accessed. Likewise when writing a file, you can use this option to specify which charset to write the file as well. Do mind that when writing the file Camel may have to read the message content into memory to be able to conv [...]
 | *camel.sink.endpoint.disconnect* | 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 the consumer/route instead. | false | MEDIUM
-| *camel.sink.endpoint.doneFileName* | 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 dynamic placeholders. The done file will always be written in the same folder as the original file. Consumer: If provided, Camel will only consume files if a done file exists. This option configures what file name to use. Ei [...]
-| *camel.sink.endpoint.fileName* | 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 CamelFileName header. (Note: The header itself can also be an Expression). The expression options support both String and Expression types. If the expression is a String type, it is always evaluated using the File Language. If  [...]
+| *camel.sink.endpoint.doneFileName* | 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 dynamic placeholders. The done file will always be written in the same folder as the original file. Consumer: If provided, Camel will only consume files if a done file exists. This option configures what file name to use. Ei [...]
+| *camel.sink.endpoint.fileName* | 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 CamelFileName header. (Note: The header itself can also be an Expression). The expression options support both String and Expression types. If the expression is a String type, it is always evaluated using the File Language. If  [...]
 | *camel.sink.endpoint.jschLoggingLevel* | The logging level to use for JSCH activity logging. As JSCH is verbose at by default at INFO level the threshold is WARN by default. One of: [TRACE] [DEBUG] [INFO] [WARN] [ERROR] [OFF] | "WARN" | MEDIUM
 | *camel.sink.endpoint.passiveMode* | Sets passive mode connections. Default is active mode connections. | false | MEDIUM
 | *camel.sink.endpoint.separator* | Sets the path separator to be used. UNIX = Uses unix style path separator Windows = Uses windows style path separator Auto = (is default) Use existing path separator in file name One of: [UNIX] [Windows] [Auto] | "UNIX" | MEDIUM
-| *camel.sink.endpoint.fastExistsCheck* | If set this option to be true, camel-\ftp will use the list file directly to check if the file exists. Since some FTP server may not support to list the file directly, if the option is false, camel-\ftp will use the old way to list the directory and check if the file exists. This option also influences readLock=changed to control whether it performs a fast check to update file information or not. This can be used to speed up the process if the FT [...]
+| *camel.sink.endpoint.fastExistsCheck* | If set this option to be true, camel-ftp will use the list file directly to check if the file exists. Since some FTP server may not support to list the file directly, if the option is false, camel-ftp will use the old way to list the directory and check if the file exists. This option also influences readLock=changed to control whether it performs a fast check to update file information or not. This can be used to speed up the process if the FTP  [...]
 | *camel.sink.endpoint.fileExist* | What to do if a file already exists with the same name. Override, which is the default, replaces the existing file. - Append - adds content to the existing file. - Fail - throws a GenericFileOperationException, indicating that there is already an existing file. - Ignore - silently ignores the problem and does not override the existing file, but assumes everything is okay. - Move - option requires to use the moveExisting option to be configured as well. [...]
 | *camel.sink.endpoint.flatten* | 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 they will be written in a single directory. Setting this to true on the producer enforces that any file name in CamelFileName header will be stripped for any leading paths. | false | MEDIUM
 | *camel.sink.endpoint.jailStartingDirectory* | 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 secured out of the box). You can turn this off to allow writing files to directories outside the starting directory, such as parent or root folders. | true | MEDIUM
@@ -52,7 +52,7 @@ The camel-sftp sink connector supports 59 options, which are listed below.
 | *camel.sink.endpoint.chmod* | Allows you to set chmod on the stored file. For example chmod=640. | null | MEDIUM
 | *camel.sink.endpoint.disconnectOnBatchComplete* | Whether or not to disconnect from remote FTP server right after a Batch upload is complete. disconnectOnBatchComplete will only disconnect the current connection to the FTP server. | false | MEDIUM
 | *camel.sink.endpoint.eagerDeleteTargetFile* | 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 this to disable (set it to false) deleting the target file before the temp file is written. For example you may write big files and want the target file to exists during the temp file is being written. This ensure the target file is only deleted until the very last moment, just [...]
-| *camel.sink.endpoint.keepLastModified* | Will keep the last modified timestamp from the source file (if any). Will use the Exchange.FILE_LAST_MODIFIED header to located the timestamp. This header can contain either a java.util.Date or long with the timestamp. If the timestamp exists and the option is enabled it will set this timestamp on the written file. Note: This option only applies to the file producer. You cannot use this option with any of the \ftp producers. | false | MEDIUM
+| *camel.sink.endpoint.keepLastModified* | Will keep the last modified timestamp from the source file (if any). Will use the Exchange.FILE_LAST_MODIFIED header to located the timestamp. This header can contain either a java.util.Date or long with the timestamp. If the timestamp exists and the option is enabled it will set this timestamp on the written file. Note: This option only applies to the file producer. You cannot use this option with any of the ftp producers. | false | MEDIUM
 | *camel.sink.endpoint.moveExistingFileStrategy* | Strategy (Custom Strategy) used to move file with special naming token to use when fileExist=Move is configured. By default, there is an implementation used if no custom strategy is provided | null | MEDIUM
 | *camel.sink.endpoint.sendNoop* | Whether to send a noop command as a pre-write check before uploading files to the FTP server. This is enabled by default as a validation of the connection is still valid, which allows to silently re-connect to be able to upload the file. However if this causes problems, you can turn this option off. | true | MEDIUM
 | *camel.sink.endpoint.autoCreate* | 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. | true | MEDIUM
diff --git a/connectors/camel-sftp-kafka-connector/src/main/docs/camel-sftp-kafka-source-connector.adoc b/connectors/camel-sftp-kafka-connector/src/main/docs/camel-sftp-kafka-source-connector.adoc
index d02ec66..e182ca1 100644
--- a/connectors/camel-sftp-kafka-connector/src/main/docs/camel-sftp-kafka-source-connector.adoc
+++ b/connectors/camel-sftp-kafka-connector/src/main/docs/camel-sftp-kafka-source-connector.adoc
@@ -35,12 +35,12 @@ The camel-sftp source connector supports 112 options, which are listed below.
 | *camel.source.endpoint.binary* | Specifies the file transfer mode, BINARY or ASCII. Default is ASCII (false). | false | MEDIUM
 | *camel.source.endpoint.charset* | This option is used to specify the encoding of the file. You can use this on the consumer, to specify the encodings of the files, which allow Camel to know the charset it should load the file content in case the file content is being accessed. Likewise when writing a file, you can use this option to specify which charset to write the file as well. Do mind that when writing the file Camel may have to read the message content into memory to be able to co [...]
 | *camel.source.endpoint.disconnect* | 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 the consumer/route instead. | false | MEDIUM
-| *camel.source.endpoint.doneFileName* | 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 dynamic placeholders. The done file will always be written in the same folder as the original file. Consumer: If provided, Camel will only consume files if a done file exists. This option configures what file name to use.  [...]
-| *camel.source.endpoint.fileName* | 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 CamelFileName header. (Note: The header itself can also be an Expression). The expression options support both String and Expression types. If the expression is a String type, it is always evaluated using the File Language. I [...]
+| *camel.source.endpoint.doneFileName* | 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 dynamic placeholders. The done file will always be written in the same folder as the original file. Consumer: If provided, Camel will only consume files if a done file exists. This option configures what file name to use.  [...]
+| *camel.source.endpoint.fileName* | 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 CamelFileName header. (Note: The header itself can also be an Expression). The expression options support both String and Expression types. If the expression is a String type, it is always evaluated using the File Language. I [...]
 | *camel.source.endpoint.jschLoggingLevel* | The logging level to use for JSCH activity logging. As JSCH is verbose at by default at INFO level the threshold is WARN by default. One of: [TRACE] [DEBUG] [INFO] [WARN] [ERROR] [OFF] | "WARN" | MEDIUM
 | *camel.source.endpoint.passiveMode* | Sets passive mode connections. Default is active mode connections. | false | MEDIUM
 | *camel.source.endpoint.separator* | Sets the path separator to be used. UNIX = Uses unix style path separator Windows = Uses windows style path separator Auto = (is default) Use existing path separator in file name One of: [UNIX] [Windows] [Auto] | "UNIX" | MEDIUM
-| *camel.source.endpoint.fastExistsCheck* | If set this option to be true, camel-\ftp will use the list file directly to check if the file exists. Since some FTP server may not support to list the file directly, if the option is false, camel-\ftp will use the old way to list the directory and check if the file exists. This option also influences readLock=changed to control whether it performs a fast check to update file information or not. This can be used to speed up the process if the  [...]
+| *camel.source.endpoint.fastExistsCheck* | If set this option to be true, camel-ftp will use the list file directly to check if the file exists. Since some FTP server may not support to list the file directly, if the option is false, camel-ftp will use the old way to list the directory and check if the file exists. This option also influences readLock=changed to control whether it performs a fast check to update file information or not. This can be used to speed up the process if the FT [...]
 | *camel.source.endpoint.bridgeErrorHandler* | 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. | false | MEDIUM
 | *camel.source.endpoint.delete* | If true, the file will be deleted after it is processed successfully. | false | MEDIUM
 | *camel.source.endpoint.moveFailed* | 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 the file again. | null | MEDIUM
@@ -83,10 +83,10 @@ The camel-sftp source connector supports 112 options, which are listed below.
 | *camel.source.endpoint.eagerMaxMessagesPerPoll* | 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, and then perform sorting. Setting this option to false allows for sorting all files first, and then limit the poll. Mind that this requires a higher memory usage as all file details are in memory to perform the sorting. | true | MEDIUM
 | *camel.source.endpoint.exclude* | Is used to exclude files, if filename matches the regex pattern (matching is case in-senstive). Notice if you use symbols such as plus sign and others you would need to configure this using the RAW() syntax if configuring this as an endpoint uri. See more details at configuring endpoint uris | null | MEDIUM
 | *camel.source.endpoint.filter* | Pluggable filter as a org.apache.camel.component.file.GenericFileFilter class. Will skip files if filter returns false in its accept() method. | null | MEDIUM
-| *camel.source.endpoint.filterDirectory* | 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} | null | MEDIUM
-| *camel.source.endpoint.filterFile* | Filters the file based on Simple language. For example to filter on file size, you can use \${file:size} 5000 | null | MEDIUM
+| *camel.source.endpoint.filterDirectory* | 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} | null | MEDIUM
+| *camel.source.endpoint.filterFile* | Filters the file based on Simple language. For example to filter on file size, you can use ${file:size} 5000 | null | MEDIUM
 | *camel.source.endpoint.idempotent* | 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 will be enabled as well to avoid consuming the same files over and over again. | "false" | MEDIUM
-| *camel.source.endpoint.idempotentKey* | 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} | null | MEDIUM
+| *camel.source.endpoint.idempotentKey* | 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} | null | MEDIUM
 | *camel.source.endpoint.idempotentRepository* | A pluggable repository org.apache.camel.spi.IdempotentRepository which by default use MemoryMessageIdRepository if none is specified and idempotent is true. | null | MEDIUM
 | *camel.source.endpoint.include* | 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 this as an endpoint uri. See more details at configuring endpoint uris | null | MEDIUM
 | *camel.source.endpoint.maxDepth* | The maximum depth to traverse when recursively processing a directory. | 2147483647 | MEDIUM
diff --git a/docs/modules/ROOT/pages/connectors/camel-azure-eventhubs-kafka-sink-connector.adoc b/docs/modules/ROOT/pages/connectors/camel-azure-eventhubs-kafka-sink-connector.adoc
index 6e25c94..d006b54 100644
--- a/docs/modules/ROOT/pages/connectors/camel-azure-eventhubs-kafka-sink-connector.adoc
+++ b/docs/modules/ROOT/pages/connectors/camel-azure-eventhubs-kafka-sink-connector.adoc
@@ -37,7 +37,7 @@ The camel-azure-eventhubs sink connector supports 26 options, which are listed b
 | *camel.sink.endpoint.lazyStartProducer* | 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 cre [...]
 | *camel.sink.endpoint.partitionId* | Sets the identifier of the Event Hub partition that the {link EventData events} will be sent to. If the identifier is not specified, the Event Hubs service will be responsible for routing events that are sent to an available partition. | null | MEDIUM
 | *camel.sink.endpoint.partitionKey* | Sets a hashing key to be provided for the batch of events, which instructs the Event Hubs service to map this key to a specific partition. The selection of a partition is stable for a given partition hashing key. Should any other batches of events be sent using the same exact partition hashing key, the Event Hubs service will route them all to the same partition. This should be specified only when there is a need to group events by partition, but th [...]
-| *camel.sink.endpoint.producerAsyncClient* | Sets the EventHubProducerAsyncClient.An asynchronous producer responsible for transmitting EventData to a specific Event Hub, grouped together in batches. Depending on the {link CreateBatchOptions options} specified when creating an \{linkEventDataBatch\}, the events may be automatically routed to an available partition or specific to a partition. Use by this component to produce the data in camel producer. | null | MEDIUM
+| *camel.sink.endpoint.producerAsyncClient* | Sets the EventHubProducerAsyncClient.An asynchronous producer responsible for transmitting EventData to a specific Event Hub, grouped together in batches. Depending on the {link CreateBatchOptions options} specified when creating an \{linkEventDataBatch}, the events may be automatically routed to an available partition or specific to a partition. Use by this component to produce the data in camel producer. | null | MEDIUM
 | *camel.sink.endpoint.basicPropertyBinding* | Whether the endpoint should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | MEDIUM
 | *camel.sink.endpoint.synchronous* | Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported). | false | MEDIUM
 | *camel.sink.endpoint.connectionString* | Instead of supplying namespace, sharedAccessKey, sharedAccessName ... etc, you can just supply the connection string for your eventHub. The connection string for EventHubs already include all the necessary information to connection to your EventHub. To learn on how to generate the connection string, take a look at this documentation: \https://docs.microsoft.com/en-us/azure/event-hubs/event-hubs-get-connection-string | null | MEDIUM
@@ -50,7 +50,7 @@ The camel-azure-eventhubs sink connector supports 26 options, which are listed b
 | *camel.component.azure-eventhubs.lazyStartProducer* | 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 proces [...]
 | *camel.component.azure-eventhubs.partitionId* | Sets the identifier of the Event Hub partition that the {link EventData events} will be sent to. If the identifier is not specified, the Event Hubs service will be responsible for routing events that are sent to an available partition. | null | MEDIUM
 | *camel.component.azure-eventhubs.partitionKey* | Sets a hashing key to be provided for the batch of events, which instructs the Event Hubs service to map this key to a specific partition. The selection of a partition is stable for a given partition hashing key. Should any other batches of events be sent using the same exact partition hashing key, the Event Hubs service will route them all to the same partition. This should be specified only when there is a need to group events by parti [...]
-| *camel.component.azure-eventhubs.producerAsync Client* | Sets the EventHubProducerAsyncClient.An asynchronous producer responsible for transmitting EventData to a specific Event Hub, grouped together in batches. Depending on the {link CreateBatchOptions options} specified when creating an \{linkEventDataBatch\}, the events may be automatically routed to an available partition or specific to a partition. Use by this component to produce the data in camel producer. | null | MEDIUM
+| *camel.component.azure-eventhubs.producerAsync Client* | Sets the EventHubProducerAsyncClient.An asynchronous producer responsible for transmitting EventData to a specific Event Hub, grouped together in batches. Depending on the {link CreateBatchOptions options} specified when creating an \{linkEventDataBatch}, the events may be automatically routed to an available partition or specific to a partition. Use by this component to produce the data in camel producer. | null | MEDIUM
 | *camel.component.azure-eventhubs.basicProperty Binding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | MEDIUM
 | *camel.component.azure-eventhubs.connectionString* | Instead of supplying namespace, sharedAccessKey, sharedAccessName ... etc, you can just supply the connection string for your eventHub. The connection string for EventHubs already include all the necessary information to connection to your EventHub. To learn on how to generate the connection string, take a look at this documentation: \https://docs.microsoft.com/en-us/azure/event-hubs/event-hubs-get-connection-string | null | MEDIUM
 | *camel.component.azure-eventhubs.sharedAccessKey* | The generated value for the SharedAccessName | null | MEDIUM
diff --git a/docs/modules/ROOT/pages/connectors/camel-azure-eventhubs-kafka-source-connector.adoc b/docs/modules/ROOT/pages/connectors/camel-azure-eventhubs-kafka-source-connector.adoc
index 56d83eb..15ab488 100644
--- a/docs/modules/ROOT/pages/connectors/camel-azure-eventhubs-kafka-source-connector.adoc
+++ b/docs/modules/ROOT/pages/connectors/camel-azure-eventhubs-kafka-source-connector.adoc
@@ -40,7 +40,7 @@ The camel-azure-eventhubs source connector supports 38 options, which are listed
 | *camel.source.endpoint.blobStorageSharedKey Credential* | In case you chose the default BlobCheckpointStore, StorageSharedKeyCredential can be injected to create the azure client, this holds the important authentication information | null | MEDIUM
 | *camel.source.endpoint.bridgeErrorHandler* | 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. | false | MEDIUM
 | *camel.source.endpoint.checkpointStore* | Sets the CheckpointStore the EventProcessorClient will use for storing partition ownership and checkpoint information. Users can, optionally, provide their own implementation of CheckpointStore which will store ownership and checkpoint information. By default it set to use com.azure.messaging.eventhubs.checkpointstore.blob.BlobCheckpointStore which stores all checkpoint offsets into Azure Blob Storage | "BlobCheckpointStore" | MEDIUM
-| *camel.source.endpoint.consumerGroupName* | Sets the name of the consumer group this consumer is associated with. Events are read in the context of this group. The name of the consumer group that is created by default is {link #DEFAULT_CONSUMER_GROUP_NAME \$Default}. | "$Default" | MEDIUM
+| *camel.source.endpoint.consumerGroupName* | Sets the name of the consumer group this consumer is associated with. Events are read in the context of this group. The name of the consumer group that is created by default is {link #DEFAULT_CONSUMER_GROUP_NAME $Default}. | "$Default" | MEDIUM
 | *camel.source.endpoint.eventPosition* | Sets the map containing the event position to use for each partition if a checkpoint for the partition does not exist in CheckpointStore. This map is keyed off of the partition id. If there is no checkpoint in CheckpointStore and there is no entry in this map, the processing of the partition will start from {link EventPosition#latest() latest} position. | null | MEDIUM
 | *camel.source.endpoint.prefetchCount* | Sets the count used by the receiver to control the number of events the Event Hub consumer will actively receive and queue locally without regard to whether a receive operation is currently active. | 500 | MEDIUM
 | *camel.source.endpoint.exceptionHandler* | To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored. | null | MEDIUM
@@ -60,7 +60,7 @@ The camel-azure-eventhubs source connector supports 38 options, which are listed
 | *camel.component.azure-eventhubs.blobStorageShared KeyCredential* | In case you chose the default BlobCheckpointStore, StorageSharedKeyCredential can be injected to create the azure client, this holds the important authentication information | null | MEDIUM
 | *camel.component.azure-eventhubs.bridgeErrorHandler* | 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. | false | MEDIUM
 | *camel.component.azure-eventhubs.checkpointStore* | Sets the CheckpointStore the EventProcessorClient will use for storing partition ownership and checkpoint information. Users can, optionally, provide their own implementation of CheckpointStore which will store ownership and checkpoint information. By default it set to use com.azure.messaging.eventhubs.checkpointstore.blob.BlobCheckpointStore which stores all checkpoint offsets into Azure Blob Storage | "BlobCheckpointStore" | MEDIUM
-| *camel.component.azure-eventhubs.consumerGroupName* | Sets the name of the consumer group this consumer is associated with. Events are read in the context of this group. The name of the consumer group that is created by default is {link #DEFAULT_CONSUMER_GROUP_NAME \$Default}. | "$Default" | MEDIUM
+| *camel.component.azure-eventhubs.consumerGroupName* | Sets the name of the consumer group this consumer is associated with. Events are read in the context of this group. The name of the consumer group that is created by default is {link #DEFAULT_CONSUMER_GROUP_NAME $Default}. | "$Default" | MEDIUM
 | *camel.component.azure-eventhubs.eventPosition* | Sets the map containing the event position to use for each partition if a checkpoint for the partition does not exist in CheckpointStore. This map is keyed off of the partition id. If there is no checkpoint in CheckpointStore and there is no entry in this map, the processing of the partition will start from {link EventPosition#latest() latest} position. | null | MEDIUM
 | *camel.component.azure-eventhubs.prefetchCount* | Sets the count used by the receiver to control the number of events the Event Hub consumer will actively receive and queue locally without regard to whether a receive operation is currently active. | 500 | MEDIUM
 | *camel.component.azure-eventhubs.basicProperty Binding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | MEDIUM
diff --git a/docs/modules/ROOT/pages/connectors/camel-cxf-kafka-sink-connector.adoc b/docs/modules/ROOT/pages/connectors/camel-cxf-kafka-sink-connector.adoc
index 966aea0..921cb0f 100644
--- a/docs/modules/ROOT/pages/connectors/camel-cxf-kafka-sink-connector.adoc
+++ b/docs/modules/ROOT/pages/connectors/camel-cxf-kafka-sink-connector.adoc
@@ -45,7 +45,7 @@ The camel-cxf sink connector supports 40 options, which are listed below.
 | *camel.sink.endpoint.bus* | To use a custom configured CXF Bus. | null | MEDIUM
 | *camel.sink.endpoint.continuationTimeout* | This option is used to set the CXF continuation timeout which could be used in CxfConsumer by default when the CXF server is using Jetty or Servlet transport. | 30000L | MEDIUM
 | *camel.sink.endpoint.cxfBinding* | To use a custom CxfBinding to control the binding between Camel Message and CXF Message. | null | MEDIUM
-| *camel.sink.endpoint.cxfConfigurer* | This option could apply the implementation of org.apache.camel.component.cxf.CxfEndpointConfigurer which supports to configure the CXF endpoint in programmatic way. User can configure the CXF server and client by implementing configure\{ServerClient\} method of CxfEndpointConfigurer. | null | MEDIUM
+| *camel.sink.endpoint.cxfConfigurer* | This option could apply the implementation of org.apache.camel.component.cxf.CxfEndpointConfigurer which supports to configure the CXF endpoint in programmatic way. User can configure the CXF server and client by implementing configure\{ServerClient} method of CxfEndpointConfigurer. | null | MEDIUM
 | *camel.sink.endpoint.defaultBus* | Will set the default bus when CXF endpoint create a bus by itself | false | MEDIUM
 | *camel.sink.endpoint.headerFilterStrategy* | To use a custom HeaderFilterStrategy to filter header to and from Camel message. | null | MEDIUM
 | *camel.sink.endpoint.mergeProtocolHeaders* | Whether to merge protocol headers. If enabled then propagating headers between Camel and CXF becomes more consistent and similar. For more details see CAMEL-6393. | false | MEDIUM
diff --git a/docs/modules/ROOT/pages/connectors/camel-cxf-kafka-source-connector.adoc b/docs/modules/ROOT/pages/connectors/camel-cxf-kafka-source-connector.adoc
index 6b83ff8..a8d0704 100644
--- a/docs/modules/ROOT/pages/connectors/camel-cxf-kafka-source-connector.adoc
+++ b/docs/modules/ROOT/pages/connectors/camel-cxf-kafka-source-connector.adoc
@@ -41,7 +41,7 @@ The camel-cxf source connector supports 36 options, which are listed below.
 | *camel.source.endpoint.bus* | To use a custom configured CXF Bus. | null | MEDIUM
 | *camel.source.endpoint.continuationTimeout* | This option is used to set the CXF continuation timeout which could be used in CxfConsumer by default when the CXF server is using Jetty or Servlet transport. | 30000L | MEDIUM
 | *camel.source.endpoint.cxfBinding* | To use a custom CxfBinding to control the binding between Camel Message and CXF Message. | null | MEDIUM
-| *camel.source.endpoint.cxfConfigurer* | This option could apply the implementation of org.apache.camel.component.cxf.CxfEndpointConfigurer which supports to configure the CXF endpoint in programmatic way. User can configure the CXF server and client by implementing configure\{ServerClient\} method of CxfEndpointConfigurer. | null | MEDIUM
+| *camel.source.endpoint.cxfConfigurer* | This option could apply the implementation of org.apache.camel.component.cxf.CxfEndpointConfigurer which supports to configure the CXF endpoint in programmatic way. User can configure the CXF server and client by implementing configure\{ServerClient} method of CxfEndpointConfigurer. | null | MEDIUM
 | *camel.source.endpoint.defaultBus* | Will set the default bus when CXF endpoint create a bus by itself | false | MEDIUM
 | *camel.source.endpoint.headerFilterStrategy* | To use a custom HeaderFilterStrategy to filter header to and from Camel message. | null | MEDIUM
 | *camel.source.endpoint.mergeProtocolHeaders* | Whether to merge protocol headers. If enabled then propagating headers between Camel and CXF becomes more consistent and similar. For more details see CAMEL-6393. | false | MEDIUM
diff --git a/docs/modules/ROOT/pages/connectors/camel-file-kafka-sink-connector.adoc b/docs/modules/ROOT/pages/connectors/camel-file-kafka-sink-connector.adoc
index 02a8e7c..98ba983 100644
--- a/docs/modules/ROOT/pages/connectors/camel-file-kafka-sink-connector.adoc
+++ b/docs/modules/ROOT/pages/connectors/camel-file-kafka-sink-connector.adoc
@@ -31,8 +31,8 @@ The camel-file sink connector supports 27 options, which are listed below.
 | Name | Description | Default | Priority
 | *camel.sink.path.directoryName* | The starting directory | null | HIGH
 | *camel.sink.endpoint.charset* | This option is used to specify the encoding of the file. You can use this on the consumer, to specify the encodings of the files, which allow Camel to know the charset it should load the file content in case the file content is being accessed. Likewise when writing a file, you can use this option to specify which charset to write the file as well. Do mind that when writing the file Camel may have to read the message content into memory to be able to conv [...]
-| *camel.sink.endpoint.doneFileName* | 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 dynamic placeholders. The done file will always be written in the same folder as the original file. Consumer: If provided, Camel will only consume files if a done file exists. This option configures what file name to use. Ei [...]
-| *camel.sink.endpoint.fileName* | 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 CamelFileName header. (Note: The header itself can also be an Expression). The expression options support both String and Expression types. If the expression is a String type, it is always evaluated using the File Language. If  [...]
+| *camel.sink.endpoint.doneFileName* | 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 dynamic placeholders. The done file will always be written in the same folder as the original file. Consumer: If provided, Camel will only consume files if a done file exists. This option configures what file name to use. Ei [...]
+| *camel.sink.endpoint.fileName* | 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 CamelFileName header. (Note: The header itself can also be an Expression). The expression options support both String and Expression types. If the expression is a String type, it is always evaluated using the File Language. If  [...]
 | *camel.sink.endpoint.appendChars* | Used to append characters (text) after writing files. This can for example be used to add new lines or other separators when writing and appending to existing files. To specify new-line (slash-n or slash-r) or tab (slash-t) characters then escape with an extra slash, eg slash-slash-n. | null | MEDIUM
 | *camel.sink.endpoint.fileExist* | What to do if a file already exists with the same name. Override, which is the default, replaces the existing file. - Append - adds content to the existing file. - Fail - throws a GenericFileOperationException, indicating that there is already an existing file. - Ignore - silently ignores the problem and does not override the existing file, but assumes everything is okay. - Move - option requires to use the moveExisting option to be configured as well. [...]
 | *camel.sink.endpoint.flatten* | 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 they will be written in a single directory. Setting this to true on the producer enforces that any file name in CamelFileName header will be stripped for any leading paths. | false | MEDIUM
@@ -46,7 +46,7 @@ The camel-file sink connector supports 27 options, which are listed below.
 | *camel.sink.endpoint.chmodDirectory* | Specify the directory permissions used when the producer creates missing directories, the chmod value must be between 000 and 777; If there is a leading digit like in 0755 we will ignore it. | null | MEDIUM
 | *camel.sink.endpoint.eagerDeleteTargetFile* | 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 this to disable (set it to false) deleting the target file before the temp file is written. For example you may write big files and want the target file to exists during the temp file is being written. This ensure the target file is only deleted until the very last moment, just [...]
 | *camel.sink.endpoint.forceWrites* | Whether to force syncing writes to the file system. You can turn this off if you do not want this level of guarantee, for example if writing to logs / audit logs etc; this would yield better performance. | true | MEDIUM
-| *camel.sink.endpoint.keepLastModified* | Will keep the last modified timestamp from the source file (if any). Will use the Exchange.FILE_LAST_MODIFIED header to located the timestamp. This header can contain either a java.util.Date or long with the timestamp. If the timestamp exists and the option is enabled it will set this timestamp on the written file. Note: This option only applies to the file producer. You cannot use this option with any of the \ftp producers. | false | MEDIUM
+| *camel.sink.endpoint.keepLastModified* | Will keep the last modified timestamp from the source file (if any). Will use the Exchange.FILE_LAST_MODIFIED header to located the timestamp. This header can contain either a java.util.Date or long with the timestamp. If the timestamp exists and the option is enabled it will set this timestamp on the written file. Note: This option only applies to the file producer. You cannot use this option with any of the ftp producers. | false | MEDIUM
 | *camel.sink.endpoint.moveExistingFileStrategy* | Strategy (Custom Strategy) used to move file with special naming token to use when fileExist=Move is configured. By default, there is an implementation used if no custom strategy is provided | null | MEDIUM
 | *camel.sink.endpoint.autoCreate* | 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. | true | MEDIUM
 | *camel.sink.endpoint.basicPropertyBinding* | Whether the endpoint should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | MEDIUM
diff --git a/docs/modules/ROOT/pages/connectors/camel-file-kafka-source-connector.adoc b/docs/modules/ROOT/pages/connectors/camel-file-kafka-source-connector.adoc
index 3f72edf..c1de81b 100644
--- a/docs/modules/ROOT/pages/connectors/camel-file-kafka-source-connector.adoc
+++ b/docs/modules/ROOT/pages/connectors/camel-file-kafka-source-connector.adoc
@@ -31,8 +31,8 @@ The camel-file source connector supports 80 options, which are listed below.
 | Name | Description | Default | Priority
 | *camel.source.path.directoryName* | The starting directory | null | HIGH
 | *camel.source.endpoint.charset* | This option is used to specify the encoding of the file. You can use this on the consumer, to specify the encodings of the files, which allow Camel to know the charset it should load the file content in case the file content is being accessed. Likewise when writing a file, you can use this option to specify which charset to write the file as well. Do mind that when writing the file Camel may have to read the message content into memory to be able to co [...]
-| *camel.source.endpoint.doneFileName* | 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 dynamic placeholders. The done file will always be written in the same folder as the original file. Consumer: If provided, Camel will only consume files if a done file exists. This option configures what file name to use.  [...]
-| *camel.source.endpoint.fileName* | 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 CamelFileName header. (Note: The header itself can also be an Expression). The expression options support both String and Expression types. If the expression is a String type, it is always evaluated using the File Language. I [...]
+| *camel.source.endpoint.doneFileName* | 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 dynamic placeholders. The done file will always be written in the same folder as the original file. Consumer: If provided, Camel will only consume files if a done file exists. This option configures what file name to use.  [...]
+| *camel.source.endpoint.fileName* | 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 CamelFileName header. (Note: The header itself can also be an Expression). The expression options support both String and Expression types. If the expression is a String type, it is always evaluated using the File Language. I [...]
 | *camel.source.endpoint.bridgeErrorHandler* | 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. | false | MEDIUM
 | *camel.source.endpoint.delete* | If true, the file will be deleted after it is processed successfully. | false | MEDIUM
 | *camel.source.endpoint.moveFailed* | 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 the file again. | null | MEDIUM
@@ -65,10 +65,10 @@ The camel-file source connector supports 80 options, which are listed below.
 | *camel.source.endpoint.eagerMaxMessagesPerPoll* | 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, and then perform sorting. Setting this option to false allows for sorting all files first, and then limit the poll. Mind that this requires a higher memory usage as all file details are in memory to perform the sorting. | true | MEDIUM
 | *camel.source.endpoint.exclude* | Is used to exclude files, if filename matches the regex pattern (matching is case in-senstive). Notice if you use symbols such as plus sign and others you would need to configure this using the RAW() syntax if configuring this as an endpoint uri. See more details at configuring endpoint uris | null | MEDIUM
 | *camel.source.endpoint.filter* | Pluggable filter as a org.apache.camel.component.file.GenericFileFilter class. Will skip files if filter returns false in its accept() method. | null | MEDIUM
-| *camel.source.endpoint.filterDirectory* | 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} | null | MEDIUM
-| *camel.source.endpoint.filterFile* | Filters the file based on Simple language. For example to filter on file size, you can use \${file:size} 5000 | null | MEDIUM
+| *camel.source.endpoint.filterDirectory* | 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} | null | MEDIUM
+| *camel.source.endpoint.filterFile* | Filters the file based on Simple language. For example to filter on file size, you can use ${file:size} 5000 | null | MEDIUM
 | *camel.source.endpoint.idempotent* | 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 will be enabled as well to avoid consuming the same files over and over again. | "false" | MEDIUM
-| *camel.source.endpoint.idempotentKey* | 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} | null | MEDIUM
+| *camel.source.endpoint.idempotentKey* | 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} | null | MEDIUM
 | *camel.source.endpoint.idempotentRepository* | A pluggable repository org.apache.camel.spi.IdempotentRepository which by default use MemoryMessageIdRepository if none is specified and idempotent is true. | null | MEDIUM
 | *camel.source.endpoint.include* | 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 this as an endpoint uri. See more details at configuring endpoint uris | null | MEDIUM
 | *camel.source.endpoint.maxDepth* | The maximum depth to traverse when recursively processing a directory. | 2147483647 | MEDIUM
diff --git a/docs/modules/ROOT/pages/connectors/camel-ftp-kafka-sink-connector.adoc b/docs/modules/ROOT/pages/connectors/camel-ftp-kafka-sink-connector.adoc
index 062d5b1..a7b587b 100644
--- a/docs/modules/ROOT/pages/connectors/camel-ftp-kafka-sink-connector.adoc
+++ b/docs/modules/ROOT/pages/connectors/camel-ftp-kafka-sink-connector.adoc
@@ -35,14 +35,14 @@ The camel-ftp sink connector supports 50 options, which are listed below.
 | *camel.sink.endpoint.binary* | Specifies the file transfer mode, BINARY or ASCII. Default is ASCII (false). | false | MEDIUM
 | *camel.sink.endpoint.charset* | This option is used to specify the encoding of the file. You can use this on the consumer, to specify the encodings of the files, which allow Camel to know the charset it should load the file content in case the file content is being accessed. Likewise when writing a file, you can use this option to specify which charset to write the file as well. Do mind that when writing the file Camel may have to read the message content into memory to be able to conv [...]
 | *camel.sink.endpoint.disconnect* | 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 the consumer/route instead. | false | MEDIUM
-| *camel.sink.endpoint.doneFileName* | 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 dynamic placeholders. The done file will always be written in the same folder as the original file. Consumer: If provided, Camel will only consume files if a done file exists. This option configures what file name to use. Ei [...]
-| *camel.sink.endpoint.fileName* | 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 CamelFileName header. (Note: The header itself can also be an Expression). The expression options support both String and Expression types. If the expression is a String type, it is always evaluated using the File Language. If  [...]
+| *camel.sink.endpoint.doneFileName* | 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 dynamic placeholders. The done file will always be written in the same folder as the original file. Consumer: If provided, Camel will only consume files if a done file exists. This option configures what file name to use. Ei [...]
+| *camel.sink.endpoint.fileName* | 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 CamelFileName header. (Note: The header itself can also be an Expression). The expression options support both String and Expression types. If the expression is a String type, it is always evaluated using the File Language. If  [...]
 | *camel.sink.endpoint.passiveMode* | Sets passive mode connections. Default is active mode connections. | false | MEDIUM
 | *camel.sink.endpoint.separator* | Sets the path separator to be used. UNIX = Uses unix style path separator Windows = Uses windows style path separator Auto = (is default) Use existing path separator in file name One of: [UNIX] [Windows] [Auto] | "UNIX" | MEDIUM
 | *camel.sink.endpoint.transferLoggingIntervalSeconds* | Configures the interval in seconds to use when logging the progress of upload and download operations that are in-flight. This is used for logging progress when operations takes longer time. | 5 | MEDIUM
 | *camel.sink.endpoint.transferLoggingLevel* | Configure the logging level to use when logging the progress of upload and download operations. One of: [TRACE] [DEBUG] [INFO] [WARN] [ERROR] [OFF] | "DEBUG" | MEDIUM
 | *camel.sink.endpoint.transferLoggingVerbose* | Configures whether the perform verbose (fine grained) logging of the progress of upload and download operations. | false | MEDIUM
-| *camel.sink.endpoint.fastExistsCheck* | If set this option to be true, camel-\ftp will use the list file directly to check if the file exists. Since some FTP server may not support to list the file directly, if the option is false, camel-\ftp will use the old way to list the directory and check if the file exists. This option also influences readLock=changed to control whether it performs a fast check to update file information or not. This can be used to speed up the process if the FT [...]
+| *camel.sink.endpoint.fastExistsCheck* | If set this option to be true, camel-ftp will use the list file directly to check if the file exists. Since some FTP server may not support to list the file directly, if the option is false, camel-ftp will use the old way to list the directory and check if the file exists. This option also influences readLock=changed to control whether it performs a fast check to update file information or not. This can be used to speed up the process if the FTP  [...]
 | *camel.sink.endpoint.fileExist* | What to do if a file already exists with the same name. Override, which is the default, replaces the existing file. - Append - adds content to the existing file. - Fail - throws a GenericFileOperationException, indicating that there is already an existing file. - Ignore - silently ignores the problem and does not override the existing file, but assumes everything is okay. - Move - option requires to use the moveExisting option to be configured as well. [...]
 | *camel.sink.endpoint.flatten* | 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 they will be written in a single directory. Setting this to true on the producer enforces that any file name in CamelFileName header will be stripped for any leading paths. | false | MEDIUM
 | *camel.sink.endpoint.jailStartingDirectory* | 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 secured out of the box). You can turn this off to allow writing files to directories outside the starting directory, such as parent or root folders. | true | MEDIUM
@@ -54,7 +54,7 @@ The camel-ftp sink connector supports 50 options, which are listed below.
 | *camel.sink.endpoint.chmod* | Allows you to set chmod on the stored file. For example chmod=640. | null | MEDIUM
 | *camel.sink.endpoint.disconnectOnBatchComplete* | Whether or not to disconnect from remote FTP server right after a Batch upload is complete. disconnectOnBatchComplete will only disconnect the current connection to the FTP server. | false | MEDIUM
 | *camel.sink.endpoint.eagerDeleteTargetFile* | 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 this to disable (set it to false) deleting the target file before the temp file is written. For example you may write big files and want the target file to exists during the temp file is being written. This ensure the target file is only deleted until the very last moment, just [...]
-| *camel.sink.endpoint.keepLastModified* | Will keep the last modified timestamp from the source file (if any). Will use the Exchange.FILE_LAST_MODIFIED header to located the timestamp. This header can contain either a java.util.Date or long with the timestamp. If the timestamp exists and the option is enabled it will set this timestamp on the written file. Note: This option only applies to the file producer. You cannot use this option with any of the \ftp producers. | false | MEDIUM
+| *camel.sink.endpoint.keepLastModified* | Will keep the last modified timestamp from the source file (if any). Will use the Exchange.FILE_LAST_MODIFIED header to located the timestamp. This header can contain either a java.util.Date or long with the timestamp. If the timestamp exists and the option is enabled it will set this timestamp on the written file. Note: This option only applies to the file producer. You cannot use this option with any of the ftp producers. | false | MEDIUM
 | *camel.sink.endpoint.moveExistingFileStrategy* | Strategy (Custom Strategy) used to move file with special naming token to use when fileExist=Move is configured. By default, there is an implementation used if no custom strategy is provided | null | MEDIUM
 | *camel.sink.endpoint.sendNoop* | Whether to send a noop command as a pre-write check before uploading files to the FTP server. This is enabled by default as a validation of the connection is still valid, which allows to silently re-connect to be able to upload the file. However if this causes problems, you can turn this option off. | true | MEDIUM
 | *camel.sink.endpoint.activePortRange* | Set the client side port range in active mode. The syntax is: minPort-maxPort Both port numbers are inclusive, eg 10000-19999 to include all 1xxxx ports. | null | MEDIUM
diff --git a/docs/modules/ROOT/pages/connectors/camel-ftp-kafka-source-connector.adoc b/docs/modules/ROOT/pages/connectors/camel-ftp-kafka-source-connector.adoc
index 8dc6839..cdb12d0 100644
--- a/docs/modules/ROOT/pages/connectors/camel-ftp-kafka-source-connector.adoc
+++ b/docs/modules/ROOT/pages/connectors/camel-ftp-kafka-source-connector.adoc
@@ -35,14 +35,14 @@ The camel-ftp source connector supports 101 options, which are listed below.
 | *camel.source.endpoint.binary* | Specifies the file transfer mode, BINARY or ASCII. Default is ASCII (false). | false | MEDIUM
 | *camel.source.endpoint.charset* | This option is used to specify the encoding of the file. You can use this on the consumer, to specify the encodings of the files, which allow Camel to know the charset it should load the file content in case the file content is being accessed. Likewise when writing a file, you can use this option to specify which charset to write the file as well. Do mind that when writing the file Camel may have to read the message content into memory to be able to co [...]
 | *camel.source.endpoint.disconnect* | 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 the consumer/route instead. | false | MEDIUM
-| *camel.source.endpoint.doneFileName* | 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 dynamic placeholders. The done file will always be written in the same folder as the original file. Consumer: If provided, Camel will only consume files if a done file exists. This option configures what file name to use.  [...]
-| *camel.source.endpoint.fileName* | 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 CamelFileName header. (Note: The header itself can also be an Expression). The expression options support both String and Expression types. If the expression is a String type, it is always evaluated using the File Language. I [...]
+| *camel.source.endpoint.doneFileName* | 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 dynamic placeholders. The done file will always be written in the same folder as the original file. Consumer: If provided, Camel will only consume files if a done file exists. This option configures what file name to use.  [...]
+| *camel.source.endpoint.fileName* | 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 CamelFileName header. (Note: The header itself can also be an Expression). The expression options support both String and Expression types. If the expression is a String type, it is always evaluated using the File Language. I [...]
 | *camel.source.endpoint.passiveMode* | Sets passive mode connections. Default is active mode connections. | false | MEDIUM
 | *camel.source.endpoint.separator* | Sets the path separator to be used. UNIX = Uses unix style path separator Windows = Uses windows style path separator Auto = (is default) Use existing path separator in file name One of: [UNIX] [Windows] [Auto] | "UNIX" | MEDIUM
 | *camel.source.endpoint.transferLoggingInterval Seconds* | Configures the interval in seconds to use when logging the progress of upload and download operations that are in-flight. This is used for logging progress when operations takes longer time. | 5 | MEDIUM
 | *camel.source.endpoint.transferLoggingLevel* | Configure the logging level to use when logging the progress of upload and download operations. One of: [TRACE] [DEBUG] [INFO] [WARN] [ERROR] [OFF] | "DEBUG" | MEDIUM
 | *camel.source.endpoint.transferLoggingVerbose* | Configures whether the perform verbose (fine grained) logging of the progress of upload and download operations. | false | MEDIUM
-| *camel.source.endpoint.fastExistsCheck* | If set this option to be true, camel-\ftp will use the list file directly to check if the file exists. Since some FTP server may not support to list the file directly, if the option is false, camel-\ftp will use the old way to list the directory and check if the file exists. This option also influences readLock=changed to control whether it performs a fast check to update file information or not. This can be used to speed up the process if the  [...]
+| *camel.source.endpoint.fastExistsCheck* | If set this option to be true, camel-ftp will use the list file directly to check if the file exists. Since some FTP server may not support to list the file directly, if the option is false, camel-ftp will use the old way to list the directory and check if the file exists. This option also influences readLock=changed to control whether it performs a fast check to update file information or not. This can be used to speed up the process if the FT [...]
 | *camel.source.endpoint.bridgeErrorHandler* | 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. | false | MEDIUM
 | *camel.source.endpoint.delete* | If true, the file will be deleted after it is processed successfully. | false | MEDIUM
 | *camel.source.endpoint.moveFailed* | 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 the file again. | null | MEDIUM
@@ -87,10 +87,10 @@ The camel-ftp source connector supports 101 options, which are listed below.
 | *camel.source.endpoint.eagerMaxMessagesPerPoll* | 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, and then perform sorting. Setting this option to false allows for sorting all files first, and then limit the poll. Mind that this requires a higher memory usage as all file details are in memory to perform the sorting. | true | MEDIUM
 | *camel.source.endpoint.exclude* | Is used to exclude files, if filename matches the regex pattern (matching is case in-senstive). Notice if you use symbols such as plus sign and others you would need to configure this using the RAW() syntax if configuring this as an endpoint uri. See more details at configuring endpoint uris | null | MEDIUM
 | *camel.source.endpoint.filter* | Pluggable filter as a org.apache.camel.component.file.GenericFileFilter class. Will skip files if filter returns false in its accept() method. | null | MEDIUM
-| *camel.source.endpoint.filterDirectory* | 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} | null | MEDIUM
-| *camel.source.endpoint.filterFile* | Filters the file based on Simple language. For example to filter on file size, you can use \${file:size} 5000 | null | MEDIUM
+| *camel.source.endpoint.filterDirectory* | 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} | null | MEDIUM
+| *camel.source.endpoint.filterFile* | Filters the file based on Simple language. For example to filter on file size, you can use ${file:size} 5000 | null | MEDIUM
 | *camel.source.endpoint.idempotent* | 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 will be enabled as well to avoid consuming the same files over and over again. | "false" | MEDIUM
-| *camel.source.endpoint.idempotentKey* | 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} | null | MEDIUM
+| *camel.source.endpoint.idempotentKey* | 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} | null | MEDIUM
 | *camel.source.endpoint.idempotentRepository* | A pluggable repository org.apache.camel.spi.IdempotentRepository which by default use MemoryMessageIdRepository if none is specified and idempotent is true. | null | MEDIUM
 | *camel.source.endpoint.include* | 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 this as an endpoint uri. See more details at configuring endpoint uris | null | MEDIUM
 | *camel.source.endpoint.maxDepth* | The maximum depth to traverse when recursively processing a directory. | 2147483647 | MEDIUM
diff --git a/docs/modules/ROOT/pages/connectors/camel-ftps-kafka-sink-connector.adoc b/docs/modules/ROOT/pages/connectors/camel-ftps-kafka-sink-connector.adoc
index ef2c873..8dce190 100644
--- a/docs/modules/ROOT/pages/connectors/camel-ftps-kafka-sink-connector.adoc
+++ b/docs/modules/ROOT/pages/connectors/camel-ftps-kafka-sink-connector.adoc
@@ -35,14 +35,14 @@ The camel-ftps sink connector supports 59 options, which are listed below.
 | *camel.sink.endpoint.binary* | Specifies the file transfer mode, BINARY or ASCII. Default is ASCII (false). | false | MEDIUM
 | *camel.sink.endpoint.charset* | This option is used to specify the encoding of the file. You can use this on the consumer, to specify the encodings of the files, which allow Camel to know the charset it should load the file content in case the file content is being accessed. Likewise when writing a file, you can use this option to specify which charset to write the file as well. Do mind that when writing the file Camel may have to read the message content into memory to be able to conv [...]
 | *camel.sink.endpoint.disconnect* | 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 the consumer/route instead. | false | MEDIUM
-| *camel.sink.endpoint.doneFileName* | 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 dynamic placeholders. The done file will always be written in the same folder as the original file. Consumer: If provided, Camel will only consume files if a done file exists. This option configures what file name to use. Ei [...]
-| *camel.sink.endpoint.fileName* | 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 CamelFileName header. (Note: The header itself can also be an Expression). The expression options support both String and Expression types. If the expression is a String type, it is always evaluated using the File Language. If  [...]
+| *camel.sink.endpoint.doneFileName* | 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 dynamic placeholders. The done file will always be written in the same folder as the original file. Consumer: If provided, Camel will only consume files if a done file exists. This option configures what file name to use. Ei [...]
+| *camel.sink.endpoint.fileName* | 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 CamelFileName header. (Note: The header itself can also be an Expression). The expression options support both String and Expression types. If the expression is a String type, it is always evaluated using the File Language. If  [...]
 | *camel.sink.endpoint.passiveMode* | Sets passive mode connections. Default is active mode connections. | false | MEDIUM
 | *camel.sink.endpoint.separator* | Sets the path separator to be used. UNIX = Uses unix style path separator Windows = Uses windows style path separator Auto = (is default) Use existing path separator in file name One of: [UNIX] [Windows] [Auto] | "UNIX" | MEDIUM
 | *camel.sink.endpoint.transferLoggingIntervalSeconds* | Configures the interval in seconds to use when logging the progress of upload and download operations that are in-flight. This is used for logging progress when operations takes longer time. | 5 | MEDIUM
 | *camel.sink.endpoint.transferLoggingLevel* | Configure the logging level to use when logging the progress of upload and download operations. One of: [TRACE] [DEBUG] [INFO] [WARN] [ERROR] [OFF] | "DEBUG" | MEDIUM
 | *camel.sink.endpoint.transferLoggingVerbose* | Configures whether the perform verbose (fine grained) logging of the progress of upload and download operations. | false | MEDIUM
-| *camel.sink.endpoint.fastExistsCheck* | If set this option to be true, camel-\ftp will use the list file directly to check if the file exists. Since some FTP server may not support to list the file directly, if the option is false, camel-\ftp will use the old way to list the directory and check if the file exists. This option also influences readLock=changed to control whether it performs a fast check to update file information or not. This can be used to speed up the process if the FT [...]
+| *camel.sink.endpoint.fastExistsCheck* | If set this option to be true, camel-ftp will use the list file directly to check if the file exists. Since some FTP server may not support to list the file directly, if the option is false, camel-ftp will use the old way to list the directory and check if the file exists. This option also influences readLock=changed to control whether it performs a fast check to update file information or not. This can be used to speed up the process if the FTP  [...]
 | *camel.sink.endpoint.fileExist* | What to do if a file already exists with the same name. Override, which is the default, replaces the existing file. - Append - adds content to the existing file. - Fail - throws a GenericFileOperationException, indicating that there is already an existing file. - Ignore - silently ignores the problem and does not override the existing file, but assumes everything is okay. - Move - option requires to use the moveExisting option to be configured as well. [...]
 | *camel.sink.endpoint.flatten* | 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 they will be written in a single directory. Setting this to true on the producer enforces that any file name in CamelFileName header will be stripped for any leading paths. | false | MEDIUM
 | *camel.sink.endpoint.jailStartingDirectory* | 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 secured out of the box). You can turn this off to allow writing files to directories outside the starting directory, such as parent or root folders. | true | MEDIUM
@@ -54,7 +54,7 @@ The camel-ftps sink connector supports 59 options, which are listed below.
 | *camel.sink.endpoint.chmod* | Allows you to set chmod on the stored file. For example chmod=640. | null | MEDIUM
 | *camel.sink.endpoint.disconnectOnBatchComplete* | Whether or not to disconnect from remote FTP server right after a Batch upload is complete. disconnectOnBatchComplete will only disconnect the current connection to the FTP server. | false | MEDIUM
 | *camel.sink.endpoint.eagerDeleteTargetFile* | 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 this to disable (set it to false) deleting the target file before the temp file is written. For example you may write big files and want the target file to exists during the temp file is being written. This ensure the target file is only deleted until the very last moment, just [...]
-| *camel.sink.endpoint.keepLastModified* | Will keep the last modified timestamp from the source file (if any). Will use the Exchange.FILE_LAST_MODIFIED header to located the timestamp. This header can contain either a java.util.Date or long with the timestamp. If the timestamp exists and the option is enabled it will set this timestamp on the written file. Note: This option only applies to the file producer. You cannot use this option with any of the \ftp producers. | false | MEDIUM
+| *camel.sink.endpoint.keepLastModified* | Will keep the last modified timestamp from the source file (if any). Will use the Exchange.FILE_LAST_MODIFIED header to located the timestamp. This header can contain either a java.util.Date or long with the timestamp. If the timestamp exists and the option is enabled it will set this timestamp on the written file. Note: This option only applies to the file producer. You cannot use this option with any of the ftp producers. | false | MEDIUM
 | *camel.sink.endpoint.moveExistingFileStrategy* | Strategy (Custom Strategy) used to move file with special naming token to use when fileExist=Move is configured. By default, there is an implementation used if no custom strategy is provided | null | MEDIUM
 | *camel.sink.endpoint.sendNoop* | Whether to send a noop command as a pre-write check before uploading files to the FTP server. This is enabled by default as a validation of the connection is still valid, which allows to silently re-connect to be able to upload the file. However if this causes problems, you can turn this option off. | true | MEDIUM
 | *camel.sink.endpoint.activePortRange* | Set the client side port range in active mode. The syntax is: minPort-maxPort Both port numbers are inclusive, eg 10000-19999 to include all 1xxxx ports. | null | MEDIUM
@@ -83,7 +83,7 @@ The camel-ftps sink connector supports 59 options, which are listed below.
 | *camel.sink.endpoint.implicit* | Set the security mode (Implicit/Explicit). true - Implicit Mode / False - Explicit Mode | false | MEDIUM
 | *camel.sink.endpoint.password* | Password to use for login | null | MEDIUM
 | *camel.sink.endpoint.securityProtocol* | Set the underlying security protocol. | "TLSv1.2" | MEDIUM
-| *camel.sink.endpoint.sslContextParameters* | Gets the JSSE configuration that overrides any settings in FtpsEndpoint#\ftpClientKeyStoreParameters, \ftpClientTrustStoreParameters, and FtpsConfiguration#getSecurityProtocol(). | null | MEDIUM
+| *camel.sink.endpoint.sslContextParameters* | Gets the JSSE configuration that overrides any settings in FtpsEndpoint#ftpClientKeyStoreParameters, ftpClientTrustStoreParameters, and FtpsConfiguration#getSecurityProtocol(). | null | MEDIUM
 | *camel.sink.endpoint.username* | Username to use for login | null | MEDIUM
 | *camel.component.ftps.lazyStartProducer* | 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 cr [...]
 | *camel.component.ftps.basicPropertyBinding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | MEDIUM
diff --git a/docs/modules/ROOT/pages/connectors/camel-ftps-kafka-source-connector.adoc b/docs/modules/ROOT/pages/connectors/camel-ftps-kafka-source-connector.adoc
index e287813..3387a3e 100644
--- a/docs/modules/ROOT/pages/connectors/camel-ftps-kafka-source-connector.adoc
+++ b/docs/modules/ROOT/pages/connectors/camel-ftps-kafka-source-connector.adoc
@@ -35,14 +35,14 @@ The camel-ftps source connector supports 110 options, which are listed below.
 | *camel.source.endpoint.binary* | Specifies the file transfer mode, BINARY or ASCII. Default is ASCII (false). | false | MEDIUM
 | *camel.source.endpoint.charset* | This option is used to specify the encoding of the file. You can use this on the consumer, to specify the encodings of the files, which allow Camel to know the charset it should load the file content in case the file content is being accessed. Likewise when writing a file, you can use this option to specify which charset to write the file as well. Do mind that when writing the file Camel may have to read the message content into memory to be able to co [...]
 | *camel.source.endpoint.disconnect* | 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 the consumer/route instead. | false | MEDIUM
-| *camel.source.endpoint.doneFileName* | 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 dynamic placeholders. The done file will always be written in the same folder as the original file. Consumer: If provided, Camel will only consume files if a done file exists. This option configures what file name to use.  [...]
-| *camel.source.endpoint.fileName* | 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 CamelFileName header. (Note: The header itself can also be an Expression). The expression options support both String and Expression types. If the expression is a String type, it is always evaluated using the File Language. I [...]
+| *camel.source.endpoint.doneFileName* | 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 dynamic placeholders. The done file will always be written in the same folder as the original file. Consumer: If provided, Camel will only consume files if a done file exists. This option configures what file name to use.  [...]
+| *camel.source.endpoint.fileName* | 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 CamelFileName header. (Note: The header itself can also be an Expression). The expression options support both String and Expression types. If the expression is a String type, it is always evaluated using the File Language. I [...]
 | *camel.source.endpoint.passiveMode* | Sets passive mode connections. Default is active mode connections. | false | MEDIUM
 | *camel.source.endpoint.separator* | Sets the path separator to be used. UNIX = Uses unix style path separator Windows = Uses windows style path separator Auto = (is default) Use existing path separator in file name One of: [UNIX] [Windows] [Auto] | "UNIX" | MEDIUM
 | *camel.source.endpoint.transferLoggingInterval Seconds* | Configures the interval in seconds to use when logging the progress of upload and download operations that are in-flight. This is used for logging progress when operations takes longer time. | 5 | MEDIUM
 | *camel.source.endpoint.transferLoggingLevel* | Configure the logging level to use when logging the progress of upload and download operations. One of: [TRACE] [DEBUG] [INFO] [WARN] [ERROR] [OFF] | "DEBUG" | MEDIUM
 | *camel.source.endpoint.transferLoggingVerbose* | Configures whether the perform verbose (fine grained) logging of the progress of upload and download operations. | false | MEDIUM
-| *camel.source.endpoint.fastExistsCheck* | If set this option to be true, camel-\ftp will use the list file directly to check if the file exists. Since some FTP server may not support to list the file directly, if the option is false, camel-\ftp will use the old way to list the directory and check if the file exists. This option also influences readLock=changed to control whether it performs a fast check to update file information or not. This can be used to speed up the process if the  [...]
+| *camel.source.endpoint.fastExistsCheck* | If set this option to be true, camel-ftp will use the list file directly to check if the file exists. Since some FTP server may not support to list the file directly, if the option is false, camel-ftp will use the old way to list the directory and check if the file exists. This option also influences readLock=changed to control whether it performs a fast check to update file information or not. This can be used to speed up the process if the FT [...]
 | *camel.source.endpoint.bridgeErrorHandler* | 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. | false | MEDIUM
 | *camel.source.endpoint.delete* | If true, the file will be deleted after it is processed successfully. | false | MEDIUM
 | *camel.source.endpoint.moveFailed* | 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 the file again. | null | MEDIUM
@@ -87,10 +87,10 @@ The camel-ftps source connector supports 110 options, which are listed below.
 | *camel.source.endpoint.eagerMaxMessagesPerPoll* | 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, and then perform sorting. Setting this option to false allows for sorting all files first, and then limit the poll. Mind that this requires a higher memory usage as all file details are in memory to perform the sorting. | true | MEDIUM
 | *camel.source.endpoint.exclude* | Is used to exclude files, if filename matches the regex pattern (matching is case in-senstive). Notice if you use symbols such as plus sign and others you would need to configure this using the RAW() syntax if configuring this as an endpoint uri. See more details at configuring endpoint uris | null | MEDIUM
 | *camel.source.endpoint.filter* | Pluggable filter as a org.apache.camel.component.file.GenericFileFilter class. Will skip files if filter returns false in its accept() method. | null | MEDIUM
-| *camel.source.endpoint.filterDirectory* | 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} | null | MEDIUM
-| *camel.source.endpoint.filterFile* | Filters the file based on Simple language. For example to filter on file size, you can use \${file:size} 5000 | null | MEDIUM
+| *camel.source.endpoint.filterDirectory* | 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} | null | MEDIUM
+| *camel.source.endpoint.filterFile* | Filters the file based on Simple language. For example to filter on file size, you can use ${file:size} 5000 | null | MEDIUM
 | *camel.source.endpoint.idempotent* | 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 will be enabled as well to avoid consuming the same files over and over again. | "false" | MEDIUM
-| *camel.source.endpoint.idempotentKey* | 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} | null | MEDIUM
+| *camel.source.endpoint.idempotentKey* | 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} | null | MEDIUM
 | *camel.source.endpoint.idempotentRepository* | A pluggable repository org.apache.camel.spi.IdempotentRepository which by default use MemoryMessageIdRepository if none is specified and idempotent is true. | null | MEDIUM
 | *camel.source.endpoint.include* | 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 this as an endpoint uri. See more details at configuring endpoint uris | null | MEDIUM
 | *camel.source.endpoint.maxDepth* | The maximum depth to traverse when recursively processing a directory. | 2147483647 | MEDIUM
@@ -131,7 +131,7 @@ The camel-ftps source connector supports 110 options, which are listed below.
 | *camel.source.endpoint.implicit* | Set the security mode (Implicit/Explicit). true - Implicit Mode / False - Explicit Mode | false | MEDIUM
 | *camel.source.endpoint.password* | Password to use for login | null | MEDIUM
 | *camel.source.endpoint.securityProtocol* | Set the underlying security protocol. | "TLSv1.2" | MEDIUM
-| *camel.source.endpoint.sslContextParameters* | Gets the JSSE configuration that overrides any settings in FtpsEndpoint#\ftpClientKeyStoreParameters, \ftpClientTrustStoreParameters, and FtpsConfiguration#getSecurityProtocol(). | null | MEDIUM
+| *camel.source.endpoint.sslContextParameters* | Gets the JSSE configuration that overrides any settings in FtpsEndpoint#ftpClientKeyStoreParameters, ftpClientTrustStoreParameters, and FtpsConfiguration#getSecurityProtocol(). | null | MEDIUM
 | *camel.source.endpoint.username* | Username to use for login | null | MEDIUM
 | *camel.source.endpoint.shuffle* | To shuffle the list of files (sort in random order) | false | MEDIUM
 | *camel.source.endpoint.sortBy* | 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. | null | MEDIUM
diff --git a/docs/modules/ROOT/pages/connectors/camel-scp-kafka-sink-connector.adoc b/docs/modules/ROOT/pages/connectors/camel-scp-kafka-sink-connector.adoc
index 6fc027b..90012ea 100644
--- a/docs/modules/ROOT/pages/connectors/camel-scp-kafka-sink-connector.adoc
+++ b/docs/modules/ROOT/pages/connectors/camel-scp-kafka-sink-connector.adoc
@@ -34,7 +34,7 @@ The camel-scp sink connector supports 30 options, which are listed below.
 | *camel.sink.path.directoryName* | The starting directory | null | MEDIUM
 | *camel.sink.endpoint.chmod* | Allows you to set chmod on the stored file. For example chmod=664. | "664" | MEDIUM
 | *camel.sink.endpoint.disconnect* | 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 the consumer/route instead. | false | MEDIUM
-| *camel.sink.endpoint.fileName* | 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 CamelFileName header. (Note: The header itself can also be an Expression). The expression options support both String and Expression types. If the expression is a String type, it is always evaluated using the File Language. If  [...]
+| *camel.sink.endpoint.fileName* | 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 CamelFileName header. (Note: The header itself can also be an Expression). The expression options support both String and Expression types. If the expression is a String type, it is always evaluated using the File Language. If  [...]
 | *camel.sink.endpoint.flatten* | 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 they will be written in a single directory. Setting this to true on the producer enforces that any file name in CamelFileName header will be stripped for any leading paths. | false | MEDIUM
 | *camel.sink.endpoint.jailStartingDirectory* | 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 secured out of the box). You can turn this off to allow writing files to directories outside the starting directory, such as parent or root folders. | true | MEDIUM
 | *camel.sink.endpoint.lazyStartProducer* | 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 cre [...]
diff --git a/docs/modules/ROOT/pages/connectors/camel-sftp-kafka-sink-connector.adoc b/docs/modules/ROOT/pages/connectors/camel-sftp-kafka-sink-connector.adoc
index 507e3c8..5b67c3a 100644
--- a/docs/modules/ROOT/pages/connectors/camel-sftp-kafka-sink-connector.adoc
+++ b/docs/modules/ROOT/pages/connectors/camel-sftp-kafka-sink-connector.adoc
@@ -35,12 +35,12 @@ The camel-sftp sink connector supports 59 options, which are listed below.
 | *camel.sink.endpoint.binary* | Specifies the file transfer mode, BINARY or ASCII. Default is ASCII (false). | false | MEDIUM
 | *camel.sink.endpoint.charset* | This option is used to specify the encoding of the file. You can use this on the consumer, to specify the encodings of the files, which allow Camel to know the charset it should load the file content in case the file content is being accessed. Likewise when writing a file, you can use this option to specify which charset to write the file as well. Do mind that when writing the file Camel may have to read the message content into memory to be able to conv [...]
 | *camel.sink.endpoint.disconnect* | 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 the consumer/route instead. | false | MEDIUM
-| *camel.sink.endpoint.doneFileName* | 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 dynamic placeholders. The done file will always be written in the same folder as the original file. Consumer: If provided, Camel will only consume files if a done file exists. This option configures what file name to use. Ei [...]
-| *camel.sink.endpoint.fileName* | 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 CamelFileName header. (Note: The header itself can also be an Expression). The expression options support both String and Expression types. If the expression is a String type, it is always evaluated using the File Language. If  [...]
+| *camel.sink.endpoint.doneFileName* | 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 dynamic placeholders. The done file will always be written in the same folder as the original file. Consumer: If provided, Camel will only consume files if a done file exists. This option configures what file name to use. Ei [...]
+| *camel.sink.endpoint.fileName* | 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 CamelFileName header. (Note: The header itself can also be an Expression). The expression options support both String and Expression types. If the expression is a String type, it is always evaluated using the File Language. If  [...]
 | *camel.sink.endpoint.jschLoggingLevel* | The logging level to use for JSCH activity logging. As JSCH is verbose at by default at INFO level the threshold is WARN by default. One of: [TRACE] [DEBUG] [INFO] [WARN] [ERROR] [OFF] | "WARN" | MEDIUM
 | *camel.sink.endpoint.passiveMode* | Sets passive mode connections. Default is active mode connections. | false | MEDIUM
 | *camel.sink.endpoint.separator* | Sets the path separator to be used. UNIX = Uses unix style path separator Windows = Uses windows style path separator Auto = (is default) Use existing path separator in file name One of: [UNIX] [Windows] [Auto] | "UNIX" | MEDIUM
-| *camel.sink.endpoint.fastExistsCheck* | If set this option to be true, camel-\ftp will use the list file directly to check if the file exists. Since some FTP server may not support to list the file directly, if the option is false, camel-\ftp will use the old way to list the directory and check if the file exists. This option also influences readLock=changed to control whether it performs a fast check to update file information or not. This can be used to speed up the process if the FT [...]
+| *camel.sink.endpoint.fastExistsCheck* | If set this option to be true, camel-ftp will use the list file directly to check if the file exists. Since some FTP server may not support to list the file directly, if the option is false, camel-ftp will use the old way to list the directory and check if the file exists. This option also influences readLock=changed to control whether it performs a fast check to update file information or not. This can be used to speed up the process if the FTP  [...]
 | *camel.sink.endpoint.fileExist* | What to do if a file already exists with the same name. Override, which is the default, replaces the existing file. - Append - adds content to the existing file. - Fail - throws a GenericFileOperationException, indicating that there is already an existing file. - Ignore - silently ignores the problem and does not override the existing file, but assumes everything is okay. - Move - option requires to use the moveExisting option to be configured as well. [...]
 | *camel.sink.endpoint.flatten* | 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 they will be written in a single directory. Setting this to true on the producer enforces that any file name in CamelFileName header will be stripped for any leading paths. | false | MEDIUM
 | *camel.sink.endpoint.jailStartingDirectory* | 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 secured out of the box). You can turn this off to allow writing files to directories outside the starting directory, such as parent or root folders. | true | MEDIUM
@@ -52,7 +52,7 @@ The camel-sftp sink connector supports 59 options, which are listed below.
 | *camel.sink.endpoint.chmod* | Allows you to set chmod on the stored file. For example chmod=640. | null | MEDIUM
 | *camel.sink.endpoint.disconnectOnBatchComplete* | Whether or not to disconnect from remote FTP server right after a Batch upload is complete. disconnectOnBatchComplete will only disconnect the current connection to the FTP server. | false | MEDIUM
 | *camel.sink.endpoint.eagerDeleteTargetFile* | 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 this to disable (set it to false) deleting the target file before the temp file is written. For example you may write big files and want the target file to exists during the temp file is being written. This ensure the target file is only deleted until the very last moment, just [...]
-| *camel.sink.endpoint.keepLastModified* | Will keep the last modified timestamp from the source file (if any). Will use the Exchange.FILE_LAST_MODIFIED header to located the timestamp. This header can contain either a java.util.Date or long with the timestamp. If the timestamp exists and the option is enabled it will set this timestamp on the written file. Note: This option only applies to the file producer. You cannot use this option with any of the \ftp producers. | false | MEDIUM
+| *camel.sink.endpoint.keepLastModified* | Will keep the last modified timestamp from the source file (if any). Will use the Exchange.FILE_LAST_MODIFIED header to located the timestamp. This header can contain either a java.util.Date or long with the timestamp. If the timestamp exists and the option is enabled it will set this timestamp on the written file. Note: This option only applies to the file producer. You cannot use this option with any of the ftp producers. | false | MEDIUM
 | *camel.sink.endpoint.moveExistingFileStrategy* | Strategy (Custom Strategy) used to move file with special naming token to use when fileExist=Move is configured. By default, there is an implementation used if no custom strategy is provided | null | MEDIUM
 | *camel.sink.endpoint.sendNoop* | Whether to send a noop command as a pre-write check before uploading files to the FTP server. This is enabled by default as a validation of the connection is still valid, which allows to silently re-connect to be able to upload the file. However if this causes problems, you can turn this option off. | true | MEDIUM
 | *camel.sink.endpoint.autoCreate* | 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. | true | MEDIUM
diff --git a/docs/modules/ROOT/pages/connectors/camel-sftp-kafka-source-connector.adoc b/docs/modules/ROOT/pages/connectors/camel-sftp-kafka-source-connector.adoc
index d02ec66..e182ca1 100644
--- a/docs/modules/ROOT/pages/connectors/camel-sftp-kafka-source-connector.adoc
+++ b/docs/modules/ROOT/pages/connectors/camel-sftp-kafka-source-connector.adoc
@@ -35,12 +35,12 @@ The camel-sftp source connector supports 112 options, which are listed below.
 | *camel.source.endpoint.binary* | Specifies the file transfer mode, BINARY or ASCII. Default is ASCII (false). | false | MEDIUM
 | *camel.source.endpoint.charset* | This option is used to specify the encoding of the file. You can use this on the consumer, to specify the encodings of the files, which allow Camel to know the charset it should load the file content in case the file content is being accessed. Likewise when writing a file, you can use this option to specify which charset to write the file as well. Do mind that when writing the file Camel may have to read the message content into memory to be able to co [...]
 | *camel.source.endpoint.disconnect* | 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 the consumer/route instead. | false | MEDIUM
-| *camel.source.endpoint.doneFileName* | 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 dynamic placeholders. The done file will always be written in the same folder as the original file. Consumer: If provided, Camel will only consume files if a done file exists. This option configures what file name to use.  [...]
-| *camel.source.endpoint.fileName* | 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 CamelFileName header. (Note: The header itself can also be an Expression). The expression options support both String and Expression types. If the expression is a String type, it is always evaluated using the File Language. I [...]
+| *camel.source.endpoint.doneFileName* | 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 dynamic placeholders. The done file will always be written in the same folder as the original file. Consumer: If provided, Camel will only consume files if a done file exists. This option configures what file name to use.  [...]
+| *camel.source.endpoint.fileName* | 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 CamelFileName header. (Note: The header itself can also be an Expression). The expression options support both String and Expression types. If the expression is a String type, it is always evaluated using the File Language. I [...]
 | *camel.source.endpoint.jschLoggingLevel* | The logging level to use for JSCH activity logging. As JSCH is verbose at by default at INFO level the threshold is WARN by default. One of: [TRACE] [DEBUG] [INFO] [WARN] [ERROR] [OFF] | "WARN" | MEDIUM
 | *camel.source.endpoint.passiveMode* | Sets passive mode connections. Default is active mode connections. | false | MEDIUM
 | *camel.source.endpoint.separator* | Sets the path separator to be used. UNIX = Uses unix style path separator Windows = Uses windows style path separator Auto = (is default) Use existing path separator in file name One of: [UNIX] [Windows] [Auto] | "UNIX" | MEDIUM
-| *camel.source.endpoint.fastExistsCheck* | If set this option to be true, camel-\ftp will use the list file directly to check if the file exists. Since some FTP server may not support to list the file directly, if the option is false, camel-\ftp will use the old way to list the directory and check if the file exists. This option also influences readLock=changed to control whether it performs a fast check to update file information or not. This can be used to speed up the process if the  [...]
+| *camel.source.endpoint.fastExistsCheck* | If set this option to be true, camel-ftp will use the list file directly to check if the file exists. Since some FTP server may not support to list the file directly, if the option is false, camel-ftp will use the old way to list the directory and check if the file exists. This option also influences readLock=changed to control whether it performs a fast check to update file information or not. This can be used to speed up the process if the FT [...]
 | *camel.source.endpoint.bridgeErrorHandler* | 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. | false | MEDIUM
 | *camel.source.endpoint.delete* | If true, the file will be deleted after it is processed successfully. | false | MEDIUM
 | *camel.source.endpoint.moveFailed* | 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 the file again. | null | MEDIUM
@@ -83,10 +83,10 @@ The camel-sftp source connector supports 112 options, which are listed below.
 | *camel.source.endpoint.eagerMaxMessagesPerPoll* | 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, and then perform sorting. Setting this option to false allows for sorting all files first, and then limit the poll. Mind that this requires a higher memory usage as all file details are in memory to perform the sorting. | true | MEDIUM
 | *camel.source.endpoint.exclude* | Is used to exclude files, if filename matches the regex pattern (matching is case in-senstive). Notice if you use symbols such as plus sign and others you would need to configure this using the RAW() syntax if configuring this as an endpoint uri. See more details at configuring endpoint uris | null | MEDIUM
 | *camel.source.endpoint.filter* | Pluggable filter as a org.apache.camel.component.file.GenericFileFilter class. Will skip files if filter returns false in its accept() method. | null | MEDIUM
-| *camel.source.endpoint.filterDirectory* | 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} | null | MEDIUM
-| *camel.source.endpoint.filterFile* | Filters the file based on Simple language. For example to filter on file size, you can use \${file:size} 5000 | null | MEDIUM
+| *camel.source.endpoint.filterDirectory* | 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} | null | MEDIUM
+| *camel.source.endpoint.filterFile* | Filters the file based on Simple language. For example to filter on file size, you can use ${file:size} 5000 | null | MEDIUM
 | *camel.source.endpoint.idempotent* | 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 will be enabled as well to avoid consuming the same files over and over again. | "false" | MEDIUM
-| *camel.source.endpoint.idempotentKey* | 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} | null | MEDIUM
+| *camel.source.endpoint.idempotentKey* | 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} | null | MEDIUM
 | *camel.source.endpoint.idempotentRepository* | A pluggable repository org.apache.camel.spi.IdempotentRepository which by default use MemoryMessageIdRepository if none is specified and idempotent is true. | null | MEDIUM
 | *camel.source.endpoint.include* | 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 this as an endpoint uri. See more details at configuring endpoint uris | null | MEDIUM
 | *camel.source.endpoint.maxDepth* | The maximum depth to traverse when recursively processing a directory. | 2147483647 | MEDIUM


[camel-kafka-connector] 04/04: Revert "Excluded component: Removed bean"

Posted by ac...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

acosentino pushed a commit to branch silly-me
in repository https://gitbox.apache.org/repos/asf/camel-kafka-connector.git

commit c3b9155a1ef8ee4017ec3880fa122bbbbd7569f1
Author: Andrea Cosentino <an...@gmail.com>
AuthorDate: Thu Sep 24 06:57:17 2020 +0200

    Revert "Excluded component: Removed bean"
    
    This reverts commit 0b581971dde53780b9710dcbc314a4ee7e08175e.
---
 connectors/camel-bean-kafka-connector/pom.xml      | 135 ++++++++++++++
 .../src/main/assembly/package.xml                  |  57 ++++++
 .../main/docs/camel-bean-kafka-sink-connector.adoc |  61 +++++++
 .../examples/CamelBeanSinkConnector.properties     |  33 ++++
 .../bean/CamelBeanSinkConnector.java               |  35 ++++
 .../bean/CamelBeanSinkConnectorConfig.java         |  90 +++++++++
 .../kafkaconnector/bean/CamelBeanSinkTask.java     |  39 ++++
 .../src/main/resources/META-INF/LICENSE.txt        | 203 +++++++++++++++++++++
 .../src/main/resources/META-INF/NOTICE.txt         |  11 ++
 connectors/pom.xml                                 |   2 +-
 10 files changed, 665 insertions(+), 1 deletion(-)

diff --git a/connectors/camel-bean-kafka-connector/pom.xml b/connectors/camel-bean-kafka-connector/pom.xml
new file mode 100644
index 0000000..cc4e974
--- /dev/null
+++ b/connectors/camel-bean-kafka-connector/pom.xml
@@ -0,0 +1,135 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+    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.
+
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <groupId>org.apache.camel.kafkaconnector</groupId>
+    <artifactId>connectors</artifactId>
+    <version>0.6.0-SNAPSHOT</version>
+  </parent>
+  <artifactId>camel-bean-kafka-connector</artifactId>
+  <name>Camel-Kafka-Connector :: bean</name>
+  <description>Camel Kafka Connector for bean</description>
+  <dependencies>
+    <!-- Kafka -->
+    <dependency>
+      <groupId>org.apache.kafka</groupId>
+      <artifactId>connect-api</artifactId>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.kafka</groupId>
+      <artifactId>connect-transforms</artifactId>
+      <scope>provided</scope>
+    </dependency>
+    <!-- Camel -->
+    <dependency>
+      <groupId>org.apache.camel</groupId>
+      <artifactId>camel-bean</artifactId>
+    </dependency>
+    <!--START OF GENERATED CODE-->
+    <dependency>
+      <groupId>org.apache.camel.kafkaconnector</groupId>
+      <artifactId>camel-kafka-connector</artifactId>
+    </dependency>
+    <!--END OF GENERATED CODE-->
+  </dependencies>
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-surefire-plugin</artifactId>
+        <version>${version.maven.surefire.plugin}</version>
+        <configuration>
+          <failIfNoTests>false</failIfNoTests>
+        </configuration>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-jar-plugin</artifactId>
+        <version>${version.maven.jar}</version>
+        <configuration>
+          <archive>
+            <manifest>
+              <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
+              <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
+            </manifest>
+          </archive>
+        </configuration>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-compiler-plugin</artifactId>
+        <version>2.5.1</version>
+        <inherited>true</inherited>
+        <configuration>
+          <source>1.8</source>
+          <target>1.8</target>
+        </configuration>
+      </plugin>
+      <plugin>
+        <artifactId>maven-assembly-plugin</artifactId>
+        <version>2.5.3</version>
+        <configuration>
+          <descriptors>
+            <descriptor>src/main/assembly/package.xml</descriptor>
+          </descriptors>
+        </configuration>
+        <executions>
+          <execution>
+            <id>make-assembly</id>
+            <phase>package</phase>
+            <goals>
+              <goal>single</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
+    </plugins>
+  </build>
+  <!--START OF GENERATED CODE-->
+  <repositories>
+    <!-- camel-jira -->
+    <repository>
+      <id>atlassian-public</id>
+      <url>https://packages.atlassian.com/maven-external</url>
+      <name>Atlassian Public Repo</name>
+      <snapshots>
+        <enabled>false</enabled>
+      </snapshots>
+      <releases>
+        <enabled>true</enabled>
+      </releases>
+    </repository>
+    <!-- camel-ipfs and camel-weka -->
+    <repository>
+      <id>jboss.thirdparty</id>
+      <name>JBoss Thirdparty Repository</name>
+      <url>https://repository.jboss.org/nexus/service/local/repositories/thirdparty-releases/content/</url>
+      <snapshots>
+        <enabled>false</enabled>
+      </snapshots>
+      <releases>
+        <enabled>true</enabled>
+      </releases>
+    </repository>
+  </repositories>
+  <!--END OF GENERATED CODE-->
+</project>
diff --git a/connectors/camel-bean-kafka-connector/src/main/assembly/package.xml b/connectors/camel-bean-kafka-connector/src/main/assembly/package.xml
new file mode 100644
index 0000000..4fd2529
--- /dev/null
+++ b/connectors/camel-bean-kafka-connector/src/main/assembly/package.xml
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+    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.
+
+-->
+<assembly>
+  <!-- Assembles a packaged version targeting OS installation. -->
+  <id>package</id>
+  <formats>
+    <format>zip</format>
+    <format>tar.gz</format>
+  </formats>
+  <includeBaseDirectory>false</includeBaseDirectory>
+  <fileSets>
+    <fileSet>
+      <directory>${project.basedir}/../..</directory>
+      <outputDirectory>${project.artifactId}/</outputDirectory>
+      <includes>
+        <include>README*</include>
+        <include>LICENSE*</include>
+        <include>NOTICE*</include>
+        <include>licenses/</include>
+      </includes>
+    </fileSet>
+    <fileSet>
+      <directory>${project.basedir}/src/main/docs</directory>
+      <outputDirectory>docs/</outputDirectory>
+      <includes>
+        <include>**/*</include>
+      </includes>
+    </fileSet>
+  </fileSets>
+  <dependencySets>
+    <dependencySet>
+      <outputDirectory>${project.artifactId}/</outputDirectory>
+      <useProjectArtifact>true</useProjectArtifact>
+      <useTransitiveFiltering>true</useTransitiveFiltering>
+      <excludes>
+        <exclude>org.apache.kafka:connect-api</exclude>
+      </excludes>
+    </dependencySet>
+  </dependencySets>
+</assembly>
diff --git a/connectors/camel-bean-kafka-connector/src/main/docs/camel-bean-kafka-sink-connector.adoc b/connectors/camel-bean-kafka-connector/src/main/docs/camel-bean-kafka-sink-connector.adoc
new file mode 100644
index 0000000..269ac8e
--- /dev/null
+++ b/connectors/camel-bean-kafka-connector/src/main/docs/camel-bean-kafka-sink-connector.adoc
@@ -0,0 +1,61 @@
+// kafka-connector options: START
+[[camel-bean-kafka-connector-sink]]
+= camel-bean-kafka-connector sink configuration
+
+When using camel-bean-kafka-connector as sink make sure to use the following Maven dependency to have support for the connector:
+
+[source,xml]
+----
+<dependency>
+  <groupId>org.apache.camel.kafkaconnector</groupId>
+  <artifactId>camel-bean-kafka-connector</artifactId>
+  <version>x.x.x</version>
+  <!-- use the same version as your Camel Kafka connector version -->
+</dependency>
+----
+
+To use this Sink connector in Kafka connect you'll need to set the following connector.class
+
+[source,java]
+----
+connector.class=org.apache.camel.kafkaconnector.bean.CamelBeanSinkConnector
+----
+
+
+The camel-bean sink connector supports 12 options, which are listed below.
+
+
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|===
+| Name | Description | Default | Priority
+| *camel.sink.path.beanName* | Sets the name of the bean to invoke | null | HIGH
+| *camel.sink.endpoint.cache* | Use scope option instead. | null | LOW
+| *camel.sink.endpoint.method* | Sets the name of the method to invoke on the bean | null | MEDIUM
+| *camel.sink.endpoint.scope* | Scope of bean. When using singleton scope (default) the bean is created or looked up only once and reused for the lifetime of the endpoint. The bean should be thread-safe in case concurrent threads is calling the bean at the same time. When using request scope the bean is created or looked up once per request (exchange). This can be used if you want to store state on a bean while processing a request and you want to call the same bean instance multiple tim [...]
+| *camel.sink.endpoint.lazyStartProducer* | 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 cre [...]
+| *camel.sink.endpoint.basicPropertyBinding* | Whether the endpoint should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | MEDIUM
+| *camel.sink.endpoint.parameters* | Used for configuring additional properties on the bean | null | MEDIUM
+| *camel.sink.endpoint.synchronous* | Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported). | false | MEDIUM
+| *camel.component.bean.cache* | Use singleton option instead. | "true" | LOW
+| *camel.component.bean.lazyStartProducer* | 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 cr [...]
+| *camel.component.bean.scope* | Scope of bean. When using singleton scope (default) the bean is created or looked up only once and reused for the lifetime of the endpoint. The bean should be thread-safe in case concurrent threads is calling the bean at the same time. When using request scope the bean is created or looked up once per request (exchange). This can be used if you want to store state on a bean while processing a request and you want to call the same bean instance multiple ti [...]
+| *camel.component.bean.basicPropertyBinding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | MEDIUM
+|===
+
+
+
+The camel-bean sink connector has no converters out of the box.
+
+
+
+
+
+The camel-bean sink connector has no transforms out of the box.
+
+
+
+
+
+The camel-bean sink connector has no aggregation strategies out of the box.
+// kafka-connector options: END
diff --git a/connectors/camel-bean-kafka-connector/src/main/docs/examples/CamelBeanSinkConnector.properties b/connectors/camel-bean-kafka-connector/src/main/docs/examples/CamelBeanSinkConnector.properties
new file mode 100644
index 0000000..ec74c6b
--- /dev/null
+++ b/connectors/camel-bean-kafka-connector/src/main/docs/examples/CamelBeanSinkConnector.properties
@@ -0,0 +1,33 @@
+## ---------------------------------------------------------------------------
+## 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.
+## ---------------------------------------------------------------------------
+
+name=CamelBeanSinkConnector
+connector.class=org.apache.camel.kafkaconnector.bean.CamelBeanSinkConnector
+tasks.max=1
+
+# use the kafka converters that better suit your needs, these are just defaults:
+key.converter=org.apache.kafka.connect.storage.StringConverter
+value.converter=org.apache.kafka.connect.storage.StringConverter
+
+# comma separated topics to get messages from
+topics=
+
+# mandatory properties (for a complete properties list see the connector documentation):
+
+# Sets the name of the bean to invoke
+camel.sink.path.beanName=
+
diff --git a/connectors/camel-bean-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/bean/CamelBeanSinkConnector.java b/connectors/camel-bean-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/bean/CamelBeanSinkConnector.java
new file mode 100644
index 0000000..e70918b
--- /dev/null
+++ b/connectors/camel-bean-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/bean/CamelBeanSinkConnector.java
@@ -0,0 +1,35 @@
+/*
+ * 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.kafkaconnector.bean;
+
+import javax.annotation.Generated;
+import org.apache.camel.kafkaconnector.CamelSinkConnector;
+import org.apache.kafka.common.config.ConfigDef;
+import org.apache.kafka.connect.connector.Task;
+
+@Generated("This class has been generated by camel-kafka-connector-generator-maven-plugin, remove this annotation to prevent it from being generated.")
+public class CamelBeanSinkConnector extends CamelSinkConnector {
+
+    @Override
+    public ConfigDef config() {
+        return CamelBeanSinkConnectorConfig.conf();
+    }
+    @Override
+    public Class<? extends Task> taskClass() {
+        return CamelBeanSinkTask.class;
+    }
+}
\ No newline at end of file
diff --git a/connectors/camel-bean-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/bean/CamelBeanSinkConnectorConfig.java b/connectors/camel-bean-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/bean/CamelBeanSinkConnectorConfig.java
new file mode 100644
index 0000000..89dc056
--- /dev/null
+++ b/connectors/camel-bean-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/bean/CamelBeanSinkConnectorConfig.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.kafkaconnector.bean;
+
+import java.util.Map;
+import javax.annotation.Generated;
+import org.apache.camel.kafkaconnector.CamelSinkConnectorConfig;
+import org.apache.kafka.common.config.ConfigDef;
+
+@Generated("This class has been generated by camel-kafka-connector-generator-maven-plugin, remove this annotation to prevent it from being generated.")
+public class CamelBeanSinkConnectorConfig extends CamelSinkConnectorConfig {
+
+    public static final String CAMEL_SINK_BEAN_PATH_BEAN_NAME_CONF = "camel.sink.path.beanName";
+    public static final String CAMEL_SINK_BEAN_PATH_BEAN_NAME_DOC = "Sets the name of the bean to invoke";
+    public static final String CAMEL_SINK_BEAN_PATH_BEAN_NAME_DEFAULT = null;
+    public static final String CAMEL_SINK_BEAN_ENDPOINT_CACHE_CONF = "camel.sink.endpoint.cache";
+    public static final String CAMEL_SINK_BEAN_ENDPOINT_CACHE_DOC = "Use scope option instead.";
+    public static final String CAMEL_SINK_BEAN_ENDPOINT_CACHE_DEFAULT = null;
+    public static final String CAMEL_SINK_BEAN_ENDPOINT_METHOD_CONF = "camel.sink.endpoint.method";
+    public static final String CAMEL_SINK_BEAN_ENDPOINT_METHOD_DOC = "Sets the name of the method to invoke on the bean";
+    public static final String CAMEL_SINK_BEAN_ENDPOINT_METHOD_DEFAULT = null;
+    public static final String CAMEL_SINK_BEAN_ENDPOINT_SCOPE_CONF = "camel.sink.endpoint.scope";
+    public static final String CAMEL_SINK_BEAN_ENDPOINT_SCOPE_DOC = "Scope of bean. When using singleton scope (default) the bean is created or looked up only once and reused for the lifetime of the endpoint. The bean should be thread-safe in case concurrent threads is calling the bean at the same time. When using request scope the bean is created or looked up once per request (exchange). This can be used if you want to store state on a bean while processing a request and you want to cal [...]
+    public static final String CAMEL_SINK_BEAN_ENDPOINT_SCOPE_DEFAULT = "Singleton";
+    public static final String CAMEL_SINK_BEAN_ENDPOINT_LAZY_START_PRODUCER_CONF = "camel.sink.endpoint.lazyStartProducer";
+    public static final String CAMEL_SINK_BEAN_ENDPOINT_LAZY_START_PRODUCER_DOC = "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  [...]
+    public static final Boolean CAMEL_SINK_BEAN_ENDPOINT_LAZY_START_PRODUCER_DEFAULT = false;
+    public static final String CAMEL_SINK_BEAN_ENDPOINT_BASIC_PROPERTY_BINDING_CONF = "camel.sink.endpoint.basicPropertyBinding";
+    public static final String CAMEL_SINK_BEAN_ENDPOINT_BASIC_PROPERTY_BINDING_DOC = "Whether the endpoint should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities";
+    public static final Boolean CAMEL_SINK_BEAN_ENDPOINT_BASIC_PROPERTY_BINDING_DEFAULT = false;
+    public static final String CAMEL_SINK_BEAN_ENDPOINT_PARAMETERS_CONF = "camel.sink.endpoint.parameters";
+    public static final String CAMEL_SINK_BEAN_ENDPOINT_PARAMETERS_DOC = "Used for configuring additional properties on the bean";
+    public static final String CAMEL_SINK_BEAN_ENDPOINT_PARAMETERS_DEFAULT = null;
+    public static final String CAMEL_SINK_BEAN_ENDPOINT_SYNCHRONOUS_CONF = "camel.sink.endpoint.synchronous";
+    public static final String CAMEL_SINK_BEAN_ENDPOINT_SYNCHRONOUS_DOC = "Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported).";
+    public static final Boolean CAMEL_SINK_BEAN_ENDPOINT_SYNCHRONOUS_DEFAULT = false;
+    public static final String CAMEL_SINK_BEAN_COMPONENT_CACHE_CONF = "camel.component.bean.cache";
+    public static final String CAMEL_SINK_BEAN_COMPONENT_CACHE_DOC = "Use singleton option instead.";
+    public static final String CAMEL_SINK_BEAN_COMPONENT_CACHE_DEFAULT = "true";
+    public static final String CAMEL_SINK_BEAN_COMPONENT_LAZY_START_PRODUCER_CONF = "camel.component.bean.lazyStartProducer";
+    public static final String CAMEL_SINK_BEAN_COMPONENT_LAZY_START_PRODUCER_DOC = "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 [...]
+    public static final Boolean CAMEL_SINK_BEAN_COMPONENT_LAZY_START_PRODUCER_DEFAULT = false;
+    public static final String CAMEL_SINK_BEAN_COMPONENT_SCOPE_CONF = "camel.component.bean.scope";
+    public static final String CAMEL_SINK_BEAN_COMPONENT_SCOPE_DOC = "Scope of bean. When using singleton scope (default) the bean is created or looked up only once and reused for the lifetime of the endpoint. The bean should be thread-safe in case concurrent threads is calling the bean at the same time. When using request scope the bean is created or looked up once per request (exchange). This can be used if you want to store state on a bean while processing a request and you want to ca [...]
+    public static final String CAMEL_SINK_BEAN_COMPONENT_SCOPE_DEFAULT = "Singleton";
+    public static final String CAMEL_SINK_BEAN_COMPONENT_BASIC_PROPERTY_BINDING_CONF = "camel.component.bean.basicPropertyBinding";
+    public static final String CAMEL_SINK_BEAN_COMPONENT_BASIC_PROPERTY_BINDING_DOC = "Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities";
+    public static final Boolean CAMEL_SINK_BEAN_COMPONENT_BASIC_PROPERTY_BINDING_DEFAULT = false;
+
+    public CamelBeanSinkConnectorConfig(
+            ConfigDef config,
+            Map<String, String> parsedConfig) {
+        super(config, parsedConfig);
+    }
+
+    public CamelBeanSinkConnectorConfig(Map<String, String> parsedConfig) {
+        this(conf(), parsedConfig);
+    }
+
+    public static ConfigDef conf() {
+        ConfigDef conf = new ConfigDef(CamelSinkConnectorConfig.conf());
+        conf.define(CAMEL_SINK_BEAN_PATH_BEAN_NAME_CONF, ConfigDef.Type.STRING, CAMEL_SINK_BEAN_PATH_BEAN_NAME_DEFAULT, ConfigDef.Importance.HIGH, CAMEL_SINK_BEAN_PATH_BEAN_NAME_DOC);
+        conf.define(CAMEL_SINK_BEAN_ENDPOINT_CACHE_CONF, ConfigDef.Type.STRING, CAMEL_SINK_BEAN_ENDPOINT_CACHE_DEFAULT, ConfigDef.Importance.LOW, CAMEL_SINK_BEAN_ENDPOINT_CACHE_DOC);
+        conf.define(CAMEL_SINK_BEAN_ENDPOINT_METHOD_CONF, ConfigDef.Type.STRING, CAMEL_SINK_BEAN_ENDPOINT_METHOD_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_BEAN_ENDPOINT_METHOD_DOC);
+        conf.define(CAMEL_SINK_BEAN_ENDPOINT_SCOPE_CONF, ConfigDef.Type.STRING, CAMEL_SINK_BEAN_ENDPOINT_SCOPE_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_BEAN_ENDPOINT_SCOPE_DOC);
+        conf.define(CAMEL_SINK_BEAN_ENDPOINT_LAZY_START_PRODUCER_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_BEAN_ENDPOINT_LAZY_START_PRODUCER_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_BEAN_ENDPOINT_LAZY_START_PRODUCER_DOC);
+        conf.define(CAMEL_SINK_BEAN_ENDPOINT_BASIC_PROPERTY_BINDING_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_BEAN_ENDPOINT_BASIC_PROPERTY_BINDING_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_BEAN_ENDPOINT_BASIC_PROPERTY_BINDING_DOC);
+        conf.define(CAMEL_SINK_BEAN_ENDPOINT_PARAMETERS_CONF, ConfigDef.Type.STRING, CAMEL_SINK_BEAN_ENDPOINT_PARAMETERS_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_BEAN_ENDPOINT_PARAMETERS_DOC);
+        conf.define(CAMEL_SINK_BEAN_ENDPOINT_SYNCHRONOUS_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_BEAN_ENDPOINT_SYNCHRONOUS_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_BEAN_ENDPOINT_SYNCHRONOUS_DOC);
+        conf.define(CAMEL_SINK_BEAN_COMPONENT_CACHE_CONF, ConfigDef.Type.STRING, CAMEL_SINK_BEAN_COMPONENT_CACHE_DEFAULT, ConfigDef.Importance.LOW, CAMEL_SINK_BEAN_COMPONENT_CACHE_DOC);
+        conf.define(CAMEL_SINK_BEAN_COMPONENT_LAZY_START_PRODUCER_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_BEAN_COMPONENT_LAZY_START_PRODUCER_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_BEAN_COMPONENT_LAZY_START_PRODUCER_DOC);
+        conf.define(CAMEL_SINK_BEAN_COMPONENT_SCOPE_CONF, ConfigDef.Type.STRING, CAMEL_SINK_BEAN_COMPONENT_SCOPE_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_BEAN_COMPONENT_SCOPE_DOC);
+        conf.define(CAMEL_SINK_BEAN_COMPONENT_BASIC_PROPERTY_BINDING_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_BEAN_COMPONENT_BASIC_PROPERTY_BINDING_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_BEAN_COMPONENT_BASIC_PROPERTY_BINDING_DOC);
+        return conf;
+    }
+}
\ No newline at end of file
diff --git a/connectors/camel-bean-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/bean/CamelBeanSinkTask.java b/connectors/camel-bean-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/bean/CamelBeanSinkTask.java
new file mode 100644
index 0000000..847a07e
--- /dev/null
+++ b/connectors/camel-bean-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/bean/CamelBeanSinkTask.java
@@ -0,0 +1,39 @@
+/*
+ * 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.kafkaconnector.bean;
+
+import java.util.HashMap;
+import java.util.Map;
+import javax.annotation.Generated;
+import org.apache.camel.kafkaconnector.CamelSinkConnectorConfig;
+import org.apache.camel.kafkaconnector.CamelSinkTask;
+
+@Generated("This class has been generated by camel-kafka-connector-generator-maven-plugin, remove this annotation to prevent it from being generated.")
+public class CamelBeanSinkTask extends CamelSinkTask {
+
+    @Override
+    protected CamelSinkConnectorConfig getCamelSinkConnectorConfig(
+            Map<String, String> props) {
+        return new CamelBeanSinkConnectorConfig(props);
+    }
+    @Override
+    protected Map<String, String> getDefaultConfig() {
+        return new HashMap<String, String>() {{
+            put(CamelSinkConnectorConfig.CAMEL_SINK_COMPONENT_CONF, "bean");
+        }};
+    }
+}
\ No newline at end of file
diff --git a/connectors/camel-bean-kafka-connector/src/main/resources/META-INF/LICENSE.txt b/connectors/camel-bean-kafka-connector/src/main/resources/META-INF/LICENSE.txt
new file mode 100644
index 0000000..6b0b127
--- /dev/null
+++ b/connectors/camel-bean-kafka-connector/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/connectors/camel-bean-kafka-connector/src/main/resources/META-INF/NOTICE.txt b/connectors/camel-bean-kafka-connector/src/main/resources/META-INF/NOTICE.txt
new file mode 100644
index 0000000..2e215bf
--- /dev/null
+++ b/connectors/camel-bean-kafka-connector/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/connectors/pom.xml b/connectors/pom.xml
index 5f195fc..6ef200b 100644
--- a/connectors/pom.xml
+++ b/connectors/pom.xml
@@ -116,7 +116,6 @@
                         <param>aws2-kms</param>
                         <param>aws2-mq</param>
                         <param>aws2-msk</param>
-                        <param>bean</param>
                         <param>browse</param>
                         <param>class</param>
                         <param>dataset</param>
@@ -234,6 +233,7 @@
         <module>camel-azure-queue-kafka-connector</module>
         <module>camel-azure-storage-blob-kafka-connector</module>
         <module>camel-azure-storage-queue-kafka-connector</module>
+        <module>camel-bean-kafka-connector</module>
         <module>camel-bean-validator-kafka-connector</module>
         <module>camel-beanstalk-kafka-connector</module>
         <module>camel-box-kafka-connector</module>


[camel-kafka-connector] 02/04: Revert "Removed documentation for bean connector"

Posted by ac...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

acosentino pushed a commit to branch silly-me
in repository https://gitbox.apache.org/repos/asf/camel-kafka-connector.git

commit 0cd002d4c0033209b1c4fdc3a7eafb651d60458b
Author: Andrea Cosentino <an...@gmail.com>
AuthorDate: Thu Sep 24 06:56:50 2020 +0200

    Revert "Removed documentation for bean connector"
    
    This reverts commit bc82a7879ce7d1f9cc8ccfaf0ec4a0965c10faeb.
---
 .../camel-bean-kafka-sink-connector.adoc           | 61 ++++++++++++++++++++++
 1 file changed, 61 insertions(+)

diff --git a/docs/modules/ROOT/pages/connectors/camel-bean-kafka-sink-connector.adoc b/docs/modules/ROOT/pages/connectors/camel-bean-kafka-sink-connector.adoc
new file mode 100644
index 0000000..269ac8e
--- /dev/null
+++ b/docs/modules/ROOT/pages/connectors/camel-bean-kafka-sink-connector.adoc
@@ -0,0 +1,61 @@
+// kafka-connector options: START
+[[camel-bean-kafka-connector-sink]]
+= camel-bean-kafka-connector sink configuration
+
+When using camel-bean-kafka-connector as sink make sure to use the following Maven dependency to have support for the connector:
+
+[source,xml]
+----
+<dependency>
+  <groupId>org.apache.camel.kafkaconnector</groupId>
+  <artifactId>camel-bean-kafka-connector</artifactId>
+  <version>x.x.x</version>
+  <!-- use the same version as your Camel Kafka connector version -->
+</dependency>
+----
+
+To use this Sink connector in Kafka connect you'll need to set the following connector.class
+
+[source,java]
+----
+connector.class=org.apache.camel.kafkaconnector.bean.CamelBeanSinkConnector
+----
+
+
+The camel-bean sink connector supports 12 options, which are listed below.
+
+
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|===
+| Name | Description | Default | Priority
+| *camel.sink.path.beanName* | Sets the name of the bean to invoke | null | HIGH
+| *camel.sink.endpoint.cache* | Use scope option instead. | null | LOW
+| *camel.sink.endpoint.method* | Sets the name of the method to invoke on the bean | null | MEDIUM
+| *camel.sink.endpoint.scope* | Scope of bean. When using singleton scope (default) the bean is created or looked up only once and reused for the lifetime of the endpoint. The bean should be thread-safe in case concurrent threads is calling the bean at the same time. When using request scope the bean is created or looked up once per request (exchange). This can be used if you want to store state on a bean while processing a request and you want to call the same bean instance multiple tim [...]
+| *camel.sink.endpoint.lazyStartProducer* | 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 cre [...]
+| *camel.sink.endpoint.basicPropertyBinding* | Whether the endpoint should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | MEDIUM
+| *camel.sink.endpoint.parameters* | Used for configuring additional properties on the bean | null | MEDIUM
+| *camel.sink.endpoint.synchronous* | Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported). | false | MEDIUM
+| *camel.component.bean.cache* | Use singleton option instead. | "true" | LOW
+| *camel.component.bean.lazyStartProducer* | 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 cr [...]
+| *camel.component.bean.scope* | Scope of bean. When using singleton scope (default) the bean is created or looked up only once and reused for the lifetime of the endpoint. The bean should be thread-safe in case concurrent threads is calling the bean at the same time. When using request scope the bean is created or looked up once per request (exchange). This can be used if you want to store state on a bean while processing a request and you want to call the same bean instance multiple ti [...]
+| *camel.component.bean.basicPropertyBinding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | MEDIUM
+|===
+
+
+
+The camel-bean sink connector has no converters out of the box.
+
+
+
+
+
+The camel-bean sink connector has no transforms out of the box.
+
+
+
+
+
+The camel-bean sink connector has no aggregation strategies out of the box.
+// kafka-connector options: END