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:53 UTC

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

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