You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by gn...@apache.org on 2019/06/11 16:15:55 UTC

[camel] 02/05: Generate additional fluent methods with a String argument to allow the property binding to kick in for references, placeholders, etc...

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

gnodet pushed a commit to branch endpoint-dsl
in repository https://gitbox.apache.org/repos/asf/camel.git

commit 192b1d26ba2050524be71cda84d2f2e75d4deec7
Author: Guillaume Nodet <gn...@gmail.com>
AuthorDate: Tue Jun 11 13:10:10 2019 +0200

    Generate additional fluent methods with a String argument to allow the property binding to kick in for references, placeholders, etc...
---
 .../camel/model/endpoint/AMQPEndpointBuilder.java  |  902 ++++++++++++++-
 .../camel/model/endpoint/AS2EndpointBuilder.java   |  162 +++
 .../model/endpoint/ActiveMQEndpointBuilder.java    |  903 ++++++++++++++-
 .../camel/model/endpoint/AhcEndpointBuilder.java   |  148 +++
 .../camel/model/endpoint/ApnsEndpointBuilder.java  |  196 ++++
 .../model/endpoint/AsteriskEndpointBuilder.java    |   60 +
 .../camel/model/endpoint/AtmosEndpointBuilder.java |   65 ++
 .../AtmosphereWebsocketEndpointBuilder.java        |  235 ++++
 .../camel/model/endpoint/AtomEndpointBuilder.java  |  248 ++++
 .../model/endpoint/AtomixMapEndpointBuilder.java   |  149 +++
 .../endpoint/AtomixMessagingEndpointBuilder.java   |  143 +++
 .../endpoint/AtomixMultiMapEndpointBuilder.java    |  151 +++
 .../model/endpoint/AtomixQueueEndpointBuilder.java |  135 +++
 .../model/endpoint/AtomixSetEndpointBuilder.java   |  140 +++
 .../model/endpoint/AtomixValueEndpointBuilder.java |  142 +++
 .../camel/model/endpoint/AvroEndpointBuilder.java  |   92 ++
 .../camel/model/endpoint/BeanEndpointBuilder.java  |   37 +
 .../endpoint/BeanValidatorEndpointBuilder.java     |   50 +
 .../model/endpoint/BeanstalkEndpointBuilder.java   |  261 +++++
 .../model/endpoint/BlobServiceEndpointBuilder.java |  160 +++
 .../model/endpoint/BonitaEndpointBuilder.java      |   59 +
 .../camel/model/endpoint/BoxEndpointBuilder.java   |  100 ++
 .../model/endpoint/BraintreeEndpointBuilder.java   |   83 ++
 .../model/endpoint/BrowseEndpointBuilder.java      |   51 +
 .../camel/model/endpoint/CMEndpointBuilder.java    |   38 +
 .../camel/model/endpoint/CMISEndpointBuilder.java  |   93 ++
 .../endpoint/CaffeineCacheEndpointBuilder.java     |  173 +++
 .../endpoint/CaffeineLoadCacheEndpointBuilder.java |  173 +++
 .../model/endpoint/CassandraEndpointBuilder.java   |  249 ++++
 .../model/endpoint/ChatScriptEndpointBuilder.java  |   34 +
 .../camel/model/endpoint/ChunkEndpointBuilder.java |   26 +
 .../model/endpoint/CinderEndpointBuilder.java      |   26 +
 .../camel/model/endpoint/ClassEndpointBuilder.java |   37 +
 .../model/endpoint/ClientEndpointBuilder.java      |  176 +++
 .../camel/model/endpoint/CoAPEndpointBuilder.java  |  102 ++
 .../model/endpoint/CometdEndpointBuilder.java      |  138 +++
 .../model/endpoint/ConsulEndpointBuilder.java      |   51 +
 .../model/endpoint/ControlBusEndpointBuilder.java  |   55 +
 .../camel/model/endpoint/CordaEndpointBuilder.java |   58 +
 .../model/endpoint/CouchDbEndpointBuilder.java     |   91 ++
 .../model/endpoint/CouchbaseEndpointBuilder.java   |  342 ++++++
 .../model/endpoint/CryptoCmsEndpointBuilder.java   |  172 +++
 .../camel/model/endpoint/CwEndpointBuilder.java    |   51 +
 .../camel/model/endpoint/CxfEndpointBuilder.java   |  243 ++++
 .../camel/model/endpoint/CxfRsEndpointBuilder.java |  289 +++++
 .../model/endpoint/DataFormatEndpointBuilder.java  |   18 +
 .../model/endpoint/DataSetEndpointBuilder.java     |  188 ++++
 .../model/endpoint/DataSetTestEndpointBuilder.java |  164 +++
 .../camel/model/endpoint/DdbEndpointBuilder.java   |   66 ++
 .../model/endpoint/DdbStreamEndpointBuilder.java   |  249 ++++
 .../endpoint/DigitalOceanEndpointBuilder.java      |   70 ++
 .../endpoint/DigitalSignatureEndpointBuilder.java  |  116 ++
 .../model/endpoint/DirectEndpointBuilder.java      |   78 ++
 .../model/endpoint/DirectVmEndpointBuilder.java    |   99 ++
 .../model/endpoint/DisruptorEndpointBuilder.java   |  140 +++
 .../model/endpoint/DisruptorVmEndpointBuilder.java |  141 +++
 .../camel/model/endpoint/DnsEndpointBuilder.java   |   26 +
 .../model/endpoint/DockerEndpointBuilder.java      |  130 +++
 .../camel/model/endpoint/DozerEndpointBuilder.java |   31 +
 .../camel/model/endpoint/DrillEndpointBuilder.java |   36 +
 .../model/endpoint/DropboxEndpointBuilder.java     |   79 ++
 .../camel/model/endpoint/EC2EndpointBuilder.java   |   45 +
 .../camel/model/endpoint/ECSEndpointBuilder.java   |   42 +
 .../camel/model/endpoint/EKSEndpointBuilder.java   |   42 +
 .../model/endpoint/EhcacheEndpointBuilder.java     |  142 +++
 .../camel/model/endpoint/EjbEndpointBuilder.java   |   37 +
 .../endpoint/ElasticsearchEndpointBuilder.java     |   88 ++
 .../camel/model/endpoint/ElsqlEndpointBuilder.java |  407 +++++++
 .../camel/model/endpoint/EtcdEndpointBuilder.java  |  254 +++++
 .../model/endpoint/EventAdminEndpointBuilder.java  |   60 +
 .../camel/model/endpoint/EventEndpointBuilder.java |   50 +
 .../camel/model/endpoint/ExecEndpointBuilder.java  |   58 +
 .../model/endpoint/FacebookEndpointBuilder.java    |  389 +++++++
 .../camel/model/endpoint/FhirEndpointBuilder.java  |  164 +++
 .../camel/model/endpoint/FileEndpointBuilder.java  |  910 +++++++++++++++
 .../model/endpoint/FlatpackEndpointBuilder.java    |  254 +++++
 .../camel/model/endpoint/FlinkEndpointBuilder.java |   67 ++
 .../camel/model/endpoint/FopEndpointBuilder.java   |   36 +
 .../model/endpoint/FreemarkerEndpointBuilder.java  |   42 +
 .../camel/model/endpoint/FtpEndpointBuilder.java   | 1075 +++++++++++++++++-
 .../camel/model/endpoint/FtpsEndpointBuilder.java  | 1183 +++++++++++++++++++-
 .../model/endpoint/GangliaEndpointBuilder.java     |   86 ++
 .../model/endpoint/GeoCoderEndpointBuilder.java    |   34 +
 .../camel/model/endpoint/GitEndpointBuilder.java   |   66 ++
 .../model/endpoint/GitHubEndpointBuilder.java      |   59 +
 .../model/endpoint/GlanceEndpointBuilder.java      |   26 +
 .../endpoint/GoogleBigQueryEndpointBuilder.java    |   27 +
 .../endpoint/GoogleBigQuerySQLEndpointBuilder.java |   27 +
 .../endpoint/GoogleCalendarEndpointBuilder.java    |   61 +
 .../GoogleCalendarStreamEndpointBuilder.java       |  240 ++++
 .../model/endpoint/GoogleDriveEndpointBuilder.java |   82 ++
 .../model/endpoint/GoogleMailEndpointBuilder.java  |   61 +
 .../endpoint/GoogleMailStreamEndpointBuilder.java  |  219 ++++
 .../endpoint/GooglePubsubEndpointBuilder.java      |   87 ++
 .../endpoint/GoogleSheetsEndpointBuilder.java      |   62 +
 .../GoogleSheetsStreamEndpointBuilder.java         |  234 ++++
 .../camel/model/endpoint/GoraEndpointBuilder.java  |  157 +++
 .../camel/model/endpoint/GrapeEndpointBuilder.java |   18 +
 .../model/endpoint/GridFsEndpointBuilder.java      |  110 ++
 .../camel/model/endpoint/GrpcEndpointBuilder.java  |  152 +++
 .../endpoint/GuavaEventBusEndpointBuilder.java     |   78 ++
 .../camel/model/endpoint/HBaseEndpointBuilder.java |  138 +++
 .../HazelcastAtomicnumberEndpointBuilder.java      |   89 ++
 .../endpoint/HazelcastInstanceEndpointBuilder.java |  152 +++
 .../endpoint/HazelcastListEndpointBuilder.java     |  151 +++
 .../endpoint/HazelcastMapEndpointBuilder.java      |  151 +++
 .../endpoint/HazelcastMultimapEndpointBuilder.java |  152 +++
 .../endpoint/HazelcastQueueEndpointBuilder.java    |  152 +++
 .../HazelcastReplicatedmapEndpointBuilder.java     |  152 +++
 .../HazelcastRingbufferEndpointBuilder.java        |   89 ++
 .../endpoint/HazelcastSedaEndpointBuilder.java     |  151 +++
 .../endpoint/HazelcastSetEndpointBuilder.java      |  151 +++
 .../endpoint/HazelcastTopicEndpointBuilder.java    |  152 +++
 .../camel/model/endpoint/HdfsEndpointBuilder.java  |  327 ++++++
 .../model/endpoint/HipchatEndpointBuilder.java     |  214 ++++
 .../camel/model/endpoint/HttpEndpointBuilder.java  |  372 ++++++
 .../camel/model/endpoint/IAMEndpointBuilder.java   |   44 +
 .../camel/model/endpoint/IOTAEndpointBuilder.java  |   76 ++
 .../camel/model/endpoint/IPFSEndpointBuilder.java  |   26 +
 .../model/endpoint/IgniteCacheEndpointBuilder.java |  162 +++
 .../endpoint/IgniteComputeEndpointBuilder.java     |   69 ++
 .../endpoint/IgniteEventsEndpointBuilder.java      |   91 ++
 .../model/endpoint/IgniteIdGenEndpointBuilder.java |   65 ++
 .../endpoint/IgniteMessagingEndpointBuilder.java   |  100 ++
 .../model/endpoint/IgniteQueueEndpointBuilder.java |   76 ++
 .../model/endpoint/IgniteSetEndpointBuilder.java   |   60 +
 .../model/endpoint/InfinispanEndpointBuilder.java  |  170 +++
 .../model/endpoint/InfluxDbEndpointBuilder.java    |   26 +
 .../camel/model/endpoint/IrcEndpointBuilder.java   |  194 ++++
 .../model/endpoint/IronMQEndpointBuilder.java      |  271 +++++
 .../camel/model/endpoint/JBPMEndpointBuilder.java  |  196 ++++
 .../model/endpoint/JCacheEndpointBuilder.java      |  176 +++
 .../model/endpoint/JGroupsEndpointBuilder.java     |   62 +
 .../model/endpoint/JGroupsRaftEndpointBuilder.java |   63 ++
 .../camel/model/endpoint/JMXEndpointBuilder.java   |  219 ++++
 .../endpoint/JSR356WebSocketEndpointBuilder.java   |   61 +
 .../model/endpoint/JcloudsEndpointBuilder.java     |   60 +
 .../camel/model/endpoint/JcrEndpointBuilder.java   |   97 ++
 .../camel/model/endpoint/JdbcEndpointBuilder.java  |  130 +++
 .../model/endpoint/JettyHttpEndpointBuilder9.java  |  504 +++++++++
 .../camel/model/endpoint/JingEndpointBuilder.java  |   28 +
 .../camel/model/endpoint/JiraEndpointBuilder.java  |   77 ++
 .../camel/model/endpoint/JmsEndpointBuilder.java   |  900 ++++++++++++++-
 .../camel/model/endpoint/JoltEndpointBuilder.java  |   53 +
 .../camel/model/endpoint/JooqEndpointBuilder.java  |  220 ++++
 .../camel/model/endpoint/JpaEndpointBuilder.java   |  391 +++++++
 .../endpoint/JsonValidatorEndpointBuilder.java     |   63 ++
 .../camel/model/endpoint/Jt400EndpointBuilder.java |  281 +++++
 .../camel/model/endpoint/KMSEndpointBuilder.java   |   42 +
 .../camel/model/endpoint/KafkaEndpointBuilder.java |  637 +++++++++++
 .../model/endpoint/KeystoneEndpointBuilder.java    |   26 +
 .../model/endpoint/KinesisEndpointBuilder.java     |  246 ++++
 .../endpoint/KinesisFirehoseEndpointBuilder.java   |   35 +
 .../KubernetesConfigMapsEndpointBuilder.java       |   43 +
 .../KubernetesDeploymentsEndpointBuilder.java      |   85 ++
 .../endpoint/KubernetesHPAEndpointBuilder.java     |   85 ++
 .../endpoint/KubernetesJobEndpointBuilder.java     |   85 ++
 .../KubernetesNamespacesEndpointBuilder.java       |   85 ++
 .../endpoint/KubernetesNodesEndpointBuilder.java   |   85 ++
 ...etesPersistentVolumesClaimsEndpointBuilder.java |   43 +
 ...KubernetesPersistentVolumesEndpointBuilder.java |   43 +
 .../endpoint/KubernetesPodsEndpointBuilder.java    |   85 ++
 ...netesReplicationControllersEndpointBuilder.java |   86 ++
 .../KubernetesResourcesQuotaEndpointBuilder.java   |   43 +
 .../endpoint/KubernetesSecretsEndpointBuilder.java |   43 +
 .../KubernetesServiceAccountsEndpointBuilder.java  |   43 +
 .../KubernetesServicesEndpointBuilder.java         |   85 ++
 .../model/endpoint/LambdaEndpointBuilder.java      |   44 +
 .../model/endpoint/LanguageEndpointBuilder.java    |   54 +
 .../camel/model/endpoint/LdapEndpointBuilder.java  |   30 +
 .../camel/model/endpoint/LdifEndpointBuilder.java  |   18 +
 .../model/endpoint/LinkedInEndpointBuilder.java    |  109 ++
 .../camel/model/endpoint/LogEndpointBuilder.java   |  215 ++++
 .../model/endpoint/LuceneEndpointBuilder.java      |   64 ++
 .../model/endpoint/LumberjackEndpointBuilder.java  |   68 ++
 .../camel/model/endpoint/MQEndpointBuilder.java    |   43 +
 .../camel/model/endpoint/MQTTEndpointBuilder.java  |  263 +++++
 .../camel/model/endpoint/MSKEndpointBuilder.java   |   42 +
 .../camel/model/endpoint/MailEndpointBuilder.java  |  525 +++++++++
 .../model/endpoint/MasterEndpointBuilder.java      |   51 +
 .../model/endpoint/MetricsEndpointBuilder.java     |   74 ++
 .../model/endpoint/MicrometerEndpointBuilder.java  |   34 +
 .../model/endpoint/MiloClientEndpointBuilder.java  |  150 +++
 .../model/endpoint/MiloServerEndpointBuilder.java  |   52 +
 .../camel/model/endpoint/Mina2EndpointBuilder.java |  261 +++++
 .../camel/model/endpoint/MllpEndpointBuilder.java  |  262 +++++
 .../camel/model/endpoint/MockEndpointBuilder.java  |  137 +++
 .../model/endpoint/MongoDbEndpointBuilder.java     |  125 +++
 .../camel/model/endpoint/MsvEndpointBuilder.java   |   85 ++
 .../model/endpoint/MustacheEndpointBuilder.java    |   26 +
 .../camel/model/endpoint/MvelEndpointBuilder.java  |   26 +
 .../model/endpoint/MyBatisBeanEndpointBuilder.java |   29 +
 .../model/endpoint/MyBatisEndpointBuilder.java     |  268 +++++
 .../model/endpoint/NagiosEndpointBuilder.java      |   69 ++
 .../camel/model/endpoint/NatsEndpointBuilder.java  |  188 ++++
 .../model/endpoint/NetWeaverEndpointBuilder.java   |   44 +
 .../camel/model/endpoint/NettyEndpointBuilder.java |  657 +++++++++++
 .../model/endpoint/NettyHttpEndpointBuilder.java   |  759 ++++++++++++-
 .../model/endpoint/NeutronEndpointBuilder.java     |   26 +
 .../camel/model/endpoint/NovaEndpointBuilder.java  |   26 +
 .../camel/model/endpoint/NsqEndpointBuilder.java   |  122 ++
 .../model/endpoint/Olingo2EndpointBuilder.java     |  134 +++
 .../model/endpoint/Olingo4EndpointBuilder.java     |  134 +++
 .../OpenshiftBuildConfigsEndpointBuilder.java      |   43 +
 .../endpoint/OpenshiftBuildsEndpointBuilder.java   |   43 +
 .../model/endpoint/OptaPlannerEndpointBuilder.java |   68 ++
 .../camel/model/endpoint/PahoEndpointBuilder.java  |   97 ++
 .../model/endpoint/PaxLoggingEndpointBuilder.java  |   52 +
 .../camel/model/endpoint/PdfEndpointBuilder.java   |   91 ++
 .../model/endpoint/PgEventEndpointBuilder.java     |   68 ++
 .../model/endpoint/PrinterEndpointBuilder.java     |   50 +
 .../model/endpoint/PropertiesEndpointBuilder.java  |   71 ++
 .../model/endpoint/PubNubEndpointBuilder.java      |   75 ++
 .../model/endpoint/PulsarEndpointBuilder.java      |   77 ++
 .../model/endpoint/QuartzEndpointBuilder.java      |  177 +++
 .../endpoint/QueueServiceEndpointBuilder.java      |   97 ++
 .../model/endpoint/QuickfixjEndpointBuilder.java   |   72 ++
 .../model/endpoint/RabbitMQEndpointBuilder.java    |  430 +++++++
 .../endpoint/ReactiveStreamsEndpointBuilder.java   |  118 ++
 .../camel/model/endpoint/RedisEndpointBuilder.java |  106 ++
 .../camel/model/endpoint/RefEndpointBuilder.java   |   50 +
 .../model/endpoint/RestApiEndpointBuilder.java     |   51 +
 .../camel/model/endpoint/RestEndpointBuilder.java  |   61 +
 .../model/endpoint/RestSwaggerEndpointBuilder.java |   39 +
 .../model/endpoint/RestletEndpointBuilder.java     |  201 ++++
 .../camel/model/endpoint/RssEndpointBuilder.java   |  247 ++++
 .../camel/model/endpoint/S3EndpointBuilder.java    |  395 +++++++
 .../camel/model/endpoint/SWFEndpointBuilder.java   |  144 +++
 .../camel/model/endpoint/SagaEndpointBuilder.java  |   27 +
 .../model/endpoint/SalesforceEndpointBuilder.java  |  260 +++++
 .../model/endpoint/SchedulerEndpointBuilder.java   |  206 ++++
 .../model/endpoint/SchematronEndpointBuilder.java  |   43 +
 .../camel/model/endpoint/ScpEndpointBuilder.java   |  169 +++
 .../camel/model/endpoint/SdbEndpointBuilder.java   |   58 +
 .../camel/model/endpoint/SedaEndpointBuilder.java  |  187 ++++
 .../model/endpoint/ServerEndpointBuilder.java      |  184 +++
 .../model/endpoint/ServiceEndpointBuilder.java     |   51 +
 .../model/endpoint/ServiceNowEndpointBuilder.java  |  230 ++++
 .../model/endpoint/ServletEndpointBuilder.java     |  214 ++++
 .../camel/model/endpoint/SesEndpointBuilder.java   |   53 +
 .../camel/model/endpoint/SftpEndpointBuilder.java  | 1108 +++++++++++++++++-
 .../camel/model/endpoint/SipEndpointBuilder.java   |  299 +++++
 .../camel/model/endpoint/Sjms2EndpointBuilder.java |  324 ++++++
 .../model/endpoint/SjmsBatchEndpointBuilder.java   |  261 +++++
 .../camel/model/endpoint/SjmsEndpointBuilder.java  |  308 +++++
 .../camel/model/endpoint/SlackEndpointBuilder.java |  196 ++++
 .../camel/model/endpoint/SmppEndpointBuilder.java  |  302 +++++
 .../camel/model/endpoint/SnmpEndpointBuilder.java  |  273 +++++
 .../camel/model/endpoint/SnsEndpointBuilder.java   |   75 ++
 .../camel/model/endpoint/SolrEndpointBuilder.java  |   92 ++
 .../model/endpoint/SoroushBotEndpointBuilder.java  |  208 ++++
 .../camel/model/endpoint/SparkEndpointBuilder.java |  120 ++
 .../model/endpoint/SplunkEndpointBuilder.java      |  262 +++++
 .../model/endpoint/SpringBatchEndpointBuilder.java |   44 +
 .../endpoint/SpringIntegrationEndpointBuilder.java |   63 ++
 .../model/endpoint/SpringLdapEndpointBuilder.java  |   26 +
 .../endpoint/SpringWebserviceEndpointBuilder.java  |  258 +++++
 .../camel/model/endpoint/SqlEndpointBuilder.java   |  384 +++++++
 .../model/endpoint/SqlStoredEndpointBuilder.java   |   60 +
 .../camel/model/endpoint/SqsEndpointBuilder.java   |  406 +++++++
 .../camel/model/endpoint/SshEndpointBuilder.java   |  239 ++++
 .../camel/model/endpoint/StAXEndpointBuilder.java  |   18 +
 .../camel/model/endpoint/StompEndpointBuilder.java |   68 ++
 .../model/endpoint/StreamEndpointBuilder.java      |  186 +++
 .../endpoint/StringTemplateEndpointBuilder.java    |   42 +
 .../camel/model/endpoint/StubEndpointBuilder.java  |  187 ++++
 .../camel/model/endpoint/SwiftEndpointBuilder.java |   26 +
 .../model/endpoint/TelegramEndpointBuilder.java    |  225 ++++
 .../model/endpoint/ThriftEndpointBuilder.java      |  115 ++
 .../camel/model/endpoint/TikaEndpointBuilder.java  |   46 +
 .../camel/model/endpoint/TimerEndpointBuilder.java |  117 ++
 .../model/endpoint/TwilioEndpointBuilder.java      |   59 +
 .../TwitterDirectMessageEndpointBuilder.java       |  313 ++++++
 .../endpoint/TwitterSearchEndpointBuilder.java     |  306 +++++
 .../endpoint/TwitterStreamingEndpointBuilder.java  |  318 ++++++
 .../endpoint/TwitterTimelineEndpointBuilder.java   |  315 ++++++
 .../model/endpoint/UndertowEndpointBuilder.java    |  216 ++++
 .../model/endpoint/ValidatorEndpointBuilder.java   |   85 ++
 .../model/endpoint/VelocityEndpointBuilder.java    |   34 +
 .../camel/model/endpoint/VertxEndpointBuilder.java |   59 +
 .../camel/model/endpoint/VmEndpointBuilder.java    |  186 +++
 .../model/endpoint/WeatherEndpointBuilder.java     |  272 +++++
 .../camel/model/endpoint/Web3jEndpointBuilder.java |  192 ++++
 .../model/endpoint/WebhookEndpointBuilder.java     |   59 +
 .../model/endpoint/WebsocketEndpointBuilder.java   |  159 +++
 .../model/endpoint/WordpressEndpointBuilder.java   |   84 ++
 .../camel/model/endpoint/WsEndpointBuilder.java    |  164 +++
 .../model/endpoint/XChangeEndpointBuilder.java     |   51 +
 .../model/endpoint/XQueryEndpointBuilder.java      |  286 +++++
 .../endpoint/XmlSignatureEndpointBuilder.java      |  287 +++++
 .../camel/model/endpoint/XmppEndpointBuilder.java  |  136 +++
 .../camel/model/endpoint/XsltEndpointBuilder.java  |  157 +++
 .../model/endpoint/YammerEndpointBuilder.java      |  243 ++++
 .../model/endpoint/ZendeskEndpointBuilder.java     |   51 +
 .../model/endpoint/ZooKeeperEndpointBuilder.java   |  108 ++
 .../endpoint/ZooKeeperMasterEndpointBuilder.java   |   53 +
 .../camel/maven/packaging/EndpointDslMojo.java     |   19 +
 297 files changed, 46017 insertions(+), 32 deletions(-)

diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AMQPEndpointBuilder.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AMQPEndpointBuilder.java
index 4423b53..6307a6d 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AMQPEndpointBuilder.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AMQPEndpointBuilder.java
@@ -79,6 +79,17 @@ public interface AMQPEndpointBuilder {
             return (T) this;
         }
         /**
+         * Sets the default connection factory to be used if a connection
+         * factory is not specified for either
+         * setTemplateConnectionFactory(ConnectionFactory) or
+         * setListenerConnectionFactory(ConnectionFactory). The option will be
+         * converted to a javax.jms.ConnectionFactory type.
+         */
+        public T connectionFactory(String connectionFactory) {
+            this.properties.put("connectionFactory", connectionFactory);
+            return (T) this;
+        }
+        /**
          * Specifies whether Camel ignores the JMSReplyTo header in messages. If
          * true, Camel does not send a reply back to the destination specified
          * in the JMSReplyTo header. You can use this option if you want Camel
@@ -94,6 +105,21 @@ public interface AMQPEndpointBuilder {
             return (T) this;
         }
         /**
+         * Specifies whether Camel ignores the JMSReplyTo header in messages. If
+         * true, Camel does not send a reply back to the destination specified
+         * in the JMSReplyTo header. You can use this option if you want Camel
+         * to consume from a route and you do not want Camel to automatically
+         * send back a reply message because another component in your code
+         * handles the reply message. You can also use this option if you want
+         * to use Camel as a proxy between different message brokers and you
+         * want to route message from one system to another. The option will be
+         * converted to a boolean type.
+         */
+        public T disableReplyTo(String disableReplyTo) {
+            this.properties.put("disableReplyTo", disableReplyTo);
+            return (T) this;
+        }
+        /**
          * The durable subscriber name for specifying durable topic
          * subscriptions. The clientId option must be configured as well. The
          * option is a java.lang.String type.
@@ -115,6 +141,18 @@ public interface AMQPEndpointBuilder {
             return (T) this;
         }
         /**
+         * Allows you to force the use of a specific javax.jms.Message
+         * implementation for sending JMS messages. Possible values are: Bytes,
+         * Map, Object, Stream, Text. By default, Camel would determine which
+         * JMS message type to use from the In body type. This option allows you
+         * to specify it. The option will be converted to a
+         * org.apache.camel.component.jms.JmsMessageType type.
+         */
+        public T jmsMessageType(String jmsMessageType) {
+            this.properties.put("jmsMessageType", jmsMessageType);
+            return (T) this;
+        }
+        /**
          * Specifies whether to test the connection on startup. This ensures
          * that when Camel starts that all the JMS consumers have a valid
          * connection to the JMS broker. If a connection cannot be granted then
@@ -127,6 +165,18 @@ public interface AMQPEndpointBuilder {
             return (T) this;
         }
         /**
+         * Specifies whether to test the connection on startup. This ensures
+         * that when Camel starts that all the JMS consumers have a valid
+         * connection to the JMS broker. If a connection cannot be granted then
+         * Camel throws an exception on startup. This ensures that Camel is not
+         * started with failed connections. The JMS producers is tested as well.
+         * The option will be converted to a boolean type.
+         */
+        public T testConnectionOnStartup(String testConnectionOnStartup) {
+            this.properties.put("testConnectionOnStartup", testConnectionOnStartup);
+            return (T) this;
+        }
+        /**
          * Controls whether or not to include serialized headers. Applies only
          * when isTransferExchange() is true. This requires that the objects are
          * serializable. Camel will exclude any non-serializable objects and log
@@ -137,6 +187,16 @@ public interface AMQPEndpointBuilder {
             return (T) this;
         }
         /**
+         * Controls whether or not to include serialized headers. Applies only
+         * when isTransferExchange() is true. This requires that the objects are
+         * serializable. Camel will exclude any non-serializable objects and log
+         * it at WARN level. The option will be converted to a boolean type.
+         */
+        public T allowSerializedHeaders(String allowSerializedHeaders) {
+            this.properties.put("allowSerializedHeaders", allowSerializedHeaders);
+            return (T) this;
+        }
+        /**
          * Whether to startup the JmsConsumer message listener asynchronously,
          * when starting a route. For example if a JmsConsumer cannot get a
          * connection to a remote JMS broker, then it may block while retrying
@@ -154,6 +214,23 @@ public interface AMQPEndpointBuilder {
             return (T) this;
         }
         /**
+         * Whether to startup the JmsConsumer message listener asynchronously,
+         * when starting a route. For example if a JmsConsumer cannot get a
+         * connection to a remote JMS broker, then it may block while retrying
+         * and/or failover. This will cause Camel to block while starting
+         * routes. By setting this option to true, you will let routes startup,
+         * while the JmsConsumer connects to the JMS broker using a dedicated
+         * thread in asynchronous mode. If this option is used, then beware that
+         * if the connection could not be established, then an exception is
+         * logged at WARN level, and the consumer will not be able to receive
+         * messages; You can then restart the route to retry. The option will be
+         * converted to a boolean type.
+         */
+        public T asyncStartListener(String asyncStartListener) {
+            this.properties.put("asyncStartListener", asyncStartListener);
+            return (T) this;
+        }
+        /**
          * Whether to stop the JmsConsumer message listener asynchronously, when
          * stopping a route. The option is a boolean type.
          */
@@ -162,6 +239,14 @@ public interface AMQPEndpointBuilder {
             return (T) this;
         }
         /**
+         * Whether to stop the JmsConsumer message listener asynchronously, when
+         * stopping a route. The option will be converted to a boolean type.
+         */
+        public T asyncStopListener(String asyncStopListener) {
+            this.properties.put("asyncStopListener", asyncStopListener);
+            return (T) this;
+        }
+        /**
          * Whether the endpoint should use basic property binding (Camel 2.x) or
          * the newer property binding with additional capabilities. The option
          * is a boolean type.
@@ -171,6 +256,15 @@ public interface AMQPEndpointBuilder {
             return (T) this;
         }
         /**
+         * Whether the endpoint should use basic property binding (Camel 2.x) or
+         * the newer property binding with additional capabilities. The option
+         * will be converted to a boolean type.
+         */
+        public T basicPropertyBinding(String basicPropertyBinding) {
+            this.properties.put("basicPropertyBinding", basicPropertyBinding);
+            return (T) this;
+        }
+        /**
          * A pluggable
          * org.springframework.jms.support.destination.DestinationResolver that
          * allows you to use your own resolver (for example, to lookup the real
@@ -182,6 +276,17 @@ public interface AMQPEndpointBuilder {
             return (T) this;
         }
         /**
+         * A pluggable
+         * org.springframework.jms.support.destination.DestinationResolver that
+         * allows you to use your own resolver (for example, to lookup the real
+         * destination in a JNDI registry). The option will be converted to a
+         * org.springframework.jms.support.destination.DestinationResolver type.
+         */
+        public T destinationResolver(String destinationResolver) {
+            this.properties.put("destinationResolver", destinationResolver);
+            return (T) this;
+        }
+        /**
          * Specifies a org.springframework.util.ErrorHandler to be invoked in
          * case of any uncaught exceptions thrown while processing a Message. By
          * default these exceptions will be logged at the WARN level, if no
@@ -196,6 +301,20 @@ public interface AMQPEndpointBuilder {
             return (T) this;
         }
         /**
+         * Specifies a org.springframework.util.ErrorHandler to be invoked in
+         * case of any uncaught exceptions thrown while processing a Message. By
+         * default these exceptions will be logged at the WARN level, if no
+         * errorHandler has been configured. You can configure logging level and
+         * whether stack traces should be logged using errorHandlerLoggingLevel
+         * and errorHandlerLogStackTrace options. This makes it much easier to
+         * configure, than having to code a custom errorHandler. The option will
+         * be converted to a org.springframework.util.ErrorHandler type.
+         */
+        public T errorHandler(String errorHandler) {
+            this.properties.put("errorHandler", errorHandler);
+            return (T) this;
+        }
+        /**
          * Specifies the JMS Exception Listener that is to be notified of any
          * underlying JMS exceptions. The option is a
          * javax.jms.ExceptionListener type.
@@ -205,6 +324,15 @@ public interface AMQPEndpointBuilder {
             return (T) this;
         }
         /**
+         * Specifies the JMS Exception Listener that is to be notified of any
+         * underlying JMS exceptions. The option will be converted to a
+         * javax.jms.ExceptionListener type.
+         */
+        public T exceptionListener(String exceptionListener) {
+            this.properties.put("exceptionListener", exceptionListener);
+            return (T) this;
+        }
+        /**
          * To use a custom HeaderFilterStrategy to filter header to and from
          * Camel message. The option is a
          * org.apache.camel.spi.HeaderFilterStrategy type.
@@ -214,6 +342,15 @@ public interface AMQPEndpointBuilder {
             return (T) this;
         }
         /**
+         * To use a custom HeaderFilterStrategy to filter header to and from
+         * Camel message. The option will be converted to a
+         * org.apache.camel.spi.HeaderFilterStrategy type.
+         */
+        public T headerFilterStrategy(String headerFilterStrategy) {
+            this.properties.put("headerFilterStrategy", headerFilterStrategy);
+            return (T) this;
+        }
+        /**
          * Specify the limit for the number of consumers that are allowed to be
          * idle at any given time. The option is a int type.
          */
@@ -222,6 +359,14 @@ public interface AMQPEndpointBuilder {
             return (T) this;
         }
         /**
+         * Specify the limit for the number of consumers that are allowed to be
+         * idle at any given time. The option will be converted to a int type.
+         */
+        public T idleConsumerLimit(String idleConsumerLimit) {
+            this.properties.put("idleConsumerLimit", idleConsumerLimit);
+            return (T) this;
+        }
+        /**
          * Specifies the limit for idle executions of a receive task, not having
          * received any message within its execution. If this limit is reached,
          * the task will shut down and leave receiving to other executing tasks
@@ -234,6 +379,18 @@ public interface AMQPEndpointBuilder {
             return (T) this;
         }
         /**
+         * Specifies the limit for idle executions of a receive task, not having
+         * received any message within its execution. If this limit is reached,
+         * the task will shut down and leave receiving to other executing tasks
+         * (in the case of dynamic scheduling; see the maxConcurrentConsumers
+         * setting). There is additional doc available from Spring. The option
+         * will be converted to a int type.
+         */
+        public T idleTaskExecutionLimit(String idleTaskExecutionLimit) {
+            this.properties.put("idleTaskExecutionLimit", idleTaskExecutionLimit);
+            return (T) this;
+        }
+        /**
          * Whether to include all JMSXxxx properties when mapping from JMS to
          * Camel Message. Setting this to true will include properties such as
          * JMSXAppID, and JMSXUserID etc. Note: If you are using a custom
@@ -245,6 +402,17 @@ public interface AMQPEndpointBuilder {
             return (T) this;
         }
         /**
+         * Whether to include all JMSXxxx properties when mapping from JMS to
+         * Camel Message. Setting this to true will include properties such as
+         * JMSXAppID, and JMSXUserID etc. Note: If you are using a custom
+         * headerFilterStrategy then this option does not apply. The option will
+         * be converted to a boolean type.
+         */
+        public T includeAllJMSXProperties(String includeAllJMSXProperties) {
+            this.properties.put("includeAllJMSXProperties", includeAllJMSXProperties);
+            return (T) this;
+        }
+        /**
          * Pluggable strategy for encoding and decoding JMS keys so they can be
          * compliant with the JMS specification. Camel provides two
          * implementations out of the box: default and passthrough. The default
@@ -260,6 +428,22 @@ public interface AMQPEndpointBuilder {
             return (T) this;
         }
         /**
+         * Pluggable strategy for encoding and decoding JMS keys so they can be
+         * compliant with the JMS specification. Camel provides two
+         * implementations out of the box: default and passthrough. The default
+         * strategy will safely marshal dots and hyphens (. and -). The
+         * passthrough strategy leaves the key as is. Can be used for JMS
+         * brokers which do not care whether JMS header keys contain illegal
+         * characters. You can provide your own implementation of the
+         * org.apache.camel.component.jms.JmsKeyFormatStrategy and refer to it
+         * using the # notation. The option will be converted to a
+         * java.lang.String type.
+         */
+        public T jmsKeyFormatStrategy(String jmsKeyFormatStrategy) {
+            this.properties.put("jmsKeyFormatStrategy", jmsKeyFormatStrategy);
+            return (T) this;
+        }
+        /**
          * Specifies whether Camel should auto map the received JMS message to a
          * suited payload type, such as javax.jms.TextMessage to a String etc.
          * The option is a boolean type.
@@ -269,6 +453,15 @@ public interface AMQPEndpointBuilder {
             return (T) this;
         }
         /**
+         * Specifies whether Camel should auto map the received JMS message to a
+         * suited payload type, such as javax.jms.TextMessage to a String etc.
+         * The option will be converted to a boolean type.
+         */
+        public T mapJmsMessage(String mapJmsMessage) {
+            this.properties.put("mapJmsMessage", mapJmsMessage);
+            return (T) this;
+        }
+        /**
          * The number of messages per task. -1 is unlimited. If you use a range
          * for concurrent consumers (eg min max), then this option can be used
          * to set a value to eg 100 to control how fast the consumers will
@@ -279,6 +472,17 @@ public interface AMQPEndpointBuilder {
             return (T) this;
         }
         /**
+         * The number of messages per task. -1 is unlimited. If you use a range
+         * for concurrent consumers (eg min max), then this option can be used
+         * to set a value to eg 100 to control how fast the consumers will
+         * shrink when less work is required. The option will be converted to a
+         * int type.
+         */
+        public T maxMessagesPerTask(String maxMessagesPerTask) {
+            this.properties.put("maxMessagesPerTask", maxMessagesPerTask);
+            return (T) this;
+        }
+        /**
          * To use a custom Spring
          * org.springframework.jms.support.converter.MessageConverter so you can
          * be in control how to map to/from a javax.jms.Message. The option is a
@@ -289,6 +493,17 @@ public interface AMQPEndpointBuilder {
             return (T) this;
         }
         /**
+         * To use a custom Spring
+         * org.springframework.jms.support.converter.MessageConverter so you can
+         * be in control how to map to/from a javax.jms.Message. The option will
+         * be converted to a
+         * org.springframework.jms.support.converter.MessageConverter type.
+         */
+        public T messageConverter(String messageConverter) {
+            this.properties.put("messageConverter", messageConverter);
+            return (T) this;
+        }
+        /**
          * To use the given MessageCreatedStrategy which are invoked when Camel
          * creates new instances of javax.jms.Message objects when Camel is
          * sending a JMS message. The option is a
@@ -299,6 +514,16 @@ public interface AMQPEndpointBuilder {
             return (T) this;
         }
         /**
+         * To use the given MessageCreatedStrategy which are invoked when Camel
+         * creates new instances of javax.jms.Message objects when Camel is
+         * sending a JMS message. The option will be converted to a
+         * org.apache.camel.component.jms.MessageCreatedStrategy type.
+         */
+        public T messageCreatedStrategy(String messageCreatedStrategy) {
+            this.properties.put("messageCreatedStrategy", messageCreatedStrategy);
+            return (T) this;
+        }
+        /**
          * When sending, specifies whether message IDs should be added. This is
          * just an hint to the JMS Broker. If the JMS provider accepts this
          * hint, these messages must have the message ID set to null; if the
@@ -310,6 +535,17 @@ public interface AMQPEndpointBuilder {
             return (T) this;
         }
         /**
+         * When sending, specifies whether message IDs should be added. This is
+         * just an hint to the JMS Broker. If the JMS provider accepts this
+         * hint, these messages must have the message ID set to null; if the
+         * provider ignores the hint, the message ID must be set to its normal
+         * unique value. The option will be converted to a boolean type.
+         */
+        public T messageIdEnabled(String messageIdEnabled) {
+            this.properties.put("messageIdEnabled", messageIdEnabled);
+            return (T) this;
+        }
+        /**
          * Registry ID of the MessageListenerContainerFactory used to determine
          * what
          * org.springframework.jms.listener.AbstractMessageListenerContainer to
@@ -323,6 +559,19 @@ public interface AMQPEndpointBuilder {
             return (T) this;
         }
         /**
+         * Registry ID of the MessageListenerContainerFactory used to determine
+         * what
+         * org.springframework.jms.listener.AbstractMessageListenerContainer to
+         * use to consume messages. Setting this will automatically set
+         * consumerType to Custom. The option will be converted to a
+         * org.apache.camel.component.jms.MessageListenerContainerFactory type.
+         */
+        public T messageListenerContainerFactory(
+                String messageListenerContainerFactory) {
+            this.properties.put("messageListenerContainerFactory", messageListenerContainerFactory);
+            return (T) this;
+        }
+        /**
          * Specifies whether timestamps should be enabled by default on sending
          * messages. This is just an hint to the JMS Broker. If the JMS provider
          * accepts this hint, these messages must have the timestamp set to
@@ -334,6 +583,17 @@ public interface AMQPEndpointBuilder {
             return (T) this;
         }
         /**
+         * Specifies whether timestamps should be enabled by default on sending
+         * messages. This is just an hint to the JMS Broker. If the JMS provider
+         * accepts this hint, these messages must have the timestamp set to
+         * zero; if the provider ignores the hint, the timestamp must be set to
+         * its normal value. The option will be converted to a boolean type.
+         */
+        public T messageTimestampEnabled(String messageTimestampEnabled) {
+            this.properties.put("messageTimestampEnabled", messageTimestampEnabled);
+            return (T) this;
+        }
+        /**
          * Specifies whether to inhibit the delivery of messages published by
          * its own connection. The option is a boolean type.
          */
@@ -342,6 +602,14 @@ public interface AMQPEndpointBuilder {
             return (T) this;
         }
         /**
+         * Specifies whether to inhibit the delivery of messages published by
+         * its own connection. The option will be converted to a boolean type.
+         */
+        public T pubSubNoLocal(String pubSubNoLocal) {
+            this.properties.put("pubSubNoLocal", pubSubNoLocal);
+            return (T) this;
+        }
+        /**
          * The timeout for receiving messages (in milliseconds). The option is a
          * long type.
          */
@@ -350,6 +618,14 @@ public interface AMQPEndpointBuilder {
             return (T) this;
         }
         /**
+         * The timeout for receiving messages (in milliseconds). The option will
+         * be converted to a long type.
+         */
+        public T receiveTimeout(String receiveTimeout) {
+            this.properties.put("receiveTimeout", receiveTimeout);
+            return (T) this;
+        }
+        /**
          * Specifies the interval between recovery attempts, i.e. when a
          * connection is being refreshed, in milliseconds. The default is 5000
          * ms, that is, 5 seconds. The option is a long type.
@@ -359,6 +635,15 @@ public interface AMQPEndpointBuilder {
             return (T) this;
         }
         /**
+         * Specifies the interval between recovery attempts, i.e. when a
+         * connection is being refreshed, in milliseconds. The default is 5000
+         * ms, that is, 5 seconds. The option will be converted to a long type.
+         */
+        public T recoveryInterval(String recoveryInterval) {
+            this.properties.put("recoveryInterval", recoveryInterval);
+            return (T) this;
+        }
+        /**
          * Configures how often Camel should check for timed out Exchanges when
          * doing request/reply over JMS. By default Camel checks once per
          * second. But if you must react faster when a timeout occurs, then you
@@ -371,6 +656,19 @@ public interface AMQPEndpointBuilder {
             return (T) this;
         }
         /**
+         * Configures how often Camel should check for timed out Exchanges when
+         * doing request/reply over JMS. By default Camel checks once per
+         * second. But if you must react faster when a timeout occurs, then you
+         * can lower this interval, to check more frequently. The timeout is
+         * determined by the option requestTimeout. The option will be converted
+         * to a long type.
+         */
+        public T requestTimeoutCheckerInterval(
+                String requestTimeoutCheckerInterval) {
+            this.properties.put("requestTimeoutCheckerInterval", requestTimeoutCheckerInterval);
+            return (T) this;
+        }
+        /**
          * Sets whether synchronous processing should be strictly used, or Camel
          * is allowed to use asynchronous processing (if supported). The option
          * is a boolean type.
@@ -380,6 +678,15 @@ public interface AMQPEndpointBuilder {
             return (T) this;
         }
         /**
+         * Sets whether synchronous processing should be strictly used, or Camel
+         * is allowed to use asynchronous processing (if supported). The option
+         * will be converted to a boolean type.
+         */
+        public T synchronous(String synchronous) {
+            this.properties.put("synchronous", synchronous);
+            return (T) this;
+        }
+        /**
          * If enabled and you are using Request Reply messaging (InOut) and an
          * Exchange failed on the consumer side, then the caused Exception will
          * be send back in response as a javax.jms.ObjectMessage. If the client
@@ -397,6 +704,23 @@ public interface AMQPEndpointBuilder {
             return (T) this;
         }
         /**
+         * If enabled and you are using Request Reply messaging (InOut) and an
+         * Exchange failed on the consumer side, then the caused Exception will
+         * be send back in response as a javax.jms.ObjectMessage. If the client
+         * is Camel, the returned Exception is rethrown. This allows you to use
+         * Camel JMS as a bridge in your routing - for example, using persistent
+         * queues to enable robust routing. Notice that if you also have
+         * transferExchange enabled, this option takes precedence. The caught
+         * exception is required to be serializable. The original Exception on
+         * the consumer side can be wrapped in an outer exception such as
+         * org.apache.camel.RuntimeCamelException when returned to the producer.
+         * The option will be converted to a boolean type.
+         */
+        public T transferException(String transferException) {
+            this.properties.put("transferException", transferException);
+            return (T) this;
+        }
+        /**
          * You can transfer the exchange over the wire instead of just the body
          * and headers. The following fields are transferred: In body, Out body,
          * Fault body, In headers, Out headers, Fault headers, exchange
@@ -411,6 +735,20 @@ public interface AMQPEndpointBuilder {
             return (T) this;
         }
         /**
+         * You can transfer the exchange over the wire instead of just the body
+         * and headers. The following fields are transferred: In body, Out body,
+         * Fault body, In headers, Out headers, Fault headers, exchange
+         * properties, exchange exception. This requires that the objects are
+         * serializable. Camel will exclude any non-serializable objects and log
+         * it at WARN level. You must enable this option on both the producer
+         * and consumer side, so Camel knows the payloads is an Exchange and not
+         * a regular payload. The option will be converted to a boolean type.
+         */
+        public T transferExchange(String transferExchange) {
+            this.properties.put("transferExchange", transferExchange);
+            return (T) this;
+        }
+        /**
          * If enabled and you are using Request Reply messaging (InOut) and an
          * Exchange failed with a SOAP fault (not exception) on the consumer
          * side, then the fault flag on org.apache.camel.Message#isFault() will
@@ -426,6 +764,22 @@ public interface AMQPEndpointBuilder {
             return (T) this;
         }
         /**
+         * If enabled and you are using Request Reply messaging (InOut) and an
+         * Exchange failed with a SOAP fault (not exception) on the consumer
+         * side, then the fault flag on org.apache.camel.Message#isFault() will
+         * be send back in the response as a JMS header with the key
+         * JmsConstants#JMS_TRANSFER_FAULT. If the client is Camel, the returned
+         * fault flag will be set on the
+         * org.apache.camel.Message#setFault(boolean). You may want to enable
+         * this when using Camel components that support faults such as SOAP
+         * based such as cxf or spring-ws. The option will be converted to a
+         * boolean type.
+         */
+        public T transferFault(String transferFault) {
+            this.properties.put("transferFault", transferFault);
+            return (T) this;
+        }
+        /**
          * Specifies whether JMSMessageID should always be used as
          * JMSCorrelationID for InOut messages. The option is a boolean type.
          */
@@ -434,6 +788,15 @@ public interface AMQPEndpointBuilder {
             return (T) this;
         }
         /**
+         * Specifies whether JMSMessageID should always be used as
+         * JMSCorrelationID for InOut messages. The option will be converted to
+         * a boolean type.
+         */
+        public T useMessageIDAsCorrelationID(String useMessageIDAsCorrelationID) {
+            this.properties.put("useMessageIDAsCorrelationID", useMessageIDAsCorrelationID);
+            return (T) this;
+        }
+        /**
          * Number of times to wait for provisional correlation id to be updated
          * to the actual correlation id when doing request/reply over JMS and
          * when the option useMessageIDAsCorrelationID is enabled. The option is
@@ -445,6 +808,17 @@ public interface AMQPEndpointBuilder {
             return (T) this;
         }
         /**
+         * Number of times to wait for provisional correlation id to be updated
+         * to the actual correlation id when doing request/reply over JMS and
+         * when the option useMessageIDAsCorrelationID is enabled. The option
+         * will be converted to a int type.
+         */
+        public T waitForProvisionCorrelationToBeUpdatedCounter(
+                String waitForProvisionCorrelationToBeUpdatedCounter) {
+            this.properties.put("waitForProvisionCorrelationToBeUpdatedCounter", waitForProvisionCorrelationToBeUpdatedCounter);
+            return (T) this;
+        }
+        /**
          * Interval in millis to sleep each time while waiting for provisional
          * correlation id to be updated. The option is a long type.
          */
@@ -454,6 +828,16 @@ public interface AMQPEndpointBuilder {
             return (T) this;
         }
         /**
+         * Interval in millis to sleep each time while waiting for provisional
+         * correlation id to be updated. The option will be converted to a long
+         * type.
+         */
+        public T waitForProvisionCorrelationToBeUpdatedThreadSleepingTime(
+                String waitForProvisionCorrelationToBeUpdatedThreadSleepingTime) {
+            this.properties.put("waitForProvisionCorrelationToBeUpdatedThreadSleepingTime", waitForProvisionCorrelationToBeUpdatedThreadSleepingTime);
+            return (T) this;
+        }
+        /**
          * Password to use with the ConnectionFactory. You can also configure
          * username/password directly on the ConnectionFactory. The option is a
          * java.lang.String type.
@@ -480,6 +864,14 @@ public interface AMQPEndpointBuilder {
             return (T) this;
         }
         /**
+         * Specifies whether to use transacted mode. The option will be
+         * converted to a boolean type.
+         */
+        public T transacted(String transacted) {
+            this.properties.put("transacted", transacted);
+            return (T) this;
+        }
+        /**
          * If true, Camel will create a JmsTransactionManager, if there is no
          * transactionManager injected when option transacted=true. The option
          * is a boolean type.
@@ -490,6 +882,16 @@ public interface AMQPEndpointBuilder {
             return (T) this;
         }
         /**
+         * If true, Camel will create a JmsTransactionManager, if there is no
+         * transactionManager injected when option transacted=true. The option
+         * will be converted to a boolean type.
+         */
+        public T lazyCreateTransactionManager(
+                String lazyCreateTransactionManager) {
+            this.properties.put("lazyCreateTransactionManager", lazyCreateTransactionManager);
+            return (T) this;
+        }
+        /**
          * The Spring transaction manager to use. The option is a
          * org.springframework.transaction.PlatformTransactionManager type.
          */
@@ -498,6 +900,14 @@ public interface AMQPEndpointBuilder {
             return (T) this;
         }
         /**
+         * The Spring transaction manager to use. The option will be converted
+         * to a org.springframework.transaction.PlatformTransactionManager type.
+         */
+        public T transactionManager(String transactionManager) {
+            this.properties.put("transactionManager", transactionManager);
+            return (T) this;
+        }
+        /**
          * The name of the transaction to use. The option is a java.lang.String
          * type.
          */
@@ -513,6 +923,14 @@ public interface AMQPEndpointBuilder {
             this.properties.put("transactionTimeout", transactionTimeout);
             return (T) this;
         }
+        /**
+         * The timeout value of the transaction (in seconds), if using
+         * transacted mode. The option will be converted to a int type.
+         */
+        public T transactionTimeout(String transactionTimeout) {
+            this.properties.put("transactionTimeout", transactionTimeout);
+            return (T) this;
+        }
     }
 
     public static class AMQPConsumerBuilder
@@ -550,6 +968,22 @@ public interface AMQPEndpointBuilder {
             return (AMQPConsumerBuilder) this;
         }
         /**
+         * Whether the JmsConsumer processes the Exchange asynchronously. If
+         * enabled then the JmsConsumer may pickup the next message from the JMS
+         * queue, while the previous message is being processed asynchronously
+         * (by the Asynchronous Routing Engine). This means that messages may be
+         * processed not 100% strictly in order. If disabled (as default) then
+         * the Exchange is fully processed before the JmsConsumer will pickup
+         * the next message from the JMS queue. Note if transacted has been
+         * enabled, then asyncConsumer=true does not run asynchronously, as
+         * transaction must be executed synchronously (Camel 3.0 may support
+         * async transactions). The option will be converted to a boolean type.
+         */
+        public AMQPConsumerBuilder asyncConsumer(String asyncConsumer) {
+            this.properties.put("asyncConsumer", asyncConsumer);
+            return (AMQPConsumerBuilder) this;
+        }
+        /**
          * Specifies whether the consumer container should auto-startup. The
          * option is a boolean type.
          */
@@ -558,6 +992,14 @@ public interface AMQPEndpointBuilder {
             return (AMQPConsumerBuilder) this;
         }
         /**
+         * Specifies whether the consumer container should auto-startup. The
+         * option will be converted to a boolean type.
+         */
+        public AMQPConsumerBuilder autoStartup(String autoStartup) {
+            this.properties.put("autoStartup", autoStartup);
+            return (AMQPConsumerBuilder) this;
+        }
+        /**
          * 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
@@ -571,6 +1013,19 @@ public interface AMQPEndpointBuilder {
             return (AMQPConsumerBuilder) this;
         }
         /**
+         * 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. The option will be converted to a boolean type.
+         */
+        public AMQPConsumerBuilder bridgeErrorHandler(String bridgeErrorHandler) {
+            this.properties.put("bridgeErrorHandler", bridgeErrorHandler);
+            return (AMQPConsumerBuilder) this;
+        }
+        /**
          * Sets the cache level by ID for the underlying JMS resources. See
          * cacheLevelName option for more details. The option is a int type.
          */
@@ -579,6 +1034,15 @@ public interface AMQPEndpointBuilder {
             return (AMQPConsumerBuilder) this;
         }
         /**
+         * Sets the cache level by ID for the underlying JMS resources. See
+         * cacheLevelName option for more details. The option will be converted
+         * to a int type.
+         */
+        public AMQPConsumerBuilder cacheLevel(String cacheLevel) {
+            this.properties.put("cacheLevel", cacheLevel);
+            return (AMQPConsumerBuilder) this;
+        }
+        /**
          * Sets the cache level by name for the underlying JMS resources.
          * Possible values are: CACHE_AUTO, CACHE_CONNECTION, CACHE_CONSUMER,
          * CACHE_NONE, and CACHE_SESSION. The default setting is CACHE_AUTO. See
@@ -602,6 +1066,20 @@ public interface AMQPEndpointBuilder {
             return (AMQPConsumerBuilder) this;
         }
         /**
+         * Specifies the default number of concurrent consumers when consuming
+         * from JMS (not for request/reply over JMS). See also the
+         * maxMessagesPerTask option to control dynamic scaling up/down of
+         * threads. When doing request/reply over JMS then the option
+         * replyToConcurrentConsumers is used to control number of concurrent
+         * consumers on the reply message listener. The option will be converted
+         * to a int type.
+         */
+        public AMQPConsumerBuilder concurrentConsumers(
+                String concurrentConsumers) {
+            this.properties.put("concurrentConsumers", concurrentConsumers);
+            return (AMQPConsumerBuilder) this;
+        }
+        /**
          * Specifies the maximum number of concurrent consumers when consuming
          * from JMS (not for request/reply over JMS). See also the
          * maxMessagesPerTask option to control dynamic scaling up/down of
@@ -615,6 +1093,20 @@ public interface AMQPEndpointBuilder {
             return (AMQPConsumerBuilder) this;
         }
         /**
+         * Specifies the maximum number of concurrent consumers when consuming
+         * from JMS (not for request/reply over JMS). See also the
+         * maxMessagesPerTask option to control dynamic scaling up/down of
+         * threads. When doing request/reply over JMS then the option
+         * replyToMaxConcurrentConsumers is used to control number of concurrent
+         * consumers on the reply message listener. The option will be converted
+         * to a int type.
+         */
+        public AMQPConsumerBuilder maxConcurrentConsumers(
+                String maxConcurrentConsumers) {
+            this.properties.put("maxConcurrentConsumers", maxConcurrentConsumers);
+            return (AMQPConsumerBuilder) this;
+        }
+        /**
          * Provides an explicit ReplyTo destination, which overrides any
          * incoming value of Message.getJMSReplyTo(). The option is a
          * java.lang.String type.
@@ -633,6 +1125,15 @@ public interface AMQPEndpointBuilder {
             return (AMQPConsumerBuilder) this;
         }
         /**
+         * Specifies whether to use persistent delivery by default for replies.
+         * The option will be converted to a boolean type.
+         */
+        public AMQPConsumerBuilder replyToDeliveryPersistent(
+                String replyToDeliveryPersistent) {
+            this.properties.put("replyToDeliveryPersistent", replyToDeliveryPersistent);
+            return (AMQPConsumerBuilder) this;
+        }
+        /**
          * Sets the JMS selector to use. The option is a java.lang.String type.
          */
         public AMQPConsumerBuilder selector(String selector) {
@@ -655,6 +1156,22 @@ public interface AMQPEndpointBuilder {
             return (AMQPConsumerBuilder) this;
         }
         /**
+         * Set whether to make the subscription durable. The durable
+         * subscription name to be used can be specified through the
+         * subscriptionName property. Default is false. Set this to true to
+         * register a durable subscription, typically in combination with a
+         * subscriptionName value (unless your message listener class name is
+         * good enough as subscription name). Only makes sense when listening to
+         * a topic (pub-sub domain), therefore this method switches the
+         * pubSubDomain flag as well. The option will be converted to a boolean
+         * type.
+         */
+        public AMQPConsumerBuilder subscriptionDurable(
+                String subscriptionDurable) {
+            this.properties.put("subscriptionDurable", subscriptionDurable);
+            return (AMQPConsumerBuilder) this;
+        }
+        /**
          * Set the name of a subscription to create. To be applied in case of a
          * topic (pub-sub domain) with a shared or durable subscription. The
          * subscription name needs to be unique within this client's JMS client
@@ -686,6 +1203,23 @@ public interface AMQPEndpointBuilder {
             return (AMQPConsumerBuilder) this;
         }
         /**
+         * Set whether to make the subscription shared. The shared subscription
+         * name to be used can be specified through the subscriptionName
+         * property. Default is false. Set this to true to register a shared
+         * subscription, typically in combination with a subscriptionName value
+         * (unless your message listener class name is good enough as
+         * subscription name). Note that shared subscriptions may also be
+         * durable, so this flag can (and often will) be combined with
+         * subscriptionDurable as well. Only makes sense when listening to a
+         * topic (pub-sub domain), therefore this method switches the
+         * pubSubDomain flag as well. Requires a JMS 2.0 compatible message
+         * broker. The option will be converted to a boolean type.
+         */
+        public AMQPConsumerBuilder subscriptionShared(String subscriptionShared) {
+            this.properties.put("subscriptionShared", subscriptionShared);
+            return (AMQPConsumerBuilder) this;
+        }
+        /**
          * Specifies whether the consumer accept messages while it is stopping.
          * You may consider enabling this option, if you start and stop JMS
          * routes at runtime, while there are still messages enqueued on the
@@ -702,6 +1236,22 @@ public interface AMQPEndpointBuilder {
             return (AMQPConsumerBuilder) this;
         }
         /**
+         * Specifies whether the consumer accept messages while it is stopping.
+         * You may consider enabling this option, if you start and stop JMS
+         * routes at runtime, while there are still messages enqueued on the
+         * queue. If this option is false, and you stop the JMS route, then
+         * messages may be rejected, and the JMS broker would have to attempt
+         * redeliveries, which yet again may be rejected, and eventually the
+         * message may be moved at a dead letter queue on the JMS broker. To
+         * avoid this its recommended to enable this option. The option will be
+         * converted to a boolean type.
+         */
+        public AMQPConsumerBuilder acceptMessagesWhileStopping(
+                String acceptMessagesWhileStopping) {
+            this.properties.put("acceptMessagesWhileStopping", acceptMessagesWhileStopping);
+            return (AMQPConsumerBuilder) this;
+        }
+        /**
          * Whether the DefaultMessageListenerContainer used in the reply
          * managers for request-reply messaging allow the
          * DefaultMessageListenerContainer#runningAllowed() flag to quick stop
@@ -711,9 +1261,41 @@ public interface AMQPEndpointBuilder {
          * but to enable for reply managers you must enable this flag. The
          * option is a boolean type.
          */
-        public AMQPConsumerBuilder allowReplyManagerQuickStop(
-                boolean allowReplyManagerQuickStop) {
-            this.properties.put("allowReplyManagerQuickStop", allowReplyManagerQuickStop);
+        public AMQPConsumerBuilder allowReplyManagerQuickStop(
+                boolean allowReplyManagerQuickStop) {
+            this.properties.put("allowReplyManagerQuickStop", allowReplyManagerQuickStop);
+            return (AMQPConsumerBuilder) this;
+        }
+        /**
+         * Whether the DefaultMessageListenerContainer used in the reply
+         * managers for request-reply messaging allow the
+         * DefaultMessageListenerContainer#runningAllowed() flag to quick stop
+         * in case JmsConfiguration#isAcceptMessagesWhileStopping() is enabled,
+         * and org.apache.camel.CamelContext is currently being stopped. This
+         * quick stop ability is enabled by default in the regular JMS consumers
+         * but to enable for reply managers you must enable this flag. The
+         * option will be converted to a boolean type.
+         */
+        public AMQPConsumerBuilder allowReplyManagerQuickStop(
+                String allowReplyManagerQuickStop) {
+            this.properties.put("allowReplyManagerQuickStop", allowReplyManagerQuickStop);
+            return (AMQPConsumerBuilder) this;
+        }
+        /**
+         * The consumer type to use, which can be one of: Simple, Default, or
+         * Custom. The consumer type determines which Spring JMS listener to
+         * use. Default will use
+         * org.springframework.jms.listener.DefaultMessageListenerContainer,
+         * Simple will use
+         * org.springframework.jms.listener.SimpleMessageListenerContainer. When
+         * Custom is specified, the MessageListenerContainerFactory defined by
+         * the messageListenerContainerFactory option will determine what
+         * org.springframework.jms.listener.AbstractMessageListenerContainer to
+         * use. The option is a org.apache.camel.component.jms.ConsumerType
+         * type.
+         */
+        public AMQPConsumerBuilder consumerType(ConsumerType consumerType) {
+            this.properties.put("consumerType", consumerType);
             return (AMQPConsumerBuilder) this;
         }
         /**
@@ -726,10 +1308,10 @@ public interface AMQPEndpointBuilder {
          * Custom is specified, the MessageListenerContainerFactory defined by
          * the messageListenerContainerFactory option will determine what
          * org.springframework.jms.listener.AbstractMessageListenerContainer to
-         * use. The option is a org.apache.camel.component.jms.ConsumerType
-         * type.
+         * use. The option will be converted to a
+         * org.apache.camel.component.jms.ConsumerType type.
          */
-        public AMQPConsumerBuilder consumerType(ConsumerType consumerType) {
+        public AMQPConsumerBuilder consumerType(String consumerType) {
             this.properties.put("consumerType", consumerType);
             return (AMQPConsumerBuilder) this;
         }
@@ -752,6 +1334,24 @@ public interface AMQPEndpointBuilder {
             return (AMQPConsumerBuilder) this;
         }
         /**
+         * Specifies what default TaskExecutor type to use in the
+         * DefaultMessageListenerContainer, for both consumer endpoints and the
+         * ReplyTo consumer of producer endpoints. Possible values: SimpleAsync
+         * (uses Spring's SimpleAsyncTaskExecutor) or ThreadPool (uses Spring's
+         * ThreadPoolTaskExecutor with optimal values - cached threadpool-like).
+         * If not set, it defaults to the previous behaviour, which uses a
+         * cached thread pool for consumer endpoints and SimpleAsync for reply
+         * consumers. The use of ThreadPool is recommended to reduce thread
+         * trash in elastic configurations with dynamically increasing and
+         * decreasing concurrent consumers. The option will be converted to a
+         * org.apache.camel.component.jms.DefaultTaskExecutorType type.
+         */
+        public AMQPConsumerBuilder defaultTaskExecutorType(
+                String defaultTaskExecutorType) {
+            this.properties.put("defaultTaskExecutorType", defaultTaskExecutorType);
+            return (AMQPConsumerBuilder) this;
+        }
+        /**
          * Enables eager loading of JMS properties and payload as soon as a
          * message is loaded which generally is inefficient as the JMS
          * properties may not be required but sometimes can catch early any
@@ -764,6 +1364,18 @@ public interface AMQPEndpointBuilder {
             return (AMQPConsumerBuilder) this;
         }
         /**
+         * Enables eager loading of JMS properties and payload as soon as a
+         * message is loaded which generally is inefficient as the JMS
+         * properties may not be required but sometimes can catch early any
+         * issues with the underlying JMS provider and the use of JMS
+         * properties. The option will be converted to a boolean type.
+         */
+        public AMQPConsumerBuilder eagerLoadingOfProperties(
+                String eagerLoadingOfProperties) {
+            this.properties.put("eagerLoadingOfProperties", eagerLoadingOfProperties);
+            return (AMQPConsumerBuilder) this;
+        }
+        /**
          * 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
@@ -776,6 +1388,17 @@ public interface AMQPEndpointBuilder {
             return (AMQPConsumerBuilder) this;
         }
         /**
+         * 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. The option will be
+         * converted to a org.apache.camel.spi.ExceptionHandler type.
+         */
+        public AMQPConsumerBuilder exceptionHandler(String exceptionHandler) {
+            this.properties.put("exceptionHandler", exceptionHandler);
+            return (AMQPConsumerBuilder) this;
+        }
+        /**
          * Sets the exchange pattern when the consumer creates an exchange. The
          * option is a org.apache.camel.ExchangePattern type.
          */
@@ -785,6 +1408,14 @@ public interface AMQPEndpointBuilder {
             return (AMQPConsumerBuilder) this;
         }
         /**
+         * Sets the exchange pattern when the consumer creates an exchange. The
+         * option will be converted to a org.apache.camel.ExchangePattern type.
+         */
+        public AMQPConsumerBuilder exchangePattern(String exchangePattern) {
+            this.properties.put("exchangePattern", exchangePattern);
+            return (AMQPConsumerBuilder) this;
+        }
+        /**
          * Specifies whether the listener session should be exposed when
          * consuming messages. The option is a boolean type.
          */
@@ -794,6 +1425,15 @@ public interface AMQPEndpointBuilder {
             return (AMQPConsumerBuilder) this;
         }
         /**
+         * Specifies whether the listener session should be exposed when
+         * consuming messages. The option will be converted to a boolean type.
+         */
+        public AMQPConsumerBuilder exposeListenerSession(
+                String exposeListenerSession) {
+            this.properties.put("exposeListenerSession", exposeListenerSession);
+            return (AMQPConsumerBuilder) this;
+        }
+        /**
          * Whether a JMS consumer is allowed to send a reply message to the same
          * destination that the consumer is using to consume from. This prevents
          * an endless loop by consuming and sending back the same message to
@@ -805,6 +1445,17 @@ public interface AMQPEndpointBuilder {
             return (AMQPConsumerBuilder) this;
         }
         /**
+         * Whether a JMS consumer is allowed to send a reply message to the same
+         * destination that the consumer is using to consume from. This prevents
+         * an endless loop by consuming and sending back the same message to
+         * itself. The option will be converted to a boolean type.
+         */
+        public AMQPConsumerBuilder replyToSameDestinationAllowed(
+                String replyToSameDestinationAllowed) {
+            this.properties.put("replyToSameDestinationAllowed", replyToSameDestinationAllowed);
+            return (AMQPConsumerBuilder) this;
+        }
+        /**
          * Allows you to specify a custom task executor for consuming messages.
          * The option is a org.springframework.core.task.TaskExecutor type.
          */
@@ -813,6 +1464,15 @@ public interface AMQPEndpointBuilder {
             return (AMQPConsumerBuilder) this;
         }
         /**
+         * Allows you to specify a custom task executor for consuming messages.
+         * The option will be converted to a
+         * org.springframework.core.task.TaskExecutor type.
+         */
+        public AMQPConsumerBuilder taskExecutor(String taskExecutor) {
+            this.properties.put("taskExecutor", taskExecutor);
+            return (AMQPConsumerBuilder) this;
+        }
+        /**
          * Allows to configure the default errorHandler logging level for
          * logging uncaught exceptions. The option is a
          * org.apache.camel.LoggingLevel type.
@@ -823,6 +1483,16 @@ public interface AMQPEndpointBuilder {
             return (AMQPConsumerBuilder) this;
         }
         /**
+         * Allows to configure the default errorHandler logging level for
+         * logging uncaught exceptions. The option will be converted to a
+         * org.apache.camel.LoggingLevel type.
+         */
+        public AMQPConsumerBuilder errorHandlerLoggingLevel(
+                String errorHandlerLoggingLevel) {
+            this.properties.put("errorHandlerLoggingLevel", errorHandlerLoggingLevel);
+            return (AMQPConsumerBuilder) this;
+        }
+        /**
          * Allows to control whether stacktraces should be logged or not, by the
          * default errorHandler. The option is a boolean type.
          */
@@ -831,6 +1501,15 @@ public interface AMQPEndpointBuilder {
             this.properties.put("errorHandlerLogStackTrace", errorHandlerLogStackTrace);
             return (AMQPConsumerBuilder) this;
         }
+        /**
+         * Allows to control whether stacktraces should be logged or not, by the
+         * default errorHandler. The option will be converted to a boolean type.
+         */
+        public AMQPConsumerBuilder errorHandlerLogStackTrace(
+                String errorHandlerLogStackTrace) {
+            this.properties.put("errorHandlerLogStackTrace", errorHandlerLogStackTrace);
+            return (AMQPConsumerBuilder) this;
+        }
     }
 
     public static class AMQPProducerBuilder
@@ -851,6 +1530,15 @@ public interface AMQPEndpointBuilder {
             return (AMQPProducerBuilder) this;
         }
         /**
+         * Specifies the delivery mode to be used. Possibles values are those
+         * defined by javax.jms.DeliveryMode. NON_PERSISTENT = 1 and PERSISTENT
+         * = 2. The option will be converted to a java.lang.Integer type.
+         */
+        public AMQPProducerBuilder deliveryMode(String deliveryMode) {
+            this.properties.put("deliveryMode", deliveryMode);
+            return (AMQPProducerBuilder) this;
+        }
+        /**
          * Specifies whether persistent delivery is used by default. The option
          * is a boolean type.
          */
@@ -859,6 +1547,14 @@ public interface AMQPEndpointBuilder {
             return (AMQPProducerBuilder) this;
         }
         /**
+         * Specifies whether persistent delivery is used by default. The option
+         * will be converted to a boolean type.
+         */
+        public AMQPProducerBuilder deliveryPersistent(String deliveryPersistent) {
+            this.properties.put("deliveryPersistent", deliveryPersistent);
+            return (AMQPProducerBuilder) this;
+        }
+        /**
          * Set if the deliveryMode, priority or timeToLive qualities of service
          * should be used when sending messages. This option is based on
          * Spring's JmsTemplate. The deliveryMode, priority and timeToLive
@@ -872,6 +1568,19 @@ public interface AMQPEndpointBuilder {
             return (AMQPProducerBuilder) this;
         }
         /**
+         * Set if the deliveryMode, priority or timeToLive qualities of service
+         * should be used when sending messages. This option is based on
+         * Spring's JmsTemplate. The deliveryMode, priority and timeToLive
+         * options are applied to the current endpoint. This contrasts with the
+         * preserveMessageQos option, which operates at message granularity,
+         * reading QoS properties exclusively from the Camel In message headers.
+         * The option will be converted to a java.lang.Boolean type.
+         */
+        public AMQPProducerBuilder explicitQosEnabled(String explicitQosEnabled) {
+            this.properties.put("explicitQosEnabled", explicitQosEnabled);
+            return (AMQPProducerBuilder) this;
+        }
+        /**
          * Sets whether date headers should be formatted according to the ISO
          * 8601 standard. The option is a boolean type.
          */
@@ -881,6 +1590,15 @@ public interface AMQPEndpointBuilder {
             return (AMQPProducerBuilder) this;
         }
         /**
+         * Sets whether date headers should be formatted according to the ISO
+         * 8601 standard. The option will be converted to a boolean type.
+         */
+        public AMQPProducerBuilder formatDateHeadersToIso8601(
+                String formatDateHeadersToIso8601) {
+            this.properties.put("formatDateHeadersToIso8601", formatDateHeadersToIso8601);
+            return (AMQPProducerBuilder) this;
+        }
+        /**
          * Set to true, if you want to send message using the QoS settings
          * specified on the message, instead of the QoS settings on the JMS
          * endpoint. The following three headers are considered JMSPriority,
@@ -896,6 +1614,22 @@ public interface AMQPEndpointBuilder {
             return (AMQPProducerBuilder) this;
         }
         /**
+         * Set to true, if you want to send message using the QoS settings
+         * specified on the message, instead of the QoS settings on the JMS
+         * endpoint. The following three headers are considered JMSPriority,
+         * JMSDeliveryMode, and JMSExpiration. You can provide all or only some
+         * of them. If not provided, Camel will fall back to use the values from
+         * the endpoint instead. So, when using this option, the headers
+         * override the values from the endpoint. The explicitQosEnabled option,
+         * by contrast, will only use options set on the endpoint, and not
+         * values from the message header. The option will be converted to a
+         * boolean type.
+         */
+        public AMQPProducerBuilder preserveMessageQos(String preserveMessageQos) {
+            this.properties.put("preserveMessageQos", preserveMessageQos);
+            return (AMQPProducerBuilder) this;
+        }
+        /**
          * Values greater than 1 specify the message priority when sending
          * (where 0 is the lowest priority and 9 is the highest). The
          * explicitQosEnabled option must also be enabled in order for this
@@ -906,6 +1640,17 @@ public interface AMQPEndpointBuilder {
             return (AMQPProducerBuilder) this;
         }
         /**
+         * Values greater than 1 specify the message priority when sending
+         * (where 0 is the lowest priority and 9 is the highest). The
+         * explicitQosEnabled option must also be enabled in order for this
+         * option to have any effect. The option will be converted to a int
+         * type.
+         */
+        public AMQPProducerBuilder priority(String priority) {
+            this.properties.put("priority", priority);
+            return (AMQPProducerBuilder) this;
+        }
+        /**
          * Specifies the default number of concurrent consumers when doing
          * request/reply over JMS. See also the maxMessagesPerTask option to
          * control dynamic scaling up/down of threads. The option is a int type.
@@ -916,6 +1661,17 @@ public interface AMQPEndpointBuilder {
             return (AMQPProducerBuilder) this;
         }
         /**
+         * Specifies the default number of concurrent consumers when doing
+         * request/reply over JMS. See also the maxMessagesPerTask option to
+         * control dynamic scaling up/down of threads. The option will be
+         * converted to a int type.
+         */
+        public AMQPProducerBuilder replyToConcurrentConsumers(
+                String replyToConcurrentConsumers) {
+            this.properties.put("replyToConcurrentConsumers", replyToConcurrentConsumers);
+            return (AMQPProducerBuilder) this;
+        }
+        /**
          * Specifies the maximum number of concurrent consumers when using
          * request/reply over JMS. See also the maxMessagesPerTask option to
          * control dynamic scaling up/down of threads. The option is a int type.
@@ -926,6 +1682,17 @@ public interface AMQPEndpointBuilder {
             return (AMQPProducerBuilder) this;
         }
         /**
+         * Specifies the maximum number of concurrent consumers when using
+         * request/reply over JMS. See also the maxMessagesPerTask option to
+         * control dynamic scaling up/down of threads. The option will be
+         * converted to a int type.
+         */
+        public AMQPProducerBuilder replyToMaxConcurrentConsumers(
+                String replyToMaxConcurrentConsumers) {
+            this.properties.put("replyToMaxConcurrentConsumers", replyToMaxConcurrentConsumers);
+            return (AMQPProducerBuilder) this;
+        }
+        /**
          * Specifies the maximum number of concurrent consumers for continue
          * routing when timeout occurred when using request/reply over JMS. The
          * option is a int type.
@@ -936,6 +1703,16 @@ public interface AMQPEndpointBuilder {
             return (AMQPProducerBuilder) this;
         }
         /**
+         * Specifies the maximum number of concurrent consumers for continue
+         * routing when timeout occurred when using request/reply over JMS. The
+         * option will be converted to a int type.
+         */
+        public AMQPProducerBuilder replyToOnTimeoutMaxConcurrentConsumers(
+                String replyToOnTimeoutMaxConcurrentConsumers) {
+            this.properties.put("replyToOnTimeoutMaxConcurrentConsumers", replyToOnTimeoutMaxConcurrentConsumers);
+            return (AMQPProducerBuilder) this;
+        }
+        /**
          * Provides an explicit ReplyTo destination in the JMS message, which
          * overrides the setting of replyTo. It is useful if you want to forward
          * the message to a remote Queue and receive the reply message from the
@@ -962,6 +1739,23 @@ public interface AMQPEndpointBuilder {
             return (AMQPProducerBuilder) this;
         }
         /**
+         * Allows for explicitly specifying which kind of strategy to use for
+         * replyTo queues when doing request/reply over JMS. Possible values
+         * are: Temporary, Shared, or Exclusive. By default Camel will use
+         * temporary queues. However if replyTo has been configured, then Shared
+         * is used by default. This option allows you to use exclusive queues
+         * instead of shared ones. See Camel JMS documentation for more details,
+         * and especially the notes about the implications if running in a
+         * clustered environment, and the fact that Shared reply queues has
+         * lower performance than its alternatives Temporary and Exclusive. The
+         * option will be converted to a
+         * org.apache.camel.component.jms.ReplyToType type.
+         */
+        public AMQPProducerBuilder replyToType(String replyToType) {
+            this.properties.put("replyToType", replyToType);
+            return (AMQPProducerBuilder) this;
+        }
+        /**
          * The timeout for waiting for a reply when using the InOut Exchange
          * Pattern (in milliseconds). The default is 20 seconds. You can include
          * the header CamelJmsRequestTimeout to override this endpoint
@@ -974,6 +1768,18 @@ public interface AMQPEndpointBuilder {
             return (AMQPProducerBuilder) this;
         }
         /**
+         * The timeout for waiting for a reply when using the InOut Exchange
+         * Pattern (in milliseconds). The default is 20 seconds. You can include
+         * the header CamelJmsRequestTimeout to override this endpoint
+         * configured timeout value, and thus have per message individual
+         * timeout values. See also the requestTimeoutCheckerInterval option.
+         * The option will be converted to a long type.
+         */
+        public AMQPProducerBuilder requestTimeout(String requestTimeout) {
+            this.properties.put("requestTimeout", requestTimeout);
+            return (AMQPProducerBuilder) this;
+        }
+        /**
          * When sending messages, specifies the time-to-live of the message (in
          * milliseconds). The option is a long type.
          */
@@ -982,6 +1788,14 @@ public interface AMQPEndpointBuilder {
             return (AMQPProducerBuilder) this;
         }
         /**
+         * When sending messages, specifies the time-to-live of the message (in
+         * milliseconds). The option will be converted to a long type.
+         */
+        public AMQPProducerBuilder timeToLive(String timeToLive) {
+            this.properties.put("timeToLive", timeToLive);
+            return (AMQPProducerBuilder) this;
+        }
+        /**
          * This option is used to allow additional headers which may have values
          * that are invalid according to JMS specification. For example some
          * message systems such as WMQ do this with header names using prefix
@@ -1005,6 +1819,15 @@ public interface AMQPEndpointBuilder {
             return (AMQPProducerBuilder) this;
         }
         /**
+         * Whether to allow sending messages with no body. If this option is
+         * false and the message body is null, then an JMSException is thrown.
+         * The option will be converted to a boolean type.
+         */
+        public AMQPProducerBuilder allowNullBody(String allowNullBody) {
+            this.properties.put("allowNullBody", allowNullBody);
+            return (AMQPProducerBuilder) this;
+        }
+        /**
          * If true, Camel will always make a JMS message copy of the message
          * when it is passed to the producer for sending. Copying the message is
          * needed in some situations, such as when a
@@ -1017,6 +1840,19 @@ public interface AMQPEndpointBuilder {
             return (AMQPProducerBuilder) this;
         }
         /**
+         * If true, Camel will always make a JMS message copy of the message
+         * when it is passed to the producer for sending. Copying the message is
+         * needed in some situations, such as when a
+         * replyToDestinationSelectorName is set (incidentally, Camel will set
+         * the alwaysCopyMessage option to true, if a
+         * replyToDestinationSelectorName is set). The option will be converted
+         * to a boolean type.
+         */
+        public AMQPProducerBuilder alwaysCopyMessage(String alwaysCopyMessage) {
+            this.properties.put("alwaysCopyMessage", alwaysCopyMessage);
+            return (AMQPProducerBuilder) this;
+        }
+        /**
          * Use this JMS property to correlate messages in InOut exchange pattern
          * (request-reply) instead of JMSCorrelationID property. This allows you
          * to exchange messages with systems that do not correlate messages
@@ -1046,6 +1882,21 @@ public interface AMQPEndpointBuilder {
             return (AMQPProducerBuilder) this;
         }
         /**
+         * Use this option to force disabling time to live. For example when you
+         * do request/reply over JMS, then Camel will by default use the
+         * requestTimeout value as time to live on the message being sent. The
+         * problem is that the sender and receiver systems have to have their
+         * clocks synchronized, so they are in sync. This is not always so easy
+         * to archive. So you can use disableTimeToLive=true to not set a time
+         * to live value on the sent message. Then the message will not expire
+         * on the receiver system. See below in section About time to live for
+         * more details. The option will be converted to a boolean type.
+         */
+        public AMQPProducerBuilder disableTimeToLive(String disableTimeToLive) {
+            this.properties.put("disableTimeToLive", disableTimeToLive);
+            return (AMQPProducerBuilder) this;
+        }
+        /**
          * When using mapJmsMessage=false Camel will create a new JMS message to
          * send to a new JMS destination if you touch the headers (get or set)
          * during the route. Set this option to true to force Camel to send the
@@ -1057,6 +1908,18 @@ public interface AMQPEndpointBuilder {
             return (AMQPProducerBuilder) this;
         }
         /**
+         * When using mapJmsMessage=false Camel will create a new JMS message to
+         * send to a new JMS destination if you touch the headers (get or set)
+         * during the route. Set this option to true to force Camel to send the
+         * original JMS message that was received. The option will be converted
+         * to a boolean type.
+         */
+        public AMQPProducerBuilder forceSendOriginalMessage(
+                String forceSendOriginalMessage) {
+            this.properties.put("forceSendOriginalMessage", forceSendOriginalMessage);
+            return (AMQPProducerBuilder) this;
+        }
+        /**
          * Only applicable when sending to JMS destination using InOnly (eg fire
          * and forget). Enabling this option will enrich the Camel Exchange with
          * the actual JMSMessageID that was used by the JMS client when the
@@ -1069,6 +1932,18 @@ public interface AMQPEndpointBuilder {
             return (AMQPProducerBuilder) this;
         }
         /**
+         * Only applicable when sending to JMS destination using InOnly (eg fire
+         * and forget). Enabling this option will enrich the Camel Exchange with
+         * the actual JMSMessageID that was used by the JMS client when the
+         * message was sent to the JMS destination. The option will be converted
+         * to a boolean type.
+         */
+        public AMQPProducerBuilder includeSentJMSMessageID(
+                String includeSentJMSMessageID) {
+            this.properties.put("includeSentJMSMessageID", includeSentJMSMessageID);
+            return (AMQPProducerBuilder) this;
+        }
+        /**
          * Sets the cache level by name for the reply consumer when doing
          * request/reply over JMS. This option only applies when using fixed
          * reply queues (not temporary). Camel will by default use:
@@ -1111,6 +1986,21 @@ public interface AMQPEndpointBuilder {
             this.properties.put("streamMessageTypeEnabled", streamMessageTypeEnabled);
             return (AMQPProducerBuilder) this;
         }
+        /**
+         * Sets whether StreamMessage type is enabled or not. Message payloads
+         * of streaming kind such as files, InputStream, etc will either by sent
+         * as BytesMessage or StreamMessage. This option controls which kind
+         * will be used. By default BytesMessage is used which enforces the
+         * entire message payload to be read into memory. By enabling this
+         * option the message payload is read into memory in chunks and each
+         * chunk is then written to the StreamMessage until no more data. The
+         * option will be converted to a boolean type.
+         */
+        public AMQPProducerBuilder streamMessageTypeEnabled(
+                String streamMessageTypeEnabled) {
+            this.properties.put("streamMessageTypeEnabled", streamMessageTypeEnabled);
+            return (AMQPProducerBuilder) this;
+        }
     }
 
     public static enum JmsMessageType {
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AS2EndpointBuilder.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AS2EndpointBuilder.java
index ac276f5..0e2e3c1 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AS2EndpointBuilder.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AS2EndpointBuilder.java
@@ -50,6 +50,14 @@ public interface AS2EndpointBuilder {
             return (T) this;
         }
         /**
+         * What kind of operation to perform. The option will be converted to a
+         * org.apache.camel.component.as2.internal.AS2ApiName type.
+         */
+        public T apiName(String apiName) {
+            this.properties.put("apiName", apiName);
+            return (T) this;
+        }
+        /**
          * What sub operation to use for the selected operation. The option is a
          * java.lang.String type.
          */
@@ -76,6 +84,17 @@ public interface AS2EndpointBuilder {
             return (T) this;
         }
         /**
+         * The structure of AS2 Message. One of: PLAIN - No encryption, no
+         * signature, SIGNED - No encryption, signature, ENCRYPTED - Encryption,
+         * no signature, ENCRYPTED_SIGNED - Encryption, signature. The option
+         * will be converted to a
+         * org.apache.camel.component.as2.api.AS2MessageStructure type.
+         */
+        public T as2MessageStructure(String as2MessageStructure) {
+            this.properties.put("as2MessageStructure", as2MessageStructure);
+            return (T) this;
+        }
+        /**
          * The value of the AS2To header of AS2 message. The option is a
          * java.lang.String type.
          */
@@ -109,6 +128,15 @@ public interface AS2EndpointBuilder {
             return (T) this;
         }
         /**
+         * The algorithm used to compress EDI message. The option will be
+         * converted to a
+         * org.apache.camel.component.as2.api.AS2CompressionAlgorithm type.
+         */
+        public T compressionAlgorithm(String compressionAlgorithm) {
+            this.properties.put("compressionAlgorithm", compressionAlgorithm);
+            return (T) this;
+        }
+        /**
          * The key used to encrypt the EDI message. The option is a
          * java.security.PrivateKey type.
          */
@@ -117,6 +145,14 @@ public interface AS2EndpointBuilder {
             return (T) this;
         }
         /**
+         * The key used to encrypt the EDI message. The option will be converted
+         * to a java.security.PrivateKey type.
+         */
+        public T decryptingPrivateKey(String decryptingPrivateKey) {
+            this.properties.put("decryptingPrivateKey", decryptingPrivateKey);
+            return (T) this;
+        }
+        /**
          * The value of the Disposition-Notification-To header. Assigning a
          * value to this parameter requests a message disposition notification
          * (MDN) for the AS2 message. The option is a java.lang.String type.
@@ -143,6 +179,15 @@ public interface AS2EndpointBuilder {
             return (T) this;
         }
         /**
+         * The content type of EDI message. One of application/edifact,
+         * application/edi-x12, application/edi-consent. The option will be
+         * converted to a org.apache.http.entity.ContentType type.
+         */
+        public T ediMessageType(String ediMessageType) {
+            this.properties.put("ediMessageType", ediMessageType);
+            return (T) this;
+        }
+        /**
          * The algorithm used to encrypt EDI message. The option is a
          * org.apache.camel.component.as2.api.AS2EncryptionAlgorithm type.
          */
@@ -151,6 +196,15 @@ public interface AS2EndpointBuilder {
             return (T) this;
         }
         /**
+         * The algorithm used to encrypt EDI message. The option will be
+         * converted to a
+         * org.apache.camel.component.as2.api.AS2EncryptionAlgorithm type.
+         */
+        public T encryptingAlgorithm(String encryptingAlgorithm) {
+            this.properties.put("encryptingAlgorithm", encryptingAlgorithm);
+            return (T) this;
+        }
+        /**
          * The chain of certificates used to encrypt EDI message. The option is
          * a java.security.cert.Certificate[] type.
          */
@@ -160,6 +214,14 @@ public interface AS2EndpointBuilder {
             return (T) this;
         }
         /**
+         * The chain of certificates used to encrypt EDI message. The option
+         * will be converted to a java.security.cert.Certificate[] type.
+         */
+        public T encryptingCertificateChain(String encryptingCertificateChain) {
+            this.properties.put("encryptingCertificateChain", encryptingCertificateChain);
+            return (T) this;
+        }
+        /**
          * The value of the From header of AS2 message. The option is a
          * java.lang.String type.
          */
@@ -215,6 +277,14 @@ public interface AS2EndpointBuilder {
             return (T) this;
         }
         /**
+         * The port number of server. The option will be converted to a
+         * java.lang.Integer type.
+         */
+        public T serverPortNumber(String serverPortNumber) {
+            this.properties.put("serverPortNumber", serverPortNumber);
+            return (T) this;
+        }
+        /**
          * The list of algorithms, in order of preference, requested to generate
          * a message integrity check (MIC) returned in message dispostion
          * notification (MDN). The option is a java.lang.String[] type.
@@ -224,6 +294,16 @@ public interface AS2EndpointBuilder {
             return (T) this;
         }
         /**
+         * The list of algorithms, in order of preference, requested to generate
+         * a message integrity check (MIC) returned in message dispostion
+         * notification (MDN). The option will be converted to a
+         * java.lang.String[] type.
+         */
+        public T signedReceiptMicAlgorithms(String signedReceiptMicAlgorithms) {
+            this.properties.put("signedReceiptMicAlgorithms", signedReceiptMicAlgorithms);
+            return (T) this;
+        }
+        /**
          * The algorithm used to sign EDI message. The option is a
          * org.apache.camel.component.as2.api.AS2SignatureAlgorithm type.
          */
@@ -232,6 +312,14 @@ public interface AS2EndpointBuilder {
             return (T) this;
         }
         /**
+         * The algorithm used to sign EDI message. The option will be converted
+         * to a org.apache.camel.component.as2.api.AS2SignatureAlgorithm type.
+         */
+        public T signingAlgorithm(String signingAlgorithm) {
+            this.properties.put("signingAlgorithm", signingAlgorithm);
+            return (T) this;
+        }
+        /**
          * The chain of certificates used to sign EDI message. The option is a
          * java.security.cert.Certificate[] type.
          */
@@ -240,6 +328,14 @@ public interface AS2EndpointBuilder {
             return (T) this;
         }
         /**
+         * The chain of certificates used to sign EDI message. The option will
+         * be converted to a java.security.cert.Certificate[] type.
+         */
+        public T signingCertificateChain(String signingCertificateChain) {
+            this.properties.put("signingCertificateChain", signingCertificateChain);
+            return (T) this;
+        }
+        /**
          * The key used to sign the EDI message. The option is a
          * java.security.PrivateKey type.
          */
@@ -248,6 +344,14 @@ public interface AS2EndpointBuilder {
             return (T) this;
         }
         /**
+         * The key used to sign the EDI message. The option will be converted to
+         * a java.security.PrivateKey type.
+         */
+        public T signingPrivateKey(String signingPrivateKey) {
+            this.properties.put("signingPrivateKey", signingPrivateKey);
+            return (T) this;
+        }
+        /**
          * The value of Subject header of AS2 message. The option is a
          * java.lang.String type.
          */
@@ -272,6 +376,14 @@ public interface AS2EndpointBuilder {
             return (T) this;
         }
         /**
+         * The port number of target host. -1 indicates the scheme default port.
+         * The option will be converted to a java.lang.Integer type.
+         */
+        public T targetPortNumber(String targetPortNumber) {
+            this.properties.put("targetPortNumber", targetPortNumber);
+            return (T) this;
+        }
+        /**
          * The value included in the User-Agent message header identifying the
          * AS2 user agent. The option is a java.lang.String type.
          */
@@ -289,6 +401,15 @@ public interface AS2EndpointBuilder {
             return (T) this;
         }
         /**
+         * Whether the endpoint should use basic property binding (Camel 2.x) or
+         * the newer property binding with additional capabilities. The option
+         * will be converted to a boolean type.
+         */
+        public T basicPropertyBinding(String basicPropertyBinding) {
+            this.properties.put("basicPropertyBinding", basicPropertyBinding);
+            return (T) this;
+        }
+        /**
          * Sets whether synchronous processing should be strictly used, or Camel
          * is allowed to use asynchronous processing (if supported). The option
          * is a boolean type.
@@ -297,6 +418,15 @@ public interface AS2EndpointBuilder {
             this.properties.put("synchronous", synchronous);
             return (T) this;
         }
+        /**
+         * Sets whether synchronous processing should be strictly used, or Camel
+         * is allowed to use asynchronous processing (if supported). The option
+         * will be converted to a boolean type.
+         */
+        public T synchronous(String synchronous) {
+            this.properties.put("synchronous", synchronous);
+            return (T) this;
+        }
     }
 
     public static class AS2ConsumerBuilder
@@ -321,6 +451,19 @@ public interface AS2EndpointBuilder {
             return (AS2ConsumerBuilder) this;
         }
         /**
+         * 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. The option will be converted to a boolean type.
+         */
+        public AS2ConsumerBuilder bridgeErrorHandler(String bridgeErrorHandler) {
+            this.properties.put("bridgeErrorHandler", bridgeErrorHandler);
+            return (AS2ConsumerBuilder) this;
+        }
+        /**
          * 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
@@ -333,6 +476,17 @@ public interface AS2EndpointBuilder {
             return (AS2ConsumerBuilder) this;
         }
         /**
+         * 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. The option will be
+         * converted to a org.apache.camel.spi.ExceptionHandler type.
+         */
+        public AS2ConsumerBuilder exceptionHandler(String exceptionHandler) {
+            this.properties.put("exceptionHandler", exceptionHandler);
+            return (AS2ConsumerBuilder) this;
+        }
+        /**
          * Sets the exchange pattern when the consumer creates an exchange. The
          * option is a org.apache.camel.ExchangePattern type.
          */
@@ -341,6 +495,14 @@ public interface AS2EndpointBuilder {
             this.properties.put("exchangePattern", exchangePattern);
             return (AS2ConsumerBuilder) this;
         }
+        /**
+         * Sets the exchange pattern when the consumer creates an exchange. The
+         * option will be converted to a org.apache.camel.ExchangePattern type.
+         */
+        public AS2ConsumerBuilder exchangePattern(String exchangePattern) {
+            this.properties.put("exchangePattern", exchangePattern);
+            return (AS2ConsumerBuilder) this;
+        }
     }
 
     public static class AS2ProducerBuilder
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/ActiveMQEndpointBuilder.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/ActiveMQEndpointBuilder.java
index ae3d95c..e3a3f5a 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/ActiveMQEndpointBuilder.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/ActiveMQEndpointBuilder.java
@@ -80,6 +80,17 @@ public interface ActiveMQEndpointBuilder {
             return (T) this;
         }
         /**
+         * Sets the default connection factory to be used if a connection
+         * factory is not specified for either
+         * setTemplateConnectionFactory(ConnectionFactory) or
+         * setListenerConnectionFactory(ConnectionFactory). The option will be
+         * converted to a javax.jms.ConnectionFactory type.
+         */
+        public T connectionFactory(String connectionFactory) {
+            this.properties.put("connectionFactory", connectionFactory);
+            return (T) this;
+        }
+        /**
          * Specifies whether Camel ignores the JMSReplyTo header in messages. If
          * true, Camel does not send a reply back to the destination specified
          * in the JMSReplyTo header. You can use this option if you want Camel
@@ -95,6 +106,21 @@ public interface ActiveMQEndpointBuilder {
             return (T) this;
         }
         /**
+         * Specifies whether Camel ignores the JMSReplyTo header in messages. If
+         * true, Camel does not send a reply back to the destination specified
+         * in the JMSReplyTo header. You can use this option if you want Camel
+         * to consume from a route and you do not want Camel to automatically
+         * send back a reply message because another component in your code
+         * handles the reply message. You can also use this option if you want
+         * to use Camel as a proxy between different message brokers and you
+         * want to route message from one system to another. The option will be
+         * converted to a boolean type.
+         */
+        public T disableReplyTo(String disableReplyTo) {
+            this.properties.put("disableReplyTo", disableReplyTo);
+            return (T) this;
+        }
+        /**
          * The durable subscriber name for specifying durable topic
          * subscriptions. The clientId option must be configured as well. The
          * option is a java.lang.String type.
@@ -116,6 +142,18 @@ public interface ActiveMQEndpointBuilder {
             return (T) this;
         }
         /**
+         * Allows you to force the use of a specific javax.jms.Message
+         * implementation for sending JMS messages. Possible values are: Bytes,
+         * Map, Object, Stream, Text. By default, Camel would determine which
+         * JMS message type to use from the In body type. This option allows you
+         * to specify it. The option will be converted to a
+         * org.apache.camel.component.jms.JmsMessageType type.
+         */
+        public T jmsMessageType(String jmsMessageType) {
+            this.properties.put("jmsMessageType", jmsMessageType);
+            return (T) this;
+        }
+        /**
          * Specifies whether to test the connection on startup. This ensures
          * that when Camel starts that all the JMS consumers have a valid
          * connection to the JMS broker. If a connection cannot be granted then
@@ -128,6 +166,18 @@ public interface ActiveMQEndpointBuilder {
             return (T) this;
         }
         /**
+         * Specifies whether to test the connection on startup. This ensures
+         * that when Camel starts that all the JMS consumers have a valid
+         * connection to the JMS broker. If a connection cannot be granted then
+         * Camel throws an exception on startup. This ensures that Camel is not
+         * started with failed connections. The JMS producers is tested as well.
+         * The option will be converted to a boolean type.
+         */
+        public T testConnectionOnStartup(String testConnectionOnStartup) {
+            this.properties.put("testConnectionOnStartup", testConnectionOnStartup);
+            return (T) this;
+        }
+        /**
          * Controls whether or not to include serialized headers. Applies only
          * when isTransferExchange() is true. This requires that the objects are
          * serializable. Camel will exclude any non-serializable objects and log
@@ -138,6 +188,16 @@ public interface ActiveMQEndpointBuilder {
             return (T) this;
         }
         /**
+         * Controls whether or not to include serialized headers. Applies only
+         * when isTransferExchange() is true. This requires that the objects are
+         * serializable. Camel will exclude any non-serializable objects and log
+         * it at WARN level. The option will be converted to a boolean type.
+         */
+        public T allowSerializedHeaders(String allowSerializedHeaders) {
+            this.properties.put("allowSerializedHeaders", allowSerializedHeaders);
+            return (T) this;
+        }
+        /**
          * Whether to startup the JmsConsumer message listener asynchronously,
          * when starting a route. For example if a JmsConsumer cannot get a
          * connection to a remote JMS broker, then it may block while retrying
@@ -155,6 +215,23 @@ public interface ActiveMQEndpointBuilder {
             return (T) this;
         }
         /**
+         * Whether to startup the JmsConsumer message listener asynchronously,
+         * when starting a route. For example if a JmsConsumer cannot get a
+         * connection to a remote JMS broker, then it may block while retrying
+         * and/or failover. This will cause Camel to block while starting
+         * routes. By setting this option to true, you will let routes startup,
+         * while the JmsConsumer connects to the JMS broker using a dedicated
+         * thread in asynchronous mode. If this option is used, then beware that
+         * if the connection could not be established, then an exception is
+         * logged at WARN level, and the consumer will not be able to receive
+         * messages; You can then restart the route to retry. The option will be
+         * converted to a boolean type.
+         */
+        public T asyncStartListener(String asyncStartListener) {
+            this.properties.put("asyncStartListener", asyncStartListener);
+            return (T) this;
+        }
+        /**
          * Whether to stop the JmsConsumer message listener asynchronously, when
          * stopping a route. The option is a boolean type.
          */
@@ -163,6 +240,14 @@ public interface ActiveMQEndpointBuilder {
             return (T) this;
         }
         /**
+         * Whether to stop the JmsConsumer message listener asynchronously, when
+         * stopping a route. The option will be converted to a boolean type.
+         */
+        public T asyncStopListener(String asyncStopListener) {
+            this.properties.put("asyncStopListener", asyncStopListener);
+            return (T) this;
+        }
+        /**
          * Whether the endpoint should use basic property binding (Camel 2.x) or
          * the newer property binding with additional capabilities. The option
          * is a boolean type.
@@ -172,6 +257,15 @@ public interface ActiveMQEndpointBuilder {
             return (T) this;
         }
         /**
+         * Whether the endpoint should use basic property binding (Camel 2.x) or
+         * the newer property binding with additional capabilities. The option
+         * will be converted to a boolean type.
+         */
+        public T basicPropertyBinding(String basicPropertyBinding) {
+            this.properties.put("basicPropertyBinding", basicPropertyBinding);
+            return (T) this;
+        }
+        /**
          * A pluggable
          * org.springframework.jms.support.destination.DestinationResolver that
          * allows you to use your own resolver (for example, to lookup the real
@@ -183,6 +277,17 @@ public interface ActiveMQEndpointBuilder {
             return (T) this;
         }
         /**
+         * A pluggable
+         * org.springframework.jms.support.destination.DestinationResolver that
+         * allows you to use your own resolver (for example, to lookup the real
+         * destination in a JNDI registry). The option will be converted to a
+         * org.springframework.jms.support.destination.DestinationResolver type.
+         */
+        public T destinationResolver(String destinationResolver) {
+            this.properties.put("destinationResolver", destinationResolver);
+            return (T) this;
+        }
+        /**
          * Specifies a org.springframework.util.ErrorHandler to be invoked in
          * case of any uncaught exceptions thrown while processing a Message. By
          * default these exceptions will be logged at the WARN level, if no
@@ -197,6 +302,20 @@ public interface ActiveMQEndpointBuilder {
             return (T) this;
         }
         /**
+         * Specifies a org.springframework.util.ErrorHandler to be invoked in
+         * case of any uncaught exceptions thrown while processing a Message. By
+         * default these exceptions will be logged at the WARN level, if no
+         * errorHandler has been configured. You can configure logging level and
+         * whether stack traces should be logged using errorHandlerLoggingLevel
+         * and errorHandlerLogStackTrace options. This makes it much easier to
+         * configure, than having to code a custom errorHandler. The option will
+         * be converted to a org.springframework.util.ErrorHandler type.
+         */
+        public T errorHandler(String errorHandler) {
+            this.properties.put("errorHandler", errorHandler);
+            return (T) this;
+        }
+        /**
          * Specifies the JMS Exception Listener that is to be notified of any
          * underlying JMS exceptions. The option is a
          * javax.jms.ExceptionListener type.
@@ -206,6 +325,15 @@ public interface ActiveMQEndpointBuilder {
             return (T) this;
         }
         /**
+         * Specifies the JMS Exception Listener that is to be notified of any
+         * underlying JMS exceptions. The option will be converted to a
+         * javax.jms.ExceptionListener type.
+         */
+        public T exceptionListener(String exceptionListener) {
+            this.properties.put("exceptionListener", exceptionListener);
+            return (T) this;
+        }
+        /**
          * To use a custom HeaderFilterStrategy to filter header to and from
          * Camel message. The option is a
          * org.apache.camel.spi.HeaderFilterStrategy type.
@@ -215,6 +343,15 @@ public interface ActiveMQEndpointBuilder {
             return (T) this;
         }
         /**
+         * To use a custom HeaderFilterStrategy to filter header to and from
+         * Camel message. The option will be converted to a
+         * org.apache.camel.spi.HeaderFilterStrategy type.
+         */
+        public T headerFilterStrategy(String headerFilterStrategy) {
+            this.properties.put("headerFilterStrategy", headerFilterStrategy);
+            return (T) this;
+        }
+        /**
          * Specify the limit for the number of consumers that are allowed to be
          * idle at any given time. The option is a int type.
          */
@@ -223,6 +360,14 @@ public interface ActiveMQEndpointBuilder {
             return (T) this;
         }
         /**
+         * Specify the limit for the number of consumers that are allowed to be
+         * idle at any given time. The option will be converted to a int type.
+         */
+        public T idleConsumerLimit(String idleConsumerLimit) {
+            this.properties.put("idleConsumerLimit", idleConsumerLimit);
+            return (T) this;
+        }
+        /**
          * Specifies the limit for idle executions of a receive task, not having
          * received any message within its execution. If this limit is reached,
          * the task will shut down and leave receiving to other executing tasks
@@ -235,6 +380,18 @@ public interface ActiveMQEndpointBuilder {
             return (T) this;
         }
         /**
+         * Specifies the limit for idle executions of a receive task, not having
+         * received any message within its execution. If this limit is reached,
+         * the task will shut down and leave receiving to other executing tasks
+         * (in the case of dynamic scheduling; see the maxConcurrentConsumers
+         * setting). There is additional doc available from Spring. The option
+         * will be converted to a int type.
+         */
+        public T idleTaskExecutionLimit(String idleTaskExecutionLimit) {
+            this.properties.put("idleTaskExecutionLimit", idleTaskExecutionLimit);
+            return (T) this;
+        }
+        /**
          * Whether to include all JMSXxxx properties when mapping from JMS to
          * Camel Message. Setting this to true will include properties such as
          * JMSXAppID, and JMSXUserID etc. Note: If you are using a custom
@@ -246,6 +403,17 @@ public interface ActiveMQEndpointBuilder {
             return (T) this;
         }
         /**
+         * Whether to include all JMSXxxx properties when mapping from JMS to
+         * Camel Message. Setting this to true will include properties such as
+         * JMSXAppID, and JMSXUserID etc. Note: If you are using a custom
+         * headerFilterStrategy then this option does not apply. The option will
+         * be converted to a boolean type.
+         */
+        public T includeAllJMSXProperties(String includeAllJMSXProperties) {
+            this.properties.put("includeAllJMSXProperties", includeAllJMSXProperties);
+            return (T) this;
+        }
+        /**
          * Pluggable strategy for encoding and decoding JMS keys so they can be
          * compliant with the JMS specification. Camel provides two
          * implementations out of the box: default and passthrough. The default
@@ -261,6 +429,22 @@ public interface ActiveMQEndpointBuilder {
             return (T) this;
         }
         /**
+         * Pluggable strategy for encoding and decoding JMS keys so they can be
+         * compliant with the JMS specification. Camel provides two
+         * implementations out of the box: default and passthrough. The default
+         * strategy will safely marshal dots and hyphens (. and -). The
+         * passthrough strategy leaves the key as is. Can be used for JMS
+         * brokers which do not care whether JMS header keys contain illegal
+         * characters. You can provide your own implementation of the
+         * org.apache.camel.component.jms.JmsKeyFormatStrategy and refer to it
+         * using the # notation. The option will be converted to a
+         * java.lang.String type.
+         */
+        public T jmsKeyFormatStrategy(String jmsKeyFormatStrategy) {
+            this.properties.put("jmsKeyFormatStrategy", jmsKeyFormatStrategy);
+            return (T) this;
+        }
+        /**
          * Specifies whether Camel should auto map the received JMS message to a
          * suited payload type, such as javax.jms.TextMessage to a String etc.
          * The option is a boolean type.
@@ -270,6 +454,15 @@ public interface ActiveMQEndpointBuilder {
             return (T) this;
         }
         /**
+         * Specifies whether Camel should auto map the received JMS message to a
+         * suited payload type, such as javax.jms.TextMessage to a String etc.
+         * The option will be converted to a boolean type.
+         */
+        public T mapJmsMessage(String mapJmsMessage) {
+            this.properties.put("mapJmsMessage", mapJmsMessage);
+            return (T) this;
+        }
+        /**
          * The number of messages per task. -1 is unlimited. If you use a range
          * for concurrent consumers (eg min max), then this option can be used
          * to set a value to eg 100 to control how fast the consumers will
@@ -280,6 +473,17 @@ public interface ActiveMQEndpointBuilder {
             return (T) this;
         }
         /**
+         * The number of messages per task. -1 is unlimited. If you use a range
+         * for concurrent consumers (eg min max), then this option can be used
+         * to set a value to eg 100 to control how fast the consumers will
+         * shrink when less work is required. The option will be converted to a
+         * int type.
+         */
+        public T maxMessagesPerTask(String maxMessagesPerTask) {
+            this.properties.put("maxMessagesPerTask", maxMessagesPerTask);
+            return (T) this;
+        }
+        /**
          * To use a custom Spring
          * org.springframework.jms.support.converter.MessageConverter so you can
          * be in control how to map to/from a javax.jms.Message. The option is a
@@ -290,6 +494,17 @@ public interface ActiveMQEndpointBuilder {
             return (T) this;
         }
         /**
+         * To use a custom Spring
+         * org.springframework.jms.support.converter.MessageConverter so you can
+         * be in control how to map to/from a javax.jms.Message. The option will
+         * be converted to a
+         * org.springframework.jms.support.converter.MessageConverter type.
+         */
+        public T messageConverter(String messageConverter) {
+            this.properties.put("messageConverter", messageConverter);
+            return (T) this;
+        }
+        /**
          * To use the given MessageCreatedStrategy which are invoked when Camel
          * creates new instances of javax.jms.Message objects when Camel is
          * sending a JMS message. The option is a
@@ -300,6 +515,16 @@ public interface ActiveMQEndpointBuilder {
             return (T) this;
         }
         /**
+         * To use the given MessageCreatedStrategy which are invoked when Camel
+         * creates new instances of javax.jms.Message objects when Camel is
+         * sending a JMS message. The option will be converted to a
+         * org.apache.camel.component.jms.MessageCreatedStrategy type.
+         */
+        public T messageCreatedStrategy(String messageCreatedStrategy) {
+            this.properties.put("messageCreatedStrategy", messageCreatedStrategy);
+            return (T) this;
+        }
+        /**
          * When sending, specifies whether message IDs should be added. This is
          * just an hint to the JMS Broker. If the JMS provider accepts this
          * hint, these messages must have the message ID set to null; if the
@@ -311,6 +536,17 @@ public interface ActiveMQEndpointBuilder {
             return (T) this;
         }
         /**
+         * When sending, specifies whether message IDs should be added. This is
+         * just an hint to the JMS Broker. If the JMS provider accepts this
+         * hint, these messages must have the message ID set to null; if the
+         * provider ignores the hint, the message ID must be set to its normal
+         * unique value. The option will be converted to a boolean type.
+         */
+        public T messageIdEnabled(String messageIdEnabled) {
+            this.properties.put("messageIdEnabled", messageIdEnabled);
+            return (T) this;
+        }
+        /**
          * Registry ID of the MessageListenerContainerFactory used to determine
          * what
          * org.springframework.jms.listener.AbstractMessageListenerContainer to
@@ -324,6 +560,19 @@ public interface ActiveMQEndpointBuilder {
             return (T) this;
         }
         /**
+         * Registry ID of the MessageListenerContainerFactory used to determine
+         * what
+         * org.springframework.jms.listener.AbstractMessageListenerContainer to
+         * use to consume messages. Setting this will automatically set
+         * consumerType to Custom. The option will be converted to a
+         * org.apache.camel.component.jms.MessageListenerContainerFactory type.
+         */
+        public T messageListenerContainerFactory(
+                String messageListenerContainerFactory) {
+            this.properties.put("messageListenerContainerFactory", messageListenerContainerFactory);
+            return (T) this;
+        }
+        /**
          * Specifies whether timestamps should be enabled by default on sending
          * messages. This is just an hint to the JMS Broker. If the JMS provider
          * accepts this hint, these messages must have the timestamp set to
@@ -335,6 +584,17 @@ public interface ActiveMQEndpointBuilder {
             return (T) this;
         }
         /**
+         * Specifies whether timestamps should be enabled by default on sending
+         * messages. This is just an hint to the JMS Broker. If the JMS provider
+         * accepts this hint, these messages must have the timestamp set to
+         * zero; if the provider ignores the hint, the timestamp must be set to
+         * its normal value. The option will be converted to a boolean type.
+         */
+        public T messageTimestampEnabled(String messageTimestampEnabled) {
+            this.properties.put("messageTimestampEnabled", messageTimestampEnabled);
+            return (T) this;
+        }
+        /**
          * Specifies whether to inhibit the delivery of messages published by
          * its own connection. The option is a boolean type.
          */
@@ -343,6 +603,14 @@ public interface ActiveMQEndpointBuilder {
             return (T) this;
         }
         /**
+         * Specifies whether to inhibit the delivery of messages published by
+         * its own connection. The option will be converted to a boolean type.
+         */
+        public T pubSubNoLocal(String pubSubNoLocal) {
+            this.properties.put("pubSubNoLocal", pubSubNoLocal);
+            return (T) this;
+        }
+        /**
          * The timeout for receiving messages (in milliseconds). The option is a
          * long type.
          */
@@ -351,6 +619,14 @@ public interface ActiveMQEndpointBuilder {
             return (T) this;
         }
         /**
+         * The timeout for receiving messages (in milliseconds). The option will
+         * be converted to a long type.
+         */
+        public T receiveTimeout(String receiveTimeout) {
+            this.properties.put("receiveTimeout", receiveTimeout);
+            return (T) this;
+        }
+        /**
          * Specifies the interval between recovery attempts, i.e. when a
          * connection is being refreshed, in milliseconds. The default is 5000
          * ms, that is, 5 seconds. The option is a long type.
@@ -360,6 +636,15 @@ public interface ActiveMQEndpointBuilder {
             return (T) this;
         }
         /**
+         * Specifies the interval between recovery attempts, i.e. when a
+         * connection is being refreshed, in milliseconds. The default is 5000
+         * ms, that is, 5 seconds. The option will be converted to a long type.
+         */
+        public T recoveryInterval(String recoveryInterval) {
+            this.properties.put("recoveryInterval", recoveryInterval);
+            return (T) this;
+        }
+        /**
          * Configures how often Camel should check for timed out Exchanges when
          * doing request/reply over JMS. By default Camel checks once per
          * second. But if you must react faster when a timeout occurs, then you
@@ -372,6 +657,19 @@ public interface ActiveMQEndpointBuilder {
             return (T) this;
         }
         /**
+         * Configures how often Camel should check for timed out Exchanges when
+         * doing request/reply over JMS. By default Camel checks once per
+         * second. But if you must react faster when a timeout occurs, then you
+         * can lower this interval, to check more frequently. The timeout is
+         * determined by the option requestTimeout. The option will be converted
+         * to a long type.
+         */
+        public T requestTimeoutCheckerInterval(
+                String requestTimeoutCheckerInterval) {
+            this.properties.put("requestTimeoutCheckerInterval", requestTimeoutCheckerInterval);
+            return (T) this;
+        }
+        /**
          * Sets whether synchronous processing should be strictly used, or Camel
          * is allowed to use asynchronous processing (if supported). The option
          * is a boolean type.
@@ -381,6 +679,15 @@ public interface ActiveMQEndpointBuilder {
             return (T) this;
         }
         /**
+         * Sets whether synchronous processing should be strictly used, or Camel
+         * is allowed to use asynchronous processing (if supported). The option
+         * will be converted to a boolean type.
+         */
+        public T synchronous(String synchronous) {
+            this.properties.put("synchronous", synchronous);
+            return (T) this;
+        }
+        /**
          * If enabled and you are using Request Reply messaging (InOut) and an
          * Exchange failed on the consumer side, then the caused Exception will
          * be send back in response as a javax.jms.ObjectMessage. If the client
@@ -398,6 +705,23 @@ public interface ActiveMQEndpointBuilder {
             return (T) this;
         }
         /**
+         * If enabled and you are using Request Reply messaging (InOut) and an
+         * Exchange failed on the consumer side, then the caused Exception will
+         * be send back in response as a javax.jms.ObjectMessage. If the client
+         * is Camel, the returned Exception is rethrown. This allows you to use
+         * Camel JMS as a bridge in your routing - for example, using persistent
+         * queues to enable robust routing. Notice that if you also have
+         * transferExchange enabled, this option takes precedence. The caught
+         * exception is required to be serializable. The original Exception on
+         * the consumer side can be wrapped in an outer exception such as
+         * org.apache.camel.RuntimeCamelException when returned to the producer.
+         * The option will be converted to a boolean type.
+         */
+        public T transferException(String transferException) {
+            this.properties.put("transferException", transferException);
+            return (T) this;
+        }
+        /**
          * You can transfer the exchange over the wire instead of just the body
          * and headers. The following fields are transferred: In body, Out body,
          * Fault body, In headers, Out headers, Fault headers, exchange
@@ -412,6 +736,20 @@ public interface ActiveMQEndpointBuilder {
             return (T) this;
         }
         /**
+         * You can transfer the exchange over the wire instead of just the body
+         * and headers. The following fields are transferred: In body, Out body,
+         * Fault body, In headers, Out headers, Fault headers, exchange
+         * properties, exchange exception. This requires that the objects are
+         * serializable. Camel will exclude any non-serializable objects and log
+         * it at WARN level. You must enable this option on both the producer
+         * and consumer side, so Camel knows the payloads is an Exchange and not
+         * a regular payload. The option will be converted to a boolean type.
+         */
+        public T transferExchange(String transferExchange) {
+            this.properties.put("transferExchange", transferExchange);
+            return (T) this;
+        }
+        /**
          * If enabled and you are using Request Reply messaging (InOut) and an
          * Exchange failed with a SOAP fault (not exception) on the consumer
          * side, then the fault flag on org.apache.camel.Message#isFault() will
@@ -427,6 +765,22 @@ public interface ActiveMQEndpointBuilder {
             return (T) this;
         }
         /**
+         * If enabled and you are using Request Reply messaging (InOut) and an
+         * Exchange failed with a SOAP fault (not exception) on the consumer
+         * side, then the fault flag on org.apache.camel.Message#isFault() will
+         * be send back in the response as a JMS header with the key
+         * JmsConstants#JMS_TRANSFER_FAULT. If the client is Camel, the returned
+         * fault flag will be set on the
+         * org.apache.camel.Message#setFault(boolean). You may want to enable
+         * this when using Camel components that support faults such as SOAP
+         * based such as cxf or spring-ws. The option will be converted to a
+         * boolean type.
+         */
+        public T transferFault(String transferFault) {
+            this.properties.put("transferFault", transferFault);
+            return (T) this;
+        }
+        /**
          * Specifies whether JMSMessageID should always be used as
          * JMSCorrelationID for InOut messages. The option is a boolean type.
          */
@@ -435,6 +789,15 @@ public interface ActiveMQEndpointBuilder {
             return (T) this;
         }
         /**
+         * Specifies whether JMSMessageID should always be used as
+         * JMSCorrelationID for InOut messages. The option will be converted to
+         * a boolean type.
+         */
+        public T useMessageIDAsCorrelationID(String useMessageIDAsCorrelationID) {
+            this.properties.put("useMessageIDAsCorrelationID", useMessageIDAsCorrelationID);
+            return (T) this;
+        }
+        /**
          * Number of times to wait for provisional correlation id to be updated
          * to the actual correlation id when doing request/reply over JMS and
          * when the option useMessageIDAsCorrelationID is enabled. The option is
@@ -446,6 +809,17 @@ public interface ActiveMQEndpointBuilder {
             return (T) this;
         }
         /**
+         * Number of times to wait for provisional correlation id to be updated
+         * to the actual correlation id when doing request/reply over JMS and
+         * when the option useMessageIDAsCorrelationID is enabled. The option
+         * will be converted to a int type.
+         */
+        public T waitForProvisionCorrelationToBeUpdatedCounter(
+                String waitForProvisionCorrelationToBeUpdatedCounter) {
+            this.properties.put("waitForProvisionCorrelationToBeUpdatedCounter", waitForProvisionCorrelationToBeUpdatedCounter);
+            return (T) this;
+        }
+        /**
          * Interval in millis to sleep each time while waiting for provisional
          * correlation id to be updated. The option is a long type.
          */
@@ -455,6 +829,16 @@ public interface ActiveMQEndpointBuilder {
             return (T) this;
         }
         /**
+         * Interval in millis to sleep each time while waiting for provisional
+         * correlation id to be updated. The option will be converted to a long
+         * type.
+         */
+        public T waitForProvisionCorrelationToBeUpdatedThreadSleepingTime(
+                String waitForProvisionCorrelationToBeUpdatedThreadSleepingTime) {
+            this.properties.put("waitForProvisionCorrelationToBeUpdatedThreadSleepingTime", waitForProvisionCorrelationToBeUpdatedThreadSleepingTime);
+            return (T) this;
+        }
+        /**
          * Password to use with the ConnectionFactory. You can also configure
          * username/password directly on the ConnectionFactory. The option is a
          * java.lang.String type.
@@ -481,6 +865,14 @@ public interface ActiveMQEndpointBuilder {
             return (T) this;
         }
         /**
+         * Specifies whether to use transacted mode. The option will be
+         * converted to a boolean type.
+         */
+        public T transacted(String transacted) {
+            this.properties.put("transacted", transacted);
+            return (T) this;
+        }
+        /**
          * If true, Camel will create a JmsTransactionManager, if there is no
          * transactionManager injected when option transacted=true. The option
          * is a boolean type.
@@ -491,6 +883,16 @@ public interface ActiveMQEndpointBuilder {
             return (T) this;
         }
         /**
+         * If true, Camel will create a JmsTransactionManager, if there is no
+         * transactionManager injected when option transacted=true. The option
+         * will be converted to a boolean type.
+         */
+        public T lazyCreateTransactionManager(
+                String lazyCreateTransactionManager) {
+            this.properties.put("lazyCreateTransactionManager", lazyCreateTransactionManager);
+            return (T) this;
+        }
+        /**
          * The Spring transaction manager to use. The option is a
          * org.springframework.transaction.PlatformTransactionManager type.
          */
@@ -499,6 +901,14 @@ public interface ActiveMQEndpointBuilder {
             return (T) this;
         }
         /**
+         * The Spring transaction manager to use. The option will be converted
+         * to a org.springframework.transaction.PlatformTransactionManager type.
+         */
+        public T transactionManager(String transactionManager) {
+            this.properties.put("transactionManager", transactionManager);
+            return (T) this;
+        }
+        /**
          * The name of the transaction to use. The option is a java.lang.String
          * type.
          */
@@ -514,6 +924,14 @@ public interface ActiveMQEndpointBuilder {
             this.properties.put("transactionTimeout", transactionTimeout);
             return (T) this;
         }
+        /**
+         * The timeout value of the transaction (in seconds), if using
+         * transacted mode. The option will be converted to a int type.
+         */
+        public T transactionTimeout(String transactionTimeout) {
+            this.properties.put("transactionTimeout", transactionTimeout);
+            return (T) this;
+        }
     }
 
     public static class ActiveMQConsumerBuilder
@@ -551,6 +969,22 @@ public interface ActiveMQEndpointBuilder {
             return (ActiveMQConsumerBuilder) this;
         }
         /**
+         * Whether the JmsConsumer processes the Exchange asynchronously. If
+         * enabled then the JmsConsumer may pickup the next message from the JMS
+         * queue, while the previous message is being processed asynchronously
+         * (by the Asynchronous Routing Engine). This means that messages may be
+         * processed not 100% strictly in order. If disabled (as default) then
+         * the Exchange is fully processed before the JmsConsumer will pickup
+         * the next message from the JMS queue. Note if transacted has been
+         * enabled, then asyncConsumer=true does not run asynchronously, as
+         * transaction must be executed synchronously (Camel 3.0 may support
+         * async transactions). The option will be converted to a boolean type.
+         */
+        public ActiveMQConsumerBuilder asyncConsumer(String asyncConsumer) {
+            this.properties.put("asyncConsumer", asyncConsumer);
+            return (ActiveMQConsumerBuilder) this;
+        }
+        /**
          * Specifies whether the consumer container should auto-startup. The
          * option is a boolean type.
          */
@@ -559,6 +993,14 @@ public interface ActiveMQEndpointBuilder {
             return (ActiveMQConsumerBuilder) this;
         }
         /**
+         * Specifies whether the consumer container should auto-startup. The
+         * option will be converted to a boolean type.
+         */
+        public ActiveMQConsumerBuilder autoStartup(String autoStartup) {
+            this.properties.put("autoStartup", autoStartup);
+            return (ActiveMQConsumerBuilder) this;
+        }
+        /**
          * 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
@@ -573,6 +1015,20 @@ public interface ActiveMQEndpointBuilder {
             return (ActiveMQConsumerBuilder) this;
         }
         /**
+         * 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. The option will be converted to a boolean type.
+         */
+        public ActiveMQConsumerBuilder bridgeErrorHandler(
+                String bridgeErrorHandler) {
+            this.properties.put("bridgeErrorHandler", bridgeErrorHandler);
+            return (ActiveMQConsumerBuilder) this;
+        }
+        /**
          * Sets the cache level by ID for the underlying JMS resources. See
          * cacheLevelName option for more details. The option is a int type.
          */
@@ -581,6 +1037,15 @@ public interface ActiveMQEndpointBuilder {
             return (ActiveMQConsumerBuilder) this;
         }
         /**
+         * Sets the cache level by ID for the underlying JMS resources. See
+         * cacheLevelName option for more details. The option will be converted
+         * to a int type.
+         */
+        public ActiveMQConsumerBuilder cacheLevel(String cacheLevel) {
+            this.properties.put("cacheLevel", cacheLevel);
+            return (ActiveMQConsumerBuilder) this;
+        }
+        /**
          * Sets the cache level by name for the underlying JMS resources.
          * Possible values are: CACHE_AUTO, CACHE_CONNECTION, CACHE_CONSUMER,
          * CACHE_NONE, and CACHE_SESSION. The default setting is CACHE_AUTO. See
@@ -605,6 +1070,20 @@ public interface ActiveMQEndpointBuilder {
             return (ActiveMQConsumerBuilder) this;
         }
         /**
+         * Specifies the default number of concurrent consumers when consuming
+         * from JMS (not for request/reply over JMS). See also the
+         * maxMessagesPerTask option to control dynamic scaling up/down of
+         * threads. When doing request/reply over JMS then the option
+         * replyToConcurrentConsumers is used to control number of concurrent
+         * consumers on the reply message listener. The option will be converted
+         * to a int type.
+         */
+        public ActiveMQConsumerBuilder concurrentConsumers(
+                String concurrentConsumers) {
+            this.properties.put("concurrentConsumers", concurrentConsumers);
+            return (ActiveMQConsumerBuilder) this;
+        }
+        /**
          * Specifies the maximum number of concurrent consumers when consuming
          * from JMS (not for request/reply over JMS). See also the
          * maxMessagesPerTask option to control dynamic scaling up/down of
@@ -618,6 +1097,20 @@ public interface ActiveMQEndpointBuilder {
             return (ActiveMQConsumerBuilder) this;
         }
         /**
+         * Specifies the maximum number of concurrent consumers when consuming
+         * from JMS (not for request/reply over JMS). See also the
+         * maxMessagesPerTask option to control dynamic scaling up/down of
+         * threads. When doing request/reply over JMS then the option
+         * replyToMaxConcurrentConsumers is used to control number of concurrent
+         * consumers on the reply message listener. The option will be converted
+         * to a int type.
+         */
+        public ActiveMQConsumerBuilder maxConcurrentConsumers(
+                String maxConcurrentConsumers) {
+            this.properties.put("maxConcurrentConsumers", maxConcurrentConsumers);
+            return (ActiveMQConsumerBuilder) this;
+        }
+        /**
          * Provides an explicit ReplyTo destination, which overrides any
          * incoming value of Message.getJMSReplyTo(). The option is a
          * java.lang.String type.
@@ -636,6 +1129,15 @@ public interface ActiveMQEndpointBuilder {
             return (ActiveMQConsumerBuilder) this;
         }
         /**
+         * Specifies whether to use persistent delivery by default for replies.
+         * The option will be converted to a boolean type.
+         */
+        public ActiveMQConsumerBuilder replyToDeliveryPersistent(
+                String replyToDeliveryPersistent) {
+            this.properties.put("replyToDeliveryPersistent", replyToDeliveryPersistent);
+            return (ActiveMQConsumerBuilder) this;
+        }
+        /**
          * Sets the JMS selector to use. The option is a java.lang.String type.
          */
         public ActiveMQConsumerBuilder selector(String selector) {
@@ -658,6 +1160,22 @@ public interface ActiveMQEndpointBuilder {
             return (ActiveMQConsumerBuilder) this;
         }
         /**
+         * Set whether to make the subscription durable. The durable
+         * subscription name to be used can be specified through the
+         * subscriptionName property. Default is false. Set this to true to
+         * register a durable subscription, typically in combination with a
+         * subscriptionName value (unless your message listener class name is
+         * good enough as subscription name). Only makes sense when listening to
+         * a topic (pub-sub domain), therefore this method switches the
+         * pubSubDomain flag as well. The option will be converted to a boolean
+         * type.
+         */
+        public ActiveMQConsumerBuilder subscriptionDurable(
+                String subscriptionDurable) {
+            this.properties.put("subscriptionDurable", subscriptionDurable);
+            return (ActiveMQConsumerBuilder) this;
+        }
+        /**
          * Set the name of a subscription to create. To be applied in case of a
          * topic (pub-sub domain) with a shared or durable subscription. The
          * subscription name needs to be unique within this client's JMS client
@@ -690,6 +1208,24 @@ public interface ActiveMQEndpointBuilder {
             return (ActiveMQConsumerBuilder) this;
         }
         /**
+         * Set whether to make the subscription shared. The shared subscription
+         * name to be used can be specified through the subscriptionName
+         * property. Default is false. Set this to true to register a shared
+         * subscription, typically in combination with a subscriptionName value
+         * (unless your message listener class name is good enough as
+         * subscription name). Note that shared subscriptions may also be
+         * durable, so this flag can (and often will) be combined with
+         * subscriptionDurable as well. Only makes sense when listening to a
+         * topic (pub-sub domain), therefore this method switches the
+         * pubSubDomain flag as well. Requires a JMS 2.0 compatible message
+         * broker. The option will be converted to a boolean type.
+         */
+        public ActiveMQConsumerBuilder subscriptionShared(
+                String subscriptionShared) {
+            this.properties.put("subscriptionShared", subscriptionShared);
+            return (ActiveMQConsumerBuilder) this;
+        }
+        /**
          * Specifies whether the consumer accept messages while it is stopping.
          * You may consider enabling this option, if you start and stop JMS
          * routes at runtime, while there are still messages enqueued on the
@@ -706,6 +1242,22 @@ public interface ActiveMQEndpointBuilder {
             return (ActiveMQConsumerBuilder) this;
         }
         /**
+         * Specifies whether the consumer accept messages while it is stopping.
+         * You may consider enabling this option, if you start and stop JMS
+         * routes at runtime, while there are still messages enqueued on the
+         * queue. If this option is false, and you stop the JMS route, then
+         * messages may be rejected, and the JMS broker would have to attempt
+         * redeliveries, which yet again may be rejected, and eventually the
+         * message may be moved at a dead letter queue on the JMS broker. To
+         * avoid this its recommended to enable this option. The option will be
+         * converted to a boolean type.
+         */
+        public ActiveMQConsumerBuilder acceptMessagesWhileStopping(
+                String acceptMessagesWhileStopping) {
+            this.properties.put("acceptMessagesWhileStopping", acceptMessagesWhileStopping);
+            return (ActiveMQConsumerBuilder) this;
+        }
+        /**
          * Whether the DefaultMessageListenerContainer used in the reply
          * managers for request-reply messaging allow the
          * DefaultMessageListenerContainer#runningAllowed() flag to quick stop
@@ -721,6 +1273,38 @@ public interface ActiveMQEndpointBuilder {
             return (ActiveMQConsumerBuilder) this;
         }
         /**
+         * Whether the DefaultMessageListenerContainer used in the reply
+         * managers for request-reply messaging allow the
+         * DefaultMessageListenerContainer#runningAllowed() flag to quick stop
+         * in case JmsConfiguration#isAcceptMessagesWhileStopping() is enabled,
+         * and org.apache.camel.CamelContext is currently being stopped. This
+         * quick stop ability is enabled by default in the regular JMS consumers
+         * but to enable for reply managers you must enable this flag. The
+         * option will be converted to a boolean type.
+         */
+        public ActiveMQConsumerBuilder allowReplyManagerQuickStop(
+                String allowReplyManagerQuickStop) {
+            this.properties.put("allowReplyManagerQuickStop", allowReplyManagerQuickStop);
+            return (ActiveMQConsumerBuilder) this;
+        }
+        /**
+         * The consumer type to use, which can be one of: Simple, Default, or
+         * Custom. The consumer type determines which Spring JMS listener to
+         * use. Default will use
+         * org.springframework.jms.listener.DefaultMessageListenerContainer,
+         * Simple will use
+         * org.springframework.jms.listener.SimpleMessageListenerContainer. When
+         * Custom is specified, the MessageListenerContainerFactory defined by
+         * the messageListenerContainerFactory option will determine what
+         * org.springframework.jms.listener.AbstractMessageListenerContainer to
+         * use. The option is a org.apache.camel.component.jms.ConsumerType
+         * type.
+         */
+        public ActiveMQConsumerBuilder consumerType(ConsumerType consumerType) {
+            this.properties.put("consumerType", consumerType);
+            return (ActiveMQConsumerBuilder) this;
+        }
+        /**
          * The consumer type to use, which can be one of: Simple, Default, or
          * Custom. The consumer type determines which Spring JMS listener to
          * use. Default will use
@@ -730,10 +1314,10 @@ public interface ActiveMQEndpointBuilder {
          * Custom is specified, the MessageListenerContainerFactory defined by
          * the messageListenerContainerFactory option will determine what
          * org.springframework.jms.listener.AbstractMessageListenerContainer to
-         * use. The option is a org.apache.camel.component.jms.ConsumerType
-         * type.
+         * use. The option will be converted to a
+         * org.apache.camel.component.jms.ConsumerType type.
          */
-        public ActiveMQConsumerBuilder consumerType(ConsumerType consumerType) {
+        public ActiveMQConsumerBuilder consumerType(String consumerType) {
             this.properties.put("consumerType", consumerType);
             return (ActiveMQConsumerBuilder) this;
         }
@@ -756,6 +1340,24 @@ public interface ActiveMQEndpointBuilder {
             return (ActiveMQConsumerBuilder) this;
         }
         /**
+         * Specifies what default TaskExecutor type to use in the
+         * DefaultMessageListenerContainer, for both consumer endpoints and the
+         * ReplyTo consumer of producer endpoints. Possible values: SimpleAsync
+         * (uses Spring's SimpleAsyncTaskExecutor) or ThreadPool (uses Spring's
+         * ThreadPoolTaskExecutor with optimal values - cached threadpool-like).
+         * If not set, it defaults to the previous behaviour, which uses a
+         * cached thread pool for consumer endpoints and SimpleAsync for reply
+         * consumers. The use of ThreadPool is recommended to reduce thread
+         * trash in elastic configurations with dynamically increasing and
+         * decreasing concurrent consumers. The option will be converted to a
+         * org.apache.camel.component.jms.DefaultTaskExecutorType type.
+         */
+        public ActiveMQConsumerBuilder defaultTaskExecutorType(
+                String defaultTaskExecutorType) {
+            this.properties.put("defaultTaskExecutorType", defaultTaskExecutorType);
+            return (ActiveMQConsumerBuilder) this;
+        }
+        /**
          * Enables eager loading of JMS properties and payload as soon as a
          * message is loaded which generally is inefficient as the JMS
          * properties may not be required but sometimes can catch early any
@@ -768,6 +1370,18 @@ public interface ActiveMQEndpointBuilder {
             return (ActiveMQConsumerBuilder) this;
         }
         /**
+         * Enables eager loading of JMS properties and payload as soon as a
+         * message is loaded which generally is inefficient as the JMS
+         * properties may not be required but sometimes can catch early any
+         * issues with the underlying JMS provider and the use of JMS
+         * properties. The option will be converted to a boolean type.
+         */
+        public ActiveMQConsumerBuilder eagerLoadingOfProperties(
+                String eagerLoadingOfProperties) {
+            this.properties.put("eagerLoadingOfProperties", eagerLoadingOfProperties);
+            return (ActiveMQConsumerBuilder) this;
+        }
+        /**
          * 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
@@ -780,6 +1394,17 @@ public interface ActiveMQEndpointBuilder {
             return (ActiveMQConsumerBuilder) this;
         }
         /**
+         * 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. The option will be
+         * converted to a org.apache.camel.spi.ExceptionHandler type.
+         */
+        public ActiveMQConsumerBuilder exceptionHandler(String exceptionHandler) {
+            this.properties.put("exceptionHandler", exceptionHandler);
+            return (ActiveMQConsumerBuilder) this;
+        }
+        /**
          * Sets the exchange pattern when the consumer creates an exchange. The
          * option is a org.apache.camel.ExchangePattern type.
          */
@@ -789,6 +1414,14 @@ public interface ActiveMQEndpointBuilder {
             return (ActiveMQConsumerBuilder) this;
         }
         /**
+         * Sets the exchange pattern when the consumer creates an exchange. The
+         * option will be converted to a org.apache.camel.ExchangePattern type.
+         */
+        public ActiveMQConsumerBuilder exchangePattern(String exchangePattern) {
+            this.properties.put("exchangePattern", exchangePattern);
+            return (ActiveMQConsumerBuilder) this;
+        }
+        /**
          * Specifies whether the listener session should be exposed when
          * consuming messages. The option is a boolean type.
          */
@@ -798,6 +1431,15 @@ public interface ActiveMQEndpointBuilder {
             return (ActiveMQConsumerBuilder) this;
         }
         /**
+         * Specifies whether the listener session should be exposed when
+         * consuming messages. The option will be converted to a boolean type.
+         */
+        public ActiveMQConsumerBuilder exposeListenerSession(
+                String exposeListenerSession) {
+            this.properties.put("exposeListenerSession", exposeListenerSession);
+            return (ActiveMQConsumerBuilder) this;
+        }
+        /**
          * Whether a JMS consumer is allowed to send a reply message to the same
          * destination that the consumer is using to consume from. This prevents
          * an endless loop by consuming and sending back the same message to
@@ -809,6 +1451,17 @@ public interface ActiveMQEndpointBuilder {
             return (ActiveMQConsumerBuilder) this;
         }
         /**
+         * Whether a JMS consumer is allowed to send a reply message to the same
+         * destination that the consumer is using to consume from. This prevents
+         * an endless loop by consuming and sending back the same message to
+         * itself. The option will be converted to a boolean type.
+         */
+        public ActiveMQConsumerBuilder replyToSameDestinationAllowed(
+                String replyToSameDestinationAllowed) {
+            this.properties.put("replyToSameDestinationAllowed", replyToSameDestinationAllowed);
+            return (ActiveMQConsumerBuilder) this;
+        }
+        /**
          * Allows you to specify a custom task executor for consuming messages.
          * The option is a org.springframework.core.task.TaskExecutor type.
          */
@@ -817,6 +1470,15 @@ public interface ActiveMQEndpointBuilder {
             return (ActiveMQConsumerBuilder) this;
         }
         /**
+         * Allows you to specify a custom task executor for consuming messages.
+         * The option will be converted to a
+         * org.springframework.core.task.TaskExecutor type.
+         */
+        public ActiveMQConsumerBuilder taskExecutor(String taskExecutor) {
+            this.properties.put("taskExecutor", taskExecutor);
+            return (ActiveMQConsumerBuilder) this;
+        }
+        /**
          * Allows to configure the default errorHandler logging level for
          * logging uncaught exceptions. The option is a
          * org.apache.camel.LoggingLevel type.
@@ -827,6 +1489,16 @@ public interface ActiveMQEndpointBuilder {
             return (ActiveMQConsumerBuilder) this;
         }
         /**
+         * Allows to configure the default errorHandler logging level for
+         * logging uncaught exceptions. The option will be converted to a
+         * org.apache.camel.LoggingLevel type.
+         */
+        public ActiveMQConsumerBuilder errorHandlerLoggingLevel(
+                String errorHandlerLoggingLevel) {
+            this.properties.put("errorHandlerLoggingLevel", errorHandlerLoggingLevel);
+            return (ActiveMQConsumerBuilder) this;
+        }
+        /**
          * Allows to control whether stacktraces should be logged or not, by the
          * default errorHandler. The option is a boolean type.
          */
@@ -835,6 +1507,15 @@ public interface ActiveMQEndpointBuilder {
             this.properties.put("errorHandlerLogStackTrace", errorHandlerLogStackTrace);
             return (ActiveMQConsumerBuilder) this;
         }
+        /**
+         * Allows to control whether stacktraces should be logged or not, by the
+         * default errorHandler. The option will be converted to a boolean type.
+         */
+        public ActiveMQConsumerBuilder errorHandlerLogStackTrace(
+                String errorHandlerLogStackTrace) {
+            this.properties.put("errorHandlerLogStackTrace", errorHandlerLogStackTrace);
+            return (ActiveMQConsumerBuilder) this;
+        }
     }
 
     public static class ActiveMQProducerBuilder
@@ -855,6 +1536,15 @@ public interface ActiveMQEndpointBuilder {
             return (ActiveMQProducerBuilder) this;
         }
         /**
+         * Specifies the delivery mode to be used. Possibles values are those
+         * defined by javax.jms.DeliveryMode. NON_PERSISTENT = 1 and PERSISTENT
+         * = 2. The option will be converted to a java.lang.Integer type.
+         */
+        public ActiveMQProducerBuilder deliveryMode(String deliveryMode) {
+            this.properties.put("deliveryMode", deliveryMode);
+            return (ActiveMQProducerBuilder) this;
+        }
+        /**
          * Specifies whether persistent delivery is used by default. The option
          * is a boolean type.
          */
@@ -864,6 +1554,15 @@ public interface ActiveMQEndpointBuilder {
             return (ActiveMQProducerBuilder) this;
         }
         /**
+         * Specifies whether persistent delivery is used by default. The option
+         * will be converted to a boolean type.
+         */
+        public ActiveMQProducerBuilder deliveryPersistent(
+                String deliveryPersistent) {
+            this.properties.put("deliveryPersistent", deliveryPersistent);
+            return (ActiveMQProducerBuilder) this;
+        }
+        /**
          * Set if the deliveryMode, priority or timeToLive qualities of service
          * should be used when sending messages. This option is based on
          * Spring's JmsTemplate. The deliveryMode, priority and timeToLive
@@ -878,6 +1577,20 @@ public interface ActiveMQEndpointBuilder {
             return (ActiveMQProducerBuilder) this;
         }
         /**
+         * Set if the deliveryMode, priority or timeToLive qualities of service
+         * should be used when sending messages. This option is based on
+         * Spring's JmsTemplate. The deliveryMode, priority and timeToLive
+         * options are applied to the current endpoint. This contrasts with the
+         * preserveMessageQos option, which operates at message granularity,
+         * reading QoS properties exclusively from the Camel In message headers.
+         * The option will be converted to a java.lang.Boolean type.
+         */
+        public ActiveMQProducerBuilder explicitQosEnabled(
+                String explicitQosEnabled) {
+            this.properties.put("explicitQosEnabled", explicitQosEnabled);
+            return (ActiveMQProducerBuilder) this;
+        }
+        /**
          * Sets whether date headers should be formatted according to the ISO
          * 8601 standard. The option is a boolean type.
          */
@@ -887,6 +1600,15 @@ public interface ActiveMQEndpointBuilder {
             return (ActiveMQProducerBuilder) this;
         }
         /**
+         * Sets whether date headers should be formatted according to the ISO
+         * 8601 standard. The option will be converted to a boolean type.
+         */
+        public ActiveMQProducerBuilder formatDateHeadersToIso8601(
+                String formatDateHeadersToIso8601) {
+            this.properties.put("formatDateHeadersToIso8601", formatDateHeadersToIso8601);
+            return (ActiveMQProducerBuilder) this;
+        }
+        /**
          * Set to true, if you want to send message using the QoS settings
          * specified on the message, instead of the QoS settings on the JMS
          * endpoint. The following three headers are considered JMSPriority,
@@ -903,6 +1625,23 @@ public interface ActiveMQEndpointBuilder {
             return (ActiveMQProducerBuilder) this;
         }
         /**
+         * Set to true, if you want to send message using the QoS settings
+         * specified on the message, instead of the QoS settings on the JMS
+         * endpoint. The following three headers are considered JMSPriority,
+         * JMSDeliveryMode, and JMSExpiration. You can provide all or only some
+         * of them. If not provided, Camel will fall back to use the values from
+         * the endpoint instead. So, when using this option, the headers
+         * override the values from the endpoint. The explicitQosEnabled option,
+         * by contrast, will only use options set on the endpoint, and not
+         * values from the message header. The option will be converted to a
+         * boolean type.
+         */
+        public ActiveMQProducerBuilder preserveMessageQos(
+                String preserveMessageQos) {
+            this.properties.put("preserveMessageQos", preserveMessageQos);
+            return (ActiveMQProducerBuilder) this;
+        }
+        /**
          * Values greater than 1 specify the message priority when sending
          * (where 0 is the lowest priority and 9 is the highest). The
          * explicitQosEnabled option must also be enabled in order for this
@@ -913,6 +1652,17 @@ public interface ActiveMQEndpointBuilder {
             return (ActiveMQProducerBuilder) this;
         }
         /**
+         * Values greater than 1 specify the message priority when sending
+         * (where 0 is the lowest priority and 9 is the highest). The
+         * explicitQosEnabled option must also be enabled in order for this
+         * option to have any effect. The option will be converted to a int
+         * type.
+         */
+        public ActiveMQProducerBuilder priority(String priority) {
+            this.properties.put("priority", priority);
+            return (ActiveMQProducerBuilder) this;
+        }
+        /**
          * Specifies the default number of concurrent consumers when doing
          * request/reply over JMS. See also the maxMessagesPerTask option to
          * control dynamic scaling up/down of threads. The option is a int type.
@@ -923,6 +1673,17 @@ public interface ActiveMQEndpointBuilder {
             return (ActiveMQProducerBuilder) this;
         }
         /**
+         * Specifies the default number of concurrent consumers when doing
+         * request/reply over JMS. See also the maxMessagesPerTask option to
+         * control dynamic scaling up/down of threads. The option will be
+         * converted to a int type.
+         */
+        public ActiveMQProducerBuilder replyToConcurrentConsumers(
+                String replyToConcurrentConsumers) {
+            this.properties.put("replyToConcurrentConsumers", replyToConcurrentConsumers);
+            return (ActiveMQProducerBuilder) this;
+        }
+        /**
          * Specifies the maximum number of concurrent consumers when using
          * request/reply over JMS. See also the maxMessagesPerTask option to
          * control dynamic scaling up/down of threads. The option is a int type.
@@ -933,6 +1694,17 @@ public interface ActiveMQEndpointBuilder {
             return (ActiveMQProducerBuilder) this;
         }
         /**
+         * Specifies the maximum number of concurrent consumers when using
+         * request/reply over JMS. See also the maxMessagesPerTask option to
+         * control dynamic scaling up/down of threads. The option will be
+         * converted to a int type.
+         */
+        public ActiveMQProducerBuilder replyToMaxConcurrentConsumers(
+                String replyToMaxConcurrentConsumers) {
+            this.properties.put("replyToMaxConcurrentConsumers", replyToMaxConcurrentConsumers);
+            return (ActiveMQProducerBuilder) this;
+        }
+        /**
          * Specifies the maximum number of concurrent consumers for continue
          * routing when timeout occurred when using request/reply over JMS. The
          * option is a int type.
@@ -943,6 +1715,16 @@ public interface ActiveMQEndpointBuilder {
             return (ActiveMQProducerBuilder) this;
         }
         /**
+         * Specifies the maximum number of concurrent consumers for continue
+         * routing when timeout occurred when using request/reply over JMS. The
+         * option will be converted to a int type.
+         */
+        public ActiveMQProducerBuilder replyToOnTimeoutMaxConcurrentConsumers(
+                String replyToOnTimeoutMaxConcurrentConsumers) {
+            this.properties.put("replyToOnTimeoutMaxConcurrentConsumers", replyToOnTimeoutMaxConcurrentConsumers);
+            return (ActiveMQProducerBuilder) this;
+        }
+        /**
          * Provides an explicit ReplyTo destination in the JMS message, which
          * overrides the setting of replyTo. It is useful if you want to forward
          * the message to a remote Queue and receive the reply message from the
@@ -969,6 +1751,23 @@ public interface ActiveMQEndpointBuilder {
             return (ActiveMQProducerBuilder) this;
         }
         /**
+         * Allows for explicitly specifying which kind of strategy to use for
+         * replyTo queues when doing request/reply over JMS. Possible values
+         * are: Temporary, Shared, or Exclusive. By default Camel will use
+         * temporary queues. However if replyTo has been configured, then Shared
+         * is used by default. This option allows you to use exclusive queues
+         * instead of shared ones. See Camel JMS documentation for more details,
+         * and especially the notes about the implications if running in a
+         * clustered environment, and the fact that Shared reply queues has
+         * lower performance than its alternatives Temporary and Exclusive. The
+         * option will be converted to a
+         * org.apache.camel.component.jms.ReplyToType type.
+         */
+        public ActiveMQProducerBuilder replyToType(String replyToType) {
+            this.properties.put("replyToType", replyToType);
+            return (ActiveMQProducerBuilder) this;
+        }
+        /**
          * The timeout for waiting for a reply when using the InOut Exchange
          * Pattern (in milliseconds). The default is 20 seconds. You can include
          * the header CamelJmsRequestTimeout to override this endpoint
@@ -981,6 +1780,18 @@ public interface ActiveMQEndpointBuilder {
             return (ActiveMQProducerBuilder) this;
         }
         /**
+         * The timeout for waiting for a reply when using the InOut Exchange
+         * Pattern (in milliseconds). The default is 20 seconds. You can include
+         * the header CamelJmsRequestTimeout to override this endpoint
+         * configured timeout value, and thus have per message individual
+         * timeout values. See also the requestTimeoutCheckerInterval option.
+         * The option will be converted to a long type.
+         */
+        public ActiveMQProducerBuilder requestTimeout(String requestTimeout) {
+            this.properties.put("requestTimeout", requestTimeout);
+            return (ActiveMQProducerBuilder) this;
+        }
+        /**
          * When sending messages, specifies the time-to-live of the message (in
          * milliseconds). The option is a long type.
          */
@@ -989,6 +1800,14 @@ public interface ActiveMQEndpointBuilder {
             return (ActiveMQProducerBuilder) this;
         }
         /**
+         * When sending messages, specifies the time-to-live of the message (in
+         * milliseconds). The option will be converted to a long type.
+         */
+        public ActiveMQProducerBuilder timeToLive(String timeToLive) {
+            this.properties.put("timeToLive", timeToLive);
+            return (ActiveMQProducerBuilder) this;
+        }
+        /**
          * This option is used to allow additional headers which may have values
          * that are invalid according to JMS specification. For example some
          * message systems such as WMQ do this with header names using prefix
@@ -1012,6 +1831,15 @@ public interface ActiveMQEndpointBuilder {
             return (ActiveMQProducerBuilder) this;
         }
         /**
+         * Whether to allow sending messages with no body. If this option is
+         * false and the message body is null, then an JMSException is thrown.
+         * The option will be converted to a boolean type.
+         */
+        public ActiveMQProducerBuilder allowNullBody(String allowNullBody) {
+            this.properties.put("allowNullBody", allowNullBody);
+            return (ActiveMQProducerBuilder) this;
+        }
+        /**
          * If true, Camel will always make a JMS message copy of the message
          * when it is passed to the producer for sending. Copying the message is
          * needed in some situations, such as when a
@@ -1025,6 +1853,20 @@ public interface ActiveMQEndpointBuilder {
             return (ActiveMQProducerBuilder) this;
         }
         /**
+         * If true, Camel will always make a JMS message copy of the message
+         * when it is passed to the producer for sending. Copying the message is
+         * needed in some situations, such as when a
+         * replyToDestinationSelectorName is set (incidentally, Camel will set
+         * the alwaysCopyMessage option to true, if a
+         * replyToDestinationSelectorName is set). The option will be converted
+         * to a boolean type.
+         */
+        public ActiveMQProducerBuilder alwaysCopyMessage(
+                String alwaysCopyMessage) {
+            this.properties.put("alwaysCopyMessage", alwaysCopyMessage);
+            return (ActiveMQProducerBuilder) this;
+        }
+        /**
          * Use this JMS property to correlate messages in InOut exchange pattern
          * (request-reply) instead of JMSCorrelationID property. This allows you
          * to exchange messages with systems that do not correlate messages
@@ -1055,6 +1897,22 @@ public interface ActiveMQEndpointBuilder {
             return (ActiveMQProducerBuilder) this;
         }
         /**
+         * Use this option to force disabling time to live. For example when you
+         * do request/reply over JMS, then Camel will by default use the
+         * requestTimeout value as time to live on the message being sent. The
+         * problem is that the sender and receiver systems have to have their
+         * clocks synchronized, so they are in sync. This is not always so easy
+         * to archive. So you can use disableTimeToLive=true to not set a time
+         * to live value on the sent message. Then the message will not expire
+         * on the receiver system. See below in section About time to live for
+         * more details. The option will be converted to a boolean type.
+         */
+        public ActiveMQProducerBuilder disableTimeToLive(
+                String disableTimeToLive) {
+            this.properties.put("disableTimeToLive", disableTimeToLive);
+            return (ActiveMQProducerBuilder) this;
+        }
+        /**
          * When using mapJmsMessage=false Camel will create a new JMS message to
          * send to a new JMS destination if you touch the headers (get or set)
          * during the route. Set this option to true to force Camel to send the
@@ -1066,6 +1924,18 @@ public interface ActiveMQEndpointBuilder {
             return (ActiveMQProducerBuilder) this;
         }
         /**
+         * When using mapJmsMessage=false Camel will create a new JMS message to
+         * send to a new JMS destination if you touch the headers (get or set)
+         * during the route. Set this option to true to force Camel to send the
+         * original JMS message that was received. The option will be converted
+         * to a boolean type.
+         */
+        public ActiveMQProducerBuilder forceSendOriginalMessage(
+                String forceSendOriginalMessage) {
+            this.properties.put("forceSendOriginalMessage", forceSendOriginalMessage);
+            return (ActiveMQProducerBuilder) this;
+        }
+        /**
          * Only applicable when sending to JMS destination using InOnly (eg fire
          * and forget). Enabling this option will enrich the Camel Exchange with
          * the actual JMSMessageID that was used by the JMS client when the
@@ -1078,6 +1948,18 @@ public interface ActiveMQEndpointBuilder {
             return (ActiveMQProducerBuilder) this;
         }
         /**
+         * Only applicable when sending to JMS destination using InOnly (eg fire
+         * and forget). Enabling this option will enrich the Camel Exchange with
+         * the actual JMSMessageID that was used by the JMS client when the
+         * message was sent to the JMS destination. The option will be converted
+         * to a boolean type.
+         */
+        public ActiveMQProducerBuilder includeSentJMSMessageID(
+                String includeSentJMSMessageID) {
+            this.properties.put("includeSentJMSMessageID", includeSentJMSMessageID);
+            return (ActiveMQProducerBuilder) this;
+        }
+        /**
          * Sets the cache level by name for the reply consumer when doing
          * request/reply over JMS. This option only applies when using fixed
          * reply queues (not temporary). Camel will by default use:
@@ -1120,6 +2002,21 @@ public interface ActiveMQEndpointBuilder {
             this.properties.put("streamMessageTypeEnabled", streamMessageTypeEnabled);
             return (ActiveMQProducerBuilder) this;
         }
+        /**
+         * Sets whether StreamMessage type is enabled or not. Message payloads
+         * of streaming kind such as files, InputStream, etc will either by sent
+         * as BytesMessage or StreamMessage. This option controls which kind
+         * will be used. By default BytesMessage is used which enforces the
+         * entire message payload to be read into memory. By enabling this
+         * option the message payload is read into memory in chunks and each
+         * chunk is then written to the StreamMessage until no more data. The
+         * option will be converted to a boolean type.
+         */
+        public ActiveMQProducerBuilder streamMessageTypeEnabled(
+                String streamMessageTypeEnabled) {
+            this.properties.put("streamMessageTypeEnabled", streamMessageTypeEnabled);
+            return (ActiveMQProducerBuilder) this;
+        }
     }
 
     public static enum JmsMessageType {
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AhcEndpointBuilder.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AhcEndpointBuilder.java
index 7d113d7..e0264c4 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AhcEndpointBuilder.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AhcEndpointBuilder.java
@@ -48,6 +48,14 @@ public interface AhcEndpointBuilder {
             return (T) this;
         }
         /**
+         * The URI to use such as http://hostname:port/path. The option will be
+         * converted to a java.net.URI type.
+         */
+        public T httpUri(String httpUri) {
+            this.properties.put("httpUri", httpUri);
+            return (T) this;
+        }
+        /**
          * If the option is true, then the Exchange.HTTP_URI header is ignored,
          * and use the endpoint's URI for request. You may also set the
          * throwExceptionOnFailure to be false to let the AhcProducer send all
@@ -58,6 +66,17 @@ public interface AhcEndpointBuilder {
             return (T) this;
         }
         /**
+         * If the option is true, then the Exchange.HTTP_URI header is ignored,
+         * and use the endpoint's URI for request. You may also set the
+         * throwExceptionOnFailure to be false to let the AhcProducer send all
+         * the fault response back. The option will be converted to a boolean
+         * type.
+         */
+        public T bridgeEndpoint(String bridgeEndpoint) {
+            this.properties.put("bridgeEndpoint", bridgeEndpoint);
+            return (T) this;
+        }
+        /**
          * The initial in-memory buffer size used when transferring data between
          * Camel and AHC Client. The option is a int type.
          */
@@ -66,6 +85,14 @@ public interface AhcEndpointBuilder {
             return (T) this;
         }
         /**
+         * The initial in-memory buffer size used when transferring data between
+         * Camel and AHC Client. The option will be converted to a int type.
+         */
+        public T bufferSize(String bufferSize) {
+            this.properties.put("bufferSize", bufferSize);
+            return (T) this;
+        }
+        /**
          * To use a custom HeaderFilterStrategy to filter header to and from
          * Camel message. The option is a
          * org.apache.camel.spi.HeaderFilterStrategy type.
@@ -75,6 +102,15 @@ public interface AhcEndpointBuilder {
             return (T) this;
         }
         /**
+         * To use a custom HeaderFilterStrategy to filter header to and from
+         * Camel message. The option will be converted to a
+         * org.apache.camel.spi.HeaderFilterStrategy type.
+         */
+        public T headerFilterStrategy(String headerFilterStrategy) {
+            this.properties.put("headerFilterStrategy", headerFilterStrategy);
+            return (T) this;
+        }
+        /**
          * Option to disable throwing the AhcOperationFailedException in case of
          * failed responses from the remote server. This allows you to get all
          * responses regardless of the HTTP status code. The option is a boolean
@@ -85,6 +121,16 @@ public interface AhcEndpointBuilder {
             return (T) this;
         }
         /**
+         * Option to disable throwing the AhcOperationFailedException in case of
+         * failed responses from the remote server. This allows you to get all
+         * responses regardless of the HTTP status code. The option will be
+         * converted to a boolean type.
+         */
+        public T throwExceptionOnFailure(String throwExceptionOnFailure) {
+            this.properties.put("throwExceptionOnFailure", throwExceptionOnFailure);
+            return (T) this;
+        }
+        /**
          * If enabled and an Exchange failed processing on the consumer side,
          * and if the caused Exception was send back serialized in the response
          * as a application/x-java-serialized-object content type (for example
@@ -101,6 +147,22 @@ public interface AhcEndpointBuilder {
             return (T) this;
         }
         /**
+         * If enabled and an Exchange failed processing on the consumer side,
+         * and if the caused Exception was send back serialized in the response
+         * as a application/x-java-serialized-object content type (for example
+         * using Jetty or Servlet Camel components). On the producer side the
+         * exception will be deserialized and thrown as is, instead of the
+         * AhcOperationFailedException. The caused exception is required to be
+         * serialized. This is by default turned off. If you enable this then be
+         * aware that Java will deserialize the incoming data from the request
+         * to Java and that can be a potential security risk. The option will be
+         * converted to a boolean type.
+         */
+        public T transferException(String transferException) {
+            this.properties.put("transferException", transferException);
+            return (T) this;
+        }
+        /**
          * Whether the endpoint should use basic property binding (Camel 2.x) or
          * the newer property binding with additional capabilities. The option
          * is a boolean type.
@@ -110,6 +172,15 @@ public interface AhcEndpointBuilder {
             return (T) this;
         }
         /**
+         * Whether the endpoint should use basic property binding (Camel 2.x) or
+         * the newer property binding with additional capabilities. The option
+         * will be converted to a boolean type.
+         */
+        public T basicPropertyBinding(String basicPropertyBinding) {
+            this.properties.put("basicPropertyBinding", basicPropertyBinding);
+            return (T) this;
+        }
+        /**
          * To use a custom AhcBinding which allows to control how to bind
          * between AHC and Camel. The option is a
          * org.apache.camel.component.ahc.AhcBinding type.
@@ -119,6 +190,15 @@ public interface AhcEndpointBuilder {
             return (T) this;
         }
         /**
+         * To use a custom AhcBinding which allows to control how to bind
+         * between AHC and Camel. The option will be converted to a
+         * org.apache.camel.component.ahc.AhcBinding type.
+         */
+        public T binding(String binding) {
+            this.properties.put("binding", binding);
+            return (T) this;
+        }
+        /**
          * To configure the AsyncHttpClient to use a custom
          * com.ning.http.client.AsyncHttpClientConfig instance. The option is a
          * org.asynchttpclient.AsyncHttpClientConfig type.
@@ -128,6 +208,15 @@ public interface AhcEndpointBuilder {
             return (T) this;
         }
         /**
+         * To configure the AsyncHttpClient to use a custom
+         * com.ning.http.client.AsyncHttpClientConfig instance. The option will
+         * be converted to a org.asynchttpclient.AsyncHttpClientConfig type.
+         */
+        public T clientConfig(String clientConfig) {
+            this.properties.put("clientConfig", clientConfig);
+            return (T) this;
+        }
+        /**
          * To configure the AsyncHttpClientConfig using the key/values from the
          * Map. The option is a java.util.Map<java.lang.String,java.lang.Object>
          * type.
@@ -137,6 +226,15 @@ public interface AhcEndpointBuilder {
             return (T) this;
         }
         /**
+         * To configure the AsyncHttpClientConfig using the key/values from the
+         * Map. The option will be converted to a
+         * java.util.Map<java.lang.String,java.lang.Object> type.
+         */
+        public T clientConfigOptions(String clientConfigOptions) {
+            this.properties.put("clientConfigOptions", clientConfigOptions);
+            return (T) this;
+        }
+        /**
          * Sets whether synchronous processing should be strictly used, or Camel
          * is allowed to use asynchronous processing (if supported). The option
          * is a boolean type.
@@ -146,6 +244,15 @@ public interface AhcEndpointBuilder {
             return (T) this;
         }
         /**
+         * Sets whether synchronous processing should be strictly used, or Camel
+         * is allowed to use asynchronous processing (if supported). The option
+         * will be converted to a boolean type.
+         */
+        public T synchronous(String synchronous) {
+            this.properties.put("synchronous", synchronous);
+            return (T) this;
+        }
+        /**
          * To configure the AsyncHttpClientConfig Realm using the key/values
          * from the Map. The option is a
          * java.util.Map<java.lang.String,java.lang.Object> type.
@@ -156,6 +263,15 @@ public interface AhcEndpointBuilder {
             return (T) this;
         }
         /**
+         * To configure the AsyncHttpClientConfig Realm using the key/values
+         * from the Map. The option will be converted to a
+         * java.util.Map<java.lang.String,java.lang.Object> type.
+         */
+        public T clientConfigRealmOptions(String clientConfigRealmOptions) {
+            this.properties.put("clientConfigRealmOptions", clientConfigRealmOptions);
+            return (T) this;
+        }
+        /**
          * Reference to a org.apache.camel.support.jsse.SSLContextParameters in
          * the Registry. This reference overrides any configured
          * SSLContextParameters at the component level. See Using the JSSE
@@ -168,6 +284,20 @@ public interface AhcEndpointBuilder {
             this.properties.put("sslContextParameters", sslContextParameters);
             return (T) this;
         }
+        /**
+         * Reference to a org.apache.camel.support.jsse.SSLContextParameters in
+         * the Registry. This reference overrides any configured
+         * SSLContextParameters at the component level. See Using the JSSE
+         * Configuration Utility. Note that configuring this option will
+         * override any SSL/TLS configuration options provided through the
+         * clientConfig option at the endpoint or component level. The option
+         * will be converted to a
+         * org.apache.camel.support.jsse.SSLContextParameters type.
+         */
+        public T sslContextParameters(String sslContextParameters) {
+            this.properties.put("sslContextParameters", sslContextParameters);
+            return (T) this;
+        }
     }
 
     public static class AhcProducerBuilder
@@ -188,6 +318,15 @@ public interface AhcEndpointBuilder {
             return (AhcProducerBuilder) this;
         }
         /**
+         * Define if the Connection Close header has to be added to HTTP
+         * Request. This parameter is false by default. The option will be
+         * converted to a boolean type.
+         */
+        public AhcProducerBuilder connectionClose(String connectionClose) {
+            this.properties.put("connectionClose", connectionClose);
+            return (AhcProducerBuilder) this;
+        }
+        /**
          * Configure a cookie handler to maintain a HTTP session. The option is
          * a org.apache.camel.http.common.cookie.CookieHandler type.
          */
@@ -195,6 +334,15 @@ public interface AhcEndpointBuilder {
             this.properties.put("cookieHandler", cookieHandler);
             return (AhcProducerBuilder) this;
         }
+        /**
+         * Configure a cookie handler to maintain a HTTP session. The option
+         * will be converted to a
+         * org.apache.camel.http.common.cookie.CookieHandler type.
+         */
+        public AhcProducerBuilder cookieHandler(String cookieHandler) {
+            this.properties.put("cookieHandler", cookieHandler);
+            return (AhcProducerBuilder) this;
+        }
     }
     public default AhcProducerBuilder toAhc(String path) {
         return new AhcProducerBuilder(path);
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/ApnsEndpointBuilder.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/ApnsEndpointBuilder.java
index 8b5a55c..c3ce8de 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/ApnsEndpointBuilder.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/ApnsEndpointBuilder.java
@@ -70,6 +70,15 @@ public interface ApnsEndpointBuilder {
             return (T) this;
         }
         /**
+         * Whether the endpoint should use basic property binding (Camel 2.x) or
+         * the newer property binding with additional capabilities. The option
+         * will be converted to a boolean type.
+         */
+        public T basicPropertyBinding(String basicPropertyBinding) {
+            this.properties.put("basicPropertyBinding", basicPropertyBinding);
+            return (T) this;
+        }
+        /**
          * Sets whether synchronous processing should be strictly used, or Camel
          * is allowed to use asynchronous processing (if supported). The option
          * is a boolean type.
@@ -78,6 +87,15 @@ public interface ApnsEndpointBuilder {
             this.properties.put("synchronous", synchronous);
             return (T) this;
         }
+        /**
+         * Sets whether synchronous processing should be strictly used, or Camel
+         * is allowed to use asynchronous processing (if supported). The option
+         * will be converted to a boolean type.
+         */
+        public T synchronous(String synchronous) {
+            this.properties.put("synchronous", synchronous);
+            return (T) this;
+        }
     }
 
     public static class ApnsConsumerBuilder
@@ -102,6 +120,19 @@ public interface ApnsEndpointBuilder {
             return (ApnsConsumerBuilder) this;
         }
         /**
+         * 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. The option will be converted to a boolean type.
+         */
+        public ApnsConsumerBuilder bridgeErrorHandler(String bridgeErrorHandler) {
+            this.properties.put("bridgeErrorHandler", bridgeErrorHandler);
+            return (ApnsConsumerBuilder) this;
+        }
+        /**
          * If the polling consumer did not poll any files, you can enable this
          * option to send an empty message (no body) instead. The option is a
          * boolean type.
@@ -112,6 +143,16 @@ public interface ApnsEndpointBuilder {
             return (ApnsConsumerBuilder) this;
         }
         /**
+         * If the polling consumer did not poll any files, you can enable this
+         * option to send an empty message (no body) instead. The option will be
+         * converted to a boolean type.
+         */
+        public ApnsConsumerBuilder sendEmptyMessageWhenIdle(
+                String sendEmptyMessageWhenIdle) {
+            this.properties.put("sendEmptyMessageWhenIdle", sendEmptyMessageWhenIdle);
+            return (ApnsConsumerBuilder) this;
+        }
+        /**
          * 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
@@ -124,6 +165,17 @@ public interface ApnsEndpointBuilder {
             return (ApnsConsumerBuilder) this;
         }
         /**
+         * 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. The option will be
+         * converted to a org.apache.camel.spi.ExceptionHandler type.
+         */
+        public ApnsConsumerBuilder exceptionHandler(String exceptionHandler) {
+            this.properties.put("exceptionHandler", exceptionHandler);
+            return (ApnsConsumerBuilder) this;
+        }
+        /**
          * Sets the exchange pattern when the consumer creates an exchange. The
          * option is a org.apache.camel.ExchangePattern type.
          */
@@ -133,6 +185,14 @@ public interface ApnsEndpointBuilder {
             return (ApnsConsumerBuilder) this;
         }
         /**
+         * Sets the exchange pattern when the consumer creates an exchange. The
+         * option will be converted to a org.apache.camel.ExchangePattern type.
+         */
+        public ApnsConsumerBuilder exchangePattern(String exchangePattern) {
+            this.properties.put("exchangePattern", exchangePattern);
+            return (ApnsConsumerBuilder) this;
+        }
+        /**
          * A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing
          * you to provide your custom implementation to control error handling
          * usually occurred during the poll operation before an Exchange have
@@ -145,6 +205,17 @@ public interface ApnsEndpointBuilder {
             return (ApnsConsumerBuilder) this;
         }
         /**
+         * A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing
+         * you to provide your custom implementation to control error handling
+         * usually occurred during the poll operation before an Exchange have
+         * been created and being routed in Camel. The option will be converted
+         * to a org.apache.camel.spi.PollingConsumerPollStrategy type.
+         */
+        public ApnsConsumerBuilder pollStrategy(String pollStrategy) {
+            this.properties.put("pollStrategy", pollStrategy);
+            return (ApnsConsumerBuilder) this;
+        }
+        /**
          * The number of subsequent error polls (failed due some error) that
          * should happen before the backoffMultipler should kick-in. The option
          * is a int type.
@@ -155,6 +226,16 @@ public interface ApnsEndpointBuilder {
             return (ApnsConsumerBuilder) this;
         }
         /**
+         * The number of subsequent error polls (failed due some error) that
+         * should happen before the backoffMultipler should kick-in. The option
+         * will be converted to a int type.
+         */
+        public ApnsConsumerBuilder backoffErrorThreshold(
+                String backoffErrorThreshold) {
+            this.properties.put("backoffErrorThreshold", backoffErrorThreshold);
+            return (ApnsConsumerBuilder) this;
+        }
+        /**
          * The number of subsequent idle polls that should happen before the
          * backoffMultipler should kick-in. The option is a int type.
          */
@@ -163,6 +244,16 @@ public interface ApnsEndpointBuilder {
             return (ApnsConsumerBuilder) this;
         }
         /**
+         * The number of subsequent idle polls that should happen before the
+         * backoffMultipler should kick-in. The option will be converted to a
+         * int type.
+         */
+        public ApnsConsumerBuilder backoffIdleThreshold(
+                String backoffIdleThreshold) {
+            this.properties.put("backoffIdleThreshold", backoffIdleThreshold);
+            return (ApnsConsumerBuilder) this;
+        }
+        /**
          * To let the scheduled polling consumer backoff if there has been a
          * number of subsequent idles/errors in a row. The multiplier is then
          * the number of polls that will be skipped before the next actual
@@ -175,6 +266,18 @@ public interface ApnsEndpointBuilder {
             return (ApnsConsumerBuilder) this;
         }
         /**
+         * To let the scheduled polling consumer backoff if there has been a
+         * number of subsequent idles/errors in a row. The multiplier is then
+         * the number of polls that will be skipped before the next actual
+         * attempt is happening again. When this option is in use then
+         * backoffIdleThreshold and/or backoffErrorThreshold must also be
+         * configured. The option will be converted to a int type.
+         */
+        public ApnsConsumerBuilder backoffMultiplier(String backoffMultiplier) {
+            this.properties.put("backoffMultiplier", backoffMultiplier);
+            return (ApnsConsumerBuilder) this;
+        }
+        /**
          * Milliseconds before the next poll. You can also specify time values
          * using units, such as 60s (60 seconds), 5m30s (5 minutes and 30
          * seconds), and 1h (1 hour). The option is a long type.
@@ -184,6 +287,16 @@ public interface ApnsEndpointBuilder {
             return (ApnsConsumerBuilder) this;
         }
         /**
+         * Milliseconds before the next poll. You can also specify time values
+         * using units, such as 60s (60 seconds), 5m30s (5 minutes and 30
+         * seconds), and 1h (1 hour). The option will be converted to a long
+         * type.
+         */
+        public ApnsConsumerBuilder delay(String delay) {
+            this.properties.put("delay", delay);
+            return (ApnsConsumerBuilder) this;
+        }
+        /**
          * If greedy is enabled, then the ScheduledPollConsumer will run
          * immediately again, if the previous run polled 1 or more messages. The
          * option is a boolean type.
@@ -193,6 +306,15 @@ public interface ApnsEndpointBuilder {
             return (ApnsConsumerBuilder) this;
         }
         /**
+         * If greedy is enabled, then the ScheduledPollConsumer will run
+         * immediately again, if the previous run polled 1 or more messages. The
+         * option will be converted to a boolean type.
+         */
+        public ApnsConsumerBuilder greedy(String greedy) {
+            this.properties.put("greedy", greedy);
+            return (ApnsConsumerBuilder) this;
+        }
+        /**
          * Milliseconds before the first poll starts. You can also specify time
          * values using units, such as 60s (60 seconds), 5m30s (5 minutes and 30
          * seconds), and 1h (1 hour). The option is a long type.
@@ -202,6 +324,16 @@ public interface ApnsEndpointBuilder {
             return (ApnsConsumerBuilder) this;
         }
         /**
+         * Milliseconds before the first poll starts. You can also specify time
+         * values using units, such as 60s (60 seconds), 5m30s (5 minutes and 30
+         * seconds), and 1h (1 hour). The option will be converted to a long
+         * type.
+         */
+        public ApnsConsumerBuilder initialDelay(String initialDelay) {
+            this.properties.put("initialDelay", initialDelay);
+            return (ApnsConsumerBuilder) this;
+        }
+        /**
          * The consumer logs a start/complete log line when it polls. This
          * option allows you to configure the logging level for that. The option
          * is a org.apache.camel.LoggingLevel type.
@@ -211,6 +343,15 @@ public interface ApnsEndpointBuilder {
             return (ApnsConsumerBuilder) this;
         }
         /**
+         * The consumer logs a start/complete log line when it polls. This
+         * option allows you to configure the logging level for that. The option
+         * will be converted to a org.apache.camel.LoggingLevel type.
+         */
+        public ApnsConsumerBuilder runLoggingLevel(String runLoggingLevel) {
+            this.properties.put("runLoggingLevel", runLoggingLevel);
+            return (ApnsConsumerBuilder) this;
+        }
+        /**
          * Allows for configuring a custom/shared thread pool to use for the
          * consumer. By default each consumer has its own single threaded thread
          * pool. The option is a java.util.concurrent.ScheduledExecutorService
@@ -222,6 +363,17 @@ public interface ApnsEndpointBuilder {
             return (ApnsConsumerBuilder) this;
         }
         /**
+         * Allows for configuring a custom/shared thread pool to use for the
+         * consumer. By default each consumer has its own single threaded thread
+         * pool. The option will be converted to a
+         * java.util.concurrent.ScheduledExecutorService type.
+         */
+        public ApnsConsumerBuilder scheduledExecutorService(
+                String scheduledExecutorService) {
+            this.properties.put("scheduledExecutorService", scheduledExecutorService);
+            return (ApnsConsumerBuilder) this;
+        }
+        /**
          * To use a cron scheduler from either camel-spring or camel-quartz2
          * component. The option is a
          * org.apache.camel.spi.ScheduledPollConsumerScheduler type.
@@ -232,6 +384,15 @@ public interface ApnsEndpointBuilder {
             return (ApnsConsumerBuilder) this;
         }
         /**
+         * To use a cron scheduler from either camel-spring or camel-quartz2
+         * component. The option will be converted to a
+         * org.apache.camel.spi.ScheduledPollConsumerScheduler type.
+         */
+        public ApnsConsumerBuilder scheduler(String scheduler) {
+            this.properties.put("scheduler", scheduler);
+            return (ApnsConsumerBuilder) this;
+        }
+        /**
          * To configure additional properties when using a custom scheduler or
          * any of the Quartz2, Spring based scheduler. The option is a
          * java.util.Map<java.lang.String,java.lang.Object> type.
@@ -242,6 +403,16 @@ public interface ApnsEndpointBuilder {
             return (ApnsConsumerBuilder) this;
         }
         /**
+         * To configure additional properties when using a custom scheduler or
+         * any of the Quartz2, Spring based scheduler. The option will be
+         * converted to a java.util.Map<java.lang.String,java.lang.Object> type.
+         */
+        public ApnsConsumerBuilder schedulerProperties(
+                String schedulerProperties) {
+            this.properties.put("schedulerProperties", schedulerProperties);
+            return (ApnsConsumerBuilder) this;
+        }
+        /**
          * Whether the scheduler should be auto started. The option is a boolean
          * type.
          */
@@ -250,6 +421,14 @@ public interface ApnsEndpointBuilder {
             return (ApnsConsumerBuilder) this;
         }
         /**
+         * Whether the scheduler should be auto started. The option will be
+         * converted to a boolean type.
+         */
+        public ApnsConsumerBuilder startScheduler(String startScheduler) {
+            this.properties.put("startScheduler", startScheduler);
+            return (ApnsConsumerBuilder) this;
+        }
+        /**
          * Time unit for initialDelay and delay options. The option is a
          * java.util.concurrent.TimeUnit type.
          */
@@ -258,6 +437,14 @@ public interface ApnsEndpointBuilder {
             return (ApnsConsumerBuilder) this;
         }
         /**
+         * Time unit for initialDelay and delay options. The option will be
+         * converted to a java.util.concurrent.TimeUnit type.
+         */
+        public ApnsConsumerBuilder timeUnit(String timeUnit) {
+            this.properties.put("timeUnit", timeUnit);
+            return (ApnsConsumerBuilder) this;
+        }
+        /**
          * Controls if fixed delay or fixed rate is used. See
          * ScheduledExecutorService in JDK for details. The option is a boolean
          * type.
@@ -266,6 +453,15 @@ public interface ApnsEndpointBuilder {
             this.properties.put("useFixedDelay", useFixedDelay);
             return (ApnsConsumerBuilder) this;
         }
+        /**
+         * Controls if fixed delay or fixed rate is used. See
+         * ScheduledExecutorService in JDK for details. The option will be
+         * converted to a boolean type.
+         */
+        public ApnsConsumerBuilder useFixedDelay(String useFixedDelay) {
+            this.properties.put("useFixedDelay", useFixedDelay);
+            return (ApnsConsumerBuilder) this;
+        }
     }
 
     public static class ApnsProducerBuilder
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AsteriskEndpointBuilder.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AsteriskEndpointBuilder.java
index 57dff02..900e48d 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AsteriskEndpointBuilder.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AsteriskEndpointBuilder.java
@@ -77,6 +77,15 @@ public interface AsteriskEndpointBuilder {
             return (T) this;
         }
         /**
+         * Whether the endpoint should use basic property binding (Camel 2.x) or
+         * the newer property binding with additional capabilities. The option
+         * will be converted to a boolean type.
+         */
+        public T basicPropertyBinding(String basicPropertyBinding) {
+            this.properties.put("basicPropertyBinding", basicPropertyBinding);
+            return (T) this;
+        }
+        /**
          * Sets whether synchronous processing should be strictly used, or Camel
          * is allowed to use asynchronous processing (if supported). The option
          * is a boolean type.
@@ -85,6 +94,15 @@ public interface AsteriskEndpointBuilder {
             this.properties.put("synchronous", synchronous);
             return (T) this;
         }
+        /**
+         * Sets whether synchronous processing should be strictly used, or Camel
+         * is allowed to use asynchronous processing (if supported). The option
+         * will be converted to a boolean type.
+         */
+        public T synchronous(String synchronous) {
+            this.properties.put("synchronous", synchronous);
+            return (T) this;
+        }
     }
 
     public static class AsteriskConsumerBuilder
@@ -110,6 +128,20 @@ public interface AsteriskEndpointBuilder {
             return (AsteriskConsumerBuilder) this;
         }
         /**
+         * 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. The option will be converted to a boolean type.
+         */
+        public AsteriskConsumerBuilder bridgeErrorHandler(
+                String bridgeErrorHandler) {
+            this.properties.put("bridgeErrorHandler", bridgeErrorHandler);
+            return (AsteriskConsumerBuilder) this;
+        }
+        /**
          * 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
@@ -122,6 +154,17 @@ public interface AsteriskEndpointBuilder {
             return (AsteriskConsumerBuilder) this;
         }
         /**
+         * 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. The option will be
+         * converted to a org.apache.camel.spi.ExceptionHandler type.
+         */
+        public AsteriskConsumerBuilder exceptionHandler(String exceptionHandler) {
+            this.properties.put("exceptionHandler", exceptionHandler);
+            return (AsteriskConsumerBuilder) this;
+        }
+        /**
          * Sets the exchange pattern when the consumer creates an exchange. The
          * option is a org.apache.camel.ExchangePattern type.
          */
@@ -130,6 +173,14 @@ public interface AsteriskEndpointBuilder {
             this.properties.put("exchangePattern", exchangePattern);
             return (AsteriskConsumerBuilder) this;
         }
+        /**
+         * Sets the exchange pattern when the consumer creates an exchange. The
+         * option will be converted to a org.apache.camel.ExchangePattern type.
+         */
+        public AsteriskConsumerBuilder exchangePattern(String exchangePattern) {
+            this.properties.put("exchangePattern", exchangePattern);
+            return (AsteriskConsumerBuilder) this;
+        }
     }
 
     public static class AsteriskProducerBuilder
@@ -149,6 +200,15 @@ public interface AsteriskEndpointBuilder {
             this.properties.put("action", action);
             return (AsteriskProducerBuilder) this;
         }
+        /**
+         * What action to perform such as getting queue status, sip peers or
+         * extension state. The option will be converted to a
+         * org.apache.camel.component.asterisk.AsteriskAction type.
+         */
+        public AsteriskProducerBuilder action(String action) {
+            this.properties.put("action", action);
+            return (AsteriskProducerBuilder) this;
+        }
     }
 
     public static enum AsteriskAction {
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AtmosEndpointBuilder.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AtmosEndpointBuilder.java
index 2abedf9..5a887eb 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AtmosEndpointBuilder.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AtmosEndpointBuilder.java
@@ -54,6 +54,14 @@ public interface AtmosEndpointBuilder {
             return (T) this;
         }
         /**
+         * Operation to perform. The option will be converted to a
+         * org.apache.camel.component.atmos.util.AtmosOperation type.
+         */
+        public T operation(String operation) {
+            this.properties.put("operation", operation);
+            return (T) this;
+        }
+        /**
          * Atmos SSL validation. The option is a boolean type.
          */
         public T enableSslValidation(boolean enableSslValidation) {
@@ -61,6 +69,13 @@ public interface AtmosEndpointBuilder {
             return (T) this;
         }
         /**
+         * Atmos SSL validation. The option will be converted to a boolean type.
+         */
+        public T enableSslValidation(String enableSslValidation) {
+            this.properties.put("enableSslValidation", enableSslValidation);
+            return (T) this;
+        }
+        /**
          * Atmos client fullTokenId. The option is a java.lang.String type.
          */
         public T fullTokenId(String fullTokenId) {
@@ -120,6 +135,15 @@ public interface AtmosEndpointBuilder {
             return (T) this;
         }
         /**
+         * Whether the endpoint should use basic property binding (Camel 2.x) or
+         * the newer property binding with additional capabilities. The option
+         * will be converted to a boolean type.
+         */
+        public T basicPropertyBinding(String basicPropertyBinding) {
+            this.properties.put("basicPropertyBinding", basicPropertyBinding);
+            return (T) this;
+        }
+        /**
          * Sets whether synchronous processing should be strictly used, or Camel
          * is allowed to use asynchronous processing (if supported). The option
          * is a boolean type.
@@ -128,6 +152,15 @@ public interface AtmosEndpointBuilder {
             this.properties.put("synchronous", synchronous);
             return (T) this;
         }
+        /**
+         * Sets whether synchronous processing should be strictly used, or Camel
+         * is allowed to use asynchronous processing (if supported). The option
+         * will be converted to a boolean type.
+         */
+        public T synchronous(String synchronous) {
+            this.properties.put("synchronous", synchronous);
+            return (T) this;
+        }
     }
 
     public static class AtmosConsumerBuilder
@@ -153,6 +186,19 @@ public interface AtmosEndpointBuilder {
             return (AtmosConsumerBuilder) this;
         }
         /**
+         * 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. The option will be converted to a boolean type.
+         */
+        public AtmosConsumerBuilder bridgeErrorHandler(String bridgeErrorHandler) {
+            this.properties.put("bridgeErrorHandler", bridgeErrorHandler);
+            return (AtmosConsumerBuilder) this;
+        }
+        /**
          * 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
@@ -165,6 +211,17 @@ public interface AtmosEndpointBuilder {
             return (AtmosConsumerBuilder) this;
         }
         /**
+         * 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. The option will be
+         * converted to a org.apache.camel.spi.ExceptionHandler type.
+         */
+        public AtmosConsumerBuilder exceptionHandler(String exceptionHandler) {
+            this.properties.put("exceptionHandler", exceptionHandler);
+            return (AtmosConsumerBuilder) this;
+        }
+        /**
          * Sets the exchange pattern when the consumer creates an exchange. The
          * option is a org.apache.camel.ExchangePattern type.
          */
@@ -173,6 +230,14 @@ public interface AtmosEndpointBuilder {
             this.properties.put("exchangePattern", exchangePattern);
             return (AtmosConsumerBuilder) this;
         }
+        /**
+         * Sets the exchange pattern when the consumer creates an exchange. The
+         * option will be converted to a org.apache.camel.ExchangePattern type.
+         */
+        public AtmosConsumerBuilder exchangePattern(String exchangePattern) {
+            this.properties.put("exchangePattern", exchangePattern);
+            return (AtmosConsumerBuilder) this;
+        }
     }
 
     public static class AtmosProducerBuilder
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AtmosphereWebsocketEndpointBuilder.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AtmosphereWebsocketEndpointBuilder.java
index 937e224..0905667 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AtmosphereWebsocketEndpointBuilder.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AtmosphereWebsocketEndpointBuilder.java
@@ -55,6 +55,14 @@ public interface AtmosphereWebsocketEndpointBuilder {
             return (T) this;
         }
         /**
+         * Whether to send to all (broadcast) or send to a single receiver. The
+         * option will be converted to a boolean type.
+         */
+        public T sendToAll(String sendToAll) {
+            this.properties.put("sendToAll", sendToAll);
+            return (T) this;
+        }
+        /**
          * To enable streaming to send data as multiple text fragments. The
          * option is a boolean type.
          */
@@ -63,6 +71,14 @@ public interface AtmosphereWebsocketEndpointBuilder {
             return (T) this;
         }
         /**
+         * To enable streaming to send data as multiple text fragments. The
+         * option will be converted to a boolean type.
+         */
+        public T useStreaming(String useStreaming) {
+            this.properties.put("useStreaming", useStreaming);
+            return (T) this;
+        }
+        /**
          * Determines whether or not the raw input stream from Servlet is cached
          * or not (Camel will read the stream into a in memory/overflow to file,
          * Stream caching) cache. By default Camel will cache the Servlet input
@@ -86,6 +102,29 @@ public interface AtmosphereWebsocketEndpointBuilder {
             return (T) this;
         }
         /**
+         * Determines whether or not the raw input stream from Servlet is cached
+         * or not (Camel will read the stream into a in memory/overflow to file,
+         * Stream caching) cache. By default Camel will cache the Servlet input
+         * stream to support reading it multiple times to ensure it Camel can
+         * retrieve all data from the stream. However you can set this option to
+         * true when you for example need to access the raw stream, such as
+         * streaming it directly to a file or other persistent store.
+         * DefaultHttpBinding will copy the request input stream into a stream
+         * cache and put it into message body if this option is false to support
+         * reading the stream multiple times. If you use Servlet to bridge/proxy
+         * an endpoint then consider enabling this option to improve
+         * performance, in case you do not need to read the message payload
+         * multiple times. The http/http4 producer will by default cache the
+         * response body stream. If setting this option to true, then the
+         * producers will not cache the response body stream but use the
+         * response stream as-is as the message body. The option will be
+         * converted to a boolean type.
+         */
+        public T disableStreamCache(String disableStreamCache) {
+            this.properties.put("disableStreamCache", disableStreamCache);
+            return (T) this;
+        }
+        /**
          * To use a custom HeaderFilterStrategy to filter header to and from
          * Camel message. The option is a
          * org.apache.camel.spi.HeaderFilterStrategy type.
@@ -95,6 +134,15 @@ public interface AtmosphereWebsocketEndpointBuilder {
             return (T) this;
         }
         /**
+         * To use a custom HeaderFilterStrategy to filter header to and from
+         * Camel message. The option will be converted to a
+         * org.apache.camel.spi.HeaderFilterStrategy type.
+         */
+        public T headerFilterStrategy(String headerFilterStrategy) {
+            this.properties.put("headerFilterStrategy", headerFilterStrategy);
+            return (T) this;
+        }
+        /**
          * To use a custom HttpBinding to control the mapping between Camel
          * message and HttpClient. The option is a
          * org.apache.camel.http.common.HttpBinding type.
@@ -104,6 +152,15 @@ public interface AtmosphereWebsocketEndpointBuilder {
             return (T) this;
         }
         /**
+         * To use a custom HttpBinding to control the mapping between Camel
+         * message and HttpClient. The option will be converted to a
+         * org.apache.camel.http.common.HttpBinding type.
+         */
+        public T httpBinding(String httpBinding) {
+            this.properties.put("httpBinding", httpBinding);
+            return (T) this;
+        }
+        /**
          * If this option is false the Servlet will disable the HTTP streaming
          * and set the content-length header on the response. The option is a
          * boolean type.
@@ -113,6 +170,15 @@ public interface AtmosphereWebsocketEndpointBuilder {
             return (T) this;
         }
         /**
+         * If this option is false the Servlet will disable the HTTP streaming
+         * and set the content-length header on the response. The option will be
+         * converted to a boolean type.
+         */
+        public T chunked(String chunked) {
+            this.properties.put("chunked", chunked);
+            return (T) this;
+        }
+        /**
          * If enabled and an Exchange failed processing on the consumer side,
          * and if the caused Exception was send back serialized in the response
          * as a application/x-java-serialized-object content type. On the
@@ -128,6 +194,21 @@ public interface AtmosphereWebsocketEndpointBuilder {
             return (T) this;
         }
         /**
+         * If enabled and an Exchange failed processing on the consumer side,
+         * and if the caused Exception was send back serialized in the response
+         * as a application/x-java-serialized-object content type. On the
+         * producer side the exception will be deserialized and thrown as is,
+         * instead of the HttpOperationFailedException. The caused exception is
+         * required to be serialized. This is by default turned off. If you
+         * enable this then be aware that Java will deserialize the incoming
+         * data from the request to Java and that can be a potential security
+         * risk. The option will be converted to a boolean type.
+         */
+        public T transferException(String transferException) {
+            this.properties.put("transferException", transferException);
+            return (T) this;
+        }
+        /**
          * Whether the endpoint should use basic property binding (Camel 2.x) or
          * the newer property binding with additional capabilities. The option
          * is a boolean type.
@@ -137,6 +218,15 @@ public interface AtmosphereWebsocketEndpointBuilder {
             return (T) this;
         }
         /**
+         * Whether the endpoint should use basic property binding (Camel 2.x) or
+         * the newer property binding with additional capabilities. The option
+         * will be converted to a boolean type.
+         */
+        public T basicPropertyBinding(String basicPropertyBinding) {
+            this.properties.put("basicPropertyBinding", basicPropertyBinding);
+            return (T) this;
+        }
+        /**
          * If this option is true then IN exchange Body of the exchange will be
          * mapped to HTTP body. Setting this to false will avoid the HTTP
          * mapping. The option is a boolean type.
@@ -146,6 +236,15 @@ public interface AtmosphereWebsocketEndpointBuilder {
             return (T) this;
         }
         /**
+         * If this option is true then IN exchange Body of the exchange will be
+         * mapped to HTTP body. Setting this to false will avoid the HTTP
+         * mapping. The option will be converted to a boolean type.
+         */
+        public T mapHttpMessageBody(String mapHttpMessageBody) {
+            this.properties.put("mapHttpMessageBody", mapHttpMessageBody);
+            return (T) this;
+        }
+        /**
          * If this option is true then IN exchange Form Encoded body of the
          * exchange will be mapped to HTTP. Setting this to false will avoid the
          * HTTP Form Encoded body mapping. The option is a boolean type.
@@ -156,6 +255,17 @@ public interface AtmosphereWebsocketEndpointBuilder {
             return (T) this;
         }
         /**
+         * If this option is true then IN exchange Form Encoded body of the
+         * exchange will be mapped to HTTP. Setting this to false will avoid the
+         * HTTP Form Encoded body mapping. The option will be converted to a
+         * boolean type.
+         */
+        public T mapHttpMessageFormUrlEncodedBody(
+                String mapHttpMessageFormUrlEncodedBody) {
+            this.properties.put("mapHttpMessageFormUrlEncodedBody", mapHttpMessageFormUrlEncodedBody);
+            return (T) this;
+        }
+        /**
          * If this option is true then IN exchange Headers of the exchange will
          * be mapped to HTTP headers. Setting this to false will avoid the HTTP
          * Headers mapping. The option is a boolean type.
@@ -165,6 +275,15 @@ public interface AtmosphereWebsocketEndpointBuilder {
             return (T) this;
         }
         /**
+         * If this option is true then IN exchange Headers of the exchange will
+         * be mapped to HTTP headers. Setting this to false will avoid the HTTP
+         * Headers mapping. The option will be converted to a boolean type.
+         */
+        public T mapHttpMessageHeaders(String mapHttpMessageHeaders) {
+            this.properties.put("mapHttpMessageHeaders", mapHttpMessageHeaders);
+            return (T) this;
+        }
+        /**
          * Sets whether synchronous processing should be strictly used, or Camel
          * is allowed to use asynchronous processing (if supported). The option
          * is a boolean type.
@@ -173,6 +292,15 @@ public interface AtmosphereWebsocketEndpointBuilder {
             this.properties.put("synchronous", synchronous);
             return (T) this;
         }
+        /**
+         * Sets whether synchronous processing should be strictly used, or Camel
+         * is allowed to use asynchronous processing (if supported). The option
+         * will be converted to a boolean type.
+         */
+        public T synchronous(String synchronous) {
+            this.properties.put("synchronous", synchronous);
+            return (T) this;
+        }
     }
 
     public static class AtmosphereWebsocketConsumerBuilder
@@ -192,6 +320,14 @@ public interface AtmosphereWebsocketEndpointBuilder {
             return (AtmosphereWebsocketConsumerBuilder) this;
         }
         /**
+         * Configure the consumer to work in async mode. The option will be
+         * converted to a boolean type.
+         */
+        public AtmosphereWebsocketConsumerBuilder async(String async) {
+            this.properties.put("async", async);
+            return (AtmosphereWebsocketConsumerBuilder) this;
+        }
+        /**
          * 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
@@ -206,6 +342,20 @@ public interface AtmosphereWebsocketEndpointBuilder {
             return (AtmosphereWebsocketConsumerBuilder) this;
         }
         /**
+         * 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. The option will be converted to a boolean type.
+         */
+        public AtmosphereWebsocketConsumerBuilder bridgeErrorHandler(
+                String bridgeErrorHandler) {
+            this.properties.put("bridgeErrorHandler", bridgeErrorHandler);
+            return (AtmosphereWebsocketConsumerBuilder) this;
+        }
+        /**
          * Used to only allow consuming if the HttpMethod matches, such as
          * GET/POST/PUT etc. Multiple methods can be specified separated by
          * comma. The option is a java.lang.String type.
@@ -226,6 +376,16 @@ public interface AtmosphereWebsocketEndpointBuilder {
             return (AtmosphereWebsocketConsumerBuilder) this;
         }
         /**
+         * Whether or not the consumer should try to find a target consumer by
+         * matching the URI prefix if no exact match is found. The option will
+         * be converted to a boolean type.
+         */
+        public AtmosphereWebsocketConsumerBuilder matchOnUriPrefix(
+                String matchOnUriPrefix) {
+            this.properties.put("matchOnUriPrefix", matchOnUriPrefix);
+            return (AtmosphereWebsocketConsumerBuilder) this;
+        }
+        /**
          * To use a custom buffer size on the javax.servlet.ServletResponse. The
          * option is a java.lang.Integer type.
          */
@@ -235,6 +395,15 @@ public interface AtmosphereWebsocketEndpointBuilder {
             return (AtmosphereWebsocketConsumerBuilder) this;
         }
         /**
+         * To use a custom buffer size on the javax.servlet.ServletResponse. The
+         * option will be converted to a java.lang.Integer type.
+         */
+        public AtmosphereWebsocketConsumerBuilder responseBufferSize(
+                String responseBufferSize) {
+            this.properties.put("responseBufferSize", responseBufferSize);
+            return (AtmosphereWebsocketConsumerBuilder) this;
+        }
+        /**
          * Name of the servlet to use. The option is a java.lang.String type.
          */
         public AtmosphereWebsocketConsumerBuilder servletName(String servletName) {
@@ -255,6 +424,20 @@ public interface AtmosphereWebsocketEndpointBuilder {
             return (AtmosphereWebsocketConsumerBuilder) this;
         }
         /**
+         * Whether to automatic bind multipart/form-data as attachments on the
+         * Camel Exchange. The options attachmentMultipartBinding=true and
+         * disableStreamCache=false cannot work together. Remove
+         * disableStreamCache to use AttachmentMultipartBinding. This is turn
+         * off by default as this may require servlet specific configuration to
+         * enable this when using Servlet's. The option will be converted to a
+         * boolean type.
+         */
+        public AtmosphereWebsocketConsumerBuilder attachmentMultipartBinding(
+                String attachmentMultipartBinding) {
+            this.properties.put("attachmentMultipartBinding", attachmentMultipartBinding);
+            return (AtmosphereWebsocketConsumerBuilder) this;
+        }
+        /**
          * Whether to eager check whether the HTTP requests has content if the
          * content-length header is 0 or not present. This can be turned on in
          * case HTTP clients do not send streamed data. The option is a boolean
@@ -266,6 +449,17 @@ public interface AtmosphereWebsocketEndpointBuilder {
             return (AtmosphereWebsocketConsumerBuilder) this;
         }
         /**
+         * Whether to eager check whether the HTTP requests has content if the
+         * content-length header is 0 or not present. This can be turned on in
+         * case HTTP clients do not send streamed data. The option will be
+         * converted to a boolean type.
+         */
+        public AtmosphereWebsocketConsumerBuilder eagerCheckContentAvailable(
+                String eagerCheckContentAvailable) {
+            this.properties.put("eagerCheckContentAvailable", eagerCheckContentAvailable);
+            return (AtmosphereWebsocketConsumerBuilder) this;
+        }
+        /**
          * 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
@@ -278,6 +472,18 @@ public interface AtmosphereWebsocketEndpointBuilder {
             return (AtmosphereWebsocketConsumerBuilder) this;
         }
         /**
+         * 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. The option will be
+         * converted to a org.apache.camel.spi.ExceptionHandler type.
+         */
+        public AtmosphereWebsocketConsumerBuilder exceptionHandler(
+                String exceptionHandler) {
+            this.properties.put("exceptionHandler", exceptionHandler);
+            return (AtmosphereWebsocketConsumerBuilder) this;
+        }
+        /**
          * Sets the exchange pattern when the consumer creates an exchange. The
          * option is a org.apache.camel.ExchangePattern type.
          */
@@ -287,6 +493,15 @@ public interface AtmosphereWebsocketEndpointBuilder {
             return (AtmosphereWebsocketConsumerBuilder) this;
         }
         /**
+         * Sets the exchange pattern when the consumer creates an exchange. The
+         * option will be converted to a org.apache.camel.ExchangePattern type.
+         */
+        public AtmosphereWebsocketConsumerBuilder exchangePattern(
+                String exchangePattern) {
+            this.properties.put("exchangePattern", exchangePattern);
+            return (AtmosphereWebsocketConsumerBuilder) this;
+        }
+        /**
          * Whitelist of accepted filename extensions for accepting uploaded
          * files. Multiple extensions can be separated by comma, such as
          * txt,xml. The option is a java.lang.String type.
@@ -306,6 +521,16 @@ public interface AtmosphereWebsocketEndpointBuilder {
             return (AtmosphereWebsocketConsumerBuilder) this;
         }
         /**
+         * Specifies whether to enable HTTP OPTIONS for this Servlet consumer.
+         * By default OPTIONS is turned off. The option will be converted to a
+         * boolean type.
+         */
+        public AtmosphereWebsocketConsumerBuilder optionsEnabled(
+                String optionsEnabled) {
+            this.properties.put("optionsEnabled", optionsEnabled);
+            return (AtmosphereWebsocketConsumerBuilder) this;
+        }
+        /**
          * Specifies whether to enable HTTP TRACE for this Servlet consumer. By
          * default TRACE is turned off. The option is a boolean type.
          */
@@ -314,6 +539,16 @@ public interface AtmosphereWebsocketEndpointBuilder {
             this.properties.put("traceEnabled", traceEnabled);
             return (AtmosphereWebsocketConsumerBuilder) this;
         }
+        /**
+         * Specifies whether to enable HTTP TRACE for this Servlet consumer. By
+         * default TRACE is turned off. The option will be converted to a
+         * boolean type.
+         */
+        public AtmosphereWebsocketConsumerBuilder traceEnabled(
+                String traceEnabled) {
+            this.properties.put("traceEnabled", traceEnabled);
+            return (AtmosphereWebsocketConsumerBuilder) this;
+        }
     }
 
     public static class AtmosphereWebsocketProducerBuilder
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AtomEndpointBuilder.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AtomEndpointBuilder.java
index 4d1af42..6777707 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AtomEndpointBuilder.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AtomEndpointBuilder.java
@@ -61,6 +61,14 @@ public interface AtomEndpointBuilder {
             return (T) this;
         }
         /**
+         * Sets whether to add the feed object as a header. The option will be
+         * converted to a boolean type.
+         */
+        public T feedHeader(String feedHeader) {
+            this.properties.put("feedHeader", feedHeader);
+            return (T) this;
+        }
+        /**
          * Sets whether to use filtering or not of the entries. The option is a
          * boolean type.
          */
@@ -69,6 +77,14 @@ public interface AtomEndpointBuilder {
             return (T) this;
         }
         /**
+         * Sets whether to use filtering or not of the entries. The option will
+         * be converted to a boolean type.
+         */
+        public T filter(String filter) {
+            this.properties.put("filter", filter);
+            return (T) this;
+        }
+        /**
          * Sets the timestamp to be used for filtering entries from the atom
          * feeds. This options is only in conjunction with the splitEntries. The
          * option is a java.util.Date type.
@@ -78,6 +94,15 @@ public interface AtomEndpointBuilder {
             return (T) this;
         }
         /**
+         * Sets the timestamp to be used for filtering entries from the atom
+         * feeds. This options is only in conjunction with the splitEntries. The
+         * option will be converted to a java.util.Date type.
+         */
+        public T lastUpdate(String lastUpdate) {
+            this.properties.put("lastUpdate", lastUpdate);
+            return (T) this;
+        }
+        /**
          * Sets the password to be used for basic authentication when polling
          * from a HTTP feed. The option is a java.lang.String type.
          */
@@ -94,6 +119,14 @@ public interface AtomEndpointBuilder {
             return (T) this;
         }
         /**
+         * Sets whether to sort entries by published date. Only works when
+         * splitEntries = true. The option will be converted to a boolean type.
+         */
+        public T sortEntries(String sortEntries) {
+            this.properties.put("sortEntries", sortEntries);
+            return (T) this;
+        }
+        /**
          * Sets whether or not entries should be sent individually or whether
          * the entire feed should be sent as a single message. The option is a
          * boolean type.
@@ -103,6 +136,15 @@ public interface AtomEndpointBuilder {
             return (T) this;
         }
         /**
+         * Sets whether or not entries should be sent individually or whether
+         * the entire feed should be sent as a single message. The option will
+         * be converted to a boolean type.
+         */
+        public T splitEntries(String splitEntries) {
+            this.properties.put("splitEntries", splitEntries);
+            return (T) this;
+        }
+        /**
          * Sets whether all entries identified in a single feed poll should be
          * delivered immediately. If true, only one entry is processed per
          * consumer.delay. Only applicable when splitEntries = true. The option
@@ -113,6 +155,16 @@ public interface AtomEndpointBuilder {
             return (T) this;
         }
         /**
+         * Sets whether all entries identified in a single feed poll should be
+         * delivered immediately. If true, only one entry is processed per
+         * consumer.delay. Only applicable when splitEntries = true. The option
+         * will be converted to a boolean type.
+         */
+        public T throttleEntries(String throttleEntries) {
+            this.properties.put("throttleEntries", throttleEntries);
+            return (T) this;
+        }
+        /**
          * Sets the username to be used for basic authentication when polling
          * from a HTTP feed. The option is a java.lang.String type.
          */
@@ -130,6 +182,15 @@ public interface AtomEndpointBuilder {
             return (T) this;
         }
         /**
+         * Whether the endpoint should use basic property binding (Camel 2.x) or
+         * the newer property binding with additional capabilities. The option
+         * will be converted to a boolean type.
+         */
+        public T basicPropertyBinding(String basicPropertyBinding) {
+            this.properties.put("basicPropertyBinding", basicPropertyBinding);
+            return (T) this;
+        }
+        /**
          * Sets whether synchronous processing should be strictly used, or Camel
          * is allowed to use asynchronous processing (if supported). The option
          * is a boolean type.
@@ -138,6 +199,15 @@ public interface AtomEndpointBuilder {
             this.properties.put("synchronous", synchronous);
             return (T) this;
         }
+        /**
+         * Sets whether synchronous processing should be strictly used, or Camel
+         * is allowed to use asynchronous processing (if supported). The option
+         * will be converted to a boolean type.
+         */
+        public T synchronous(String synchronous) {
+            this.properties.put("synchronous", synchronous);
+            return (T) this;
+        }
     }
 
     public static class AtomConsumerBuilder
@@ -162,6 +232,19 @@ public interface AtomEndpointBuilder {
             return (AtomConsumerBuilder) this;
         }
         /**
+         * 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. The option will be converted to a boolean type.
+         */
+        public AtomConsumerBuilder bridgeErrorHandler(String bridgeErrorHandler) {
+            this.properties.put("bridgeErrorHandler", bridgeErrorHandler);
+            return (AtomConsumerBuilder) this;
+        }
+        /**
          * If the polling consumer did not poll any files, you can enable this
          * option to send an empty message (no body) instead. The option is a
          * boolean type.
@@ -172,6 +255,16 @@ public interface AtomEndpointBuilder {
             return (AtomConsumerBuilder) this;
         }
         /**
+         * If the polling consumer did not poll any files, you can enable this
+         * option to send an empty message (no body) instead. The option will be
+         * converted to a boolean type.
+         */
+        public AtomConsumerBuilder sendEmptyMessageWhenIdle(
+                String sendEmptyMessageWhenIdle) {
+            this.properties.put("sendEmptyMessageWhenIdle", sendEmptyMessageWhenIdle);
+            return (AtomConsumerBuilder) this;
+        }
+        /**
          * 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
@@ -184,6 +277,17 @@ public interface AtomEndpointBuilder {
             return (AtomConsumerBuilder) this;
         }
         /**
+         * 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. The option will be
+         * converted to a org.apache.camel.spi.ExceptionHandler type.
+         */
+        public AtomConsumerBuilder exceptionHandler(String exceptionHandler) {
+            this.properties.put("exceptionHandler", exceptionHandler);
+            return (AtomConsumerBuilder) this;
+        }
+        /**
          * Sets the exchange pattern when the consumer creates an exchange. The
          * option is a org.apache.camel.ExchangePattern type.
          */
@@ -193,6 +297,14 @@ public interface AtomEndpointBuilder {
             return (AtomConsumerBuilder) this;
         }
         /**
+         * Sets the exchange pattern when the consumer creates an exchange. The
+         * option will be converted to a org.apache.camel.ExchangePattern type.
+         */
+        public AtomConsumerBuilder exchangePattern(String exchangePattern) {
+            this.properties.put("exchangePattern", exchangePattern);
+            return (AtomConsumerBuilder) this;
+        }
+        /**
          * A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing
          * you to provide your custom implementation to control error handling
          * usually occurred during the poll operation before an Exchange have
@@ -205,6 +317,17 @@ public interface AtomEndpointBuilder {
             return (AtomConsumerBuilder) this;
         }
         /**
+         * A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing
+         * you to provide your custom implementation to control error handling
+         * usually occurred during the poll operation before an Exchange have
+         * been created and being routed in Camel. The option will be converted
+         * to a org.apache.camel.spi.PollingConsumerPollStrategy type.
+         */
+        public AtomConsumerBuilder pollStrategy(String pollStrategy) {
+            this.properties.put("pollStrategy", pollStrategy);
+            return (AtomConsumerBuilder) this;
+        }
+        /**
          * The number of subsequent error polls (failed due some error) that
          * should happen before the backoffMultipler should kick-in. The option
          * is a int type.
@@ -215,6 +338,16 @@ public interface AtomEndpointBuilder {
             return (AtomConsumerBuilder) this;
         }
         /**
+         * The number of subsequent error polls (failed due some error) that
+         * should happen before the backoffMultipler should kick-in. The option
+         * will be converted to a int type.
+         */
+        public AtomConsumerBuilder backoffErrorThreshold(
+                String backoffErrorThreshold) {
+            this.properties.put("backoffErrorThreshold", backoffErrorThreshold);
+            return (AtomConsumerBuilder) this;
+        }
+        /**
          * The number of subsequent idle polls that should happen before the
          * backoffMultipler should kick-in. The option is a int type.
          */
@@ -223,6 +356,16 @@ public interface AtomEndpointBuilder {
             return (AtomConsumerBuilder) this;
         }
         /**
+         * The number of subsequent idle polls that should happen before the
+         * backoffMultipler should kick-in. The option will be converted to a
+         * int type.
+         */
+        public AtomConsumerBuilder backoffIdleThreshold(
+                String backoffIdleThreshold) {
+            this.properties.put("backoffIdleThreshold", backoffIdleThreshold);
+            return (AtomConsumerBuilder) this;
+        }
+        /**
          * To let the scheduled polling consumer backoff if there has been a
          * number of subsequent idles/errors in a row. The multiplier is then
          * the number of polls that will be skipped before the next actual
@@ -235,6 +378,18 @@ public interface AtomEndpointBuilder {
             return (AtomConsumerBuilder) this;
         }
         /**
+         * To let the scheduled polling consumer backoff if there has been a
+         * number of subsequent idles/errors in a row. The multiplier is then
+         * the number of polls that will be skipped before the next actual
+         * attempt is happening again. When this option is in use then
+         * backoffIdleThreshold and/or backoffErrorThreshold must also be
+         * configured. The option will be converted to a int type.
+         */
+        public AtomConsumerBuilder backoffMultiplier(String backoffMultiplier) {
+            this.properties.put("backoffMultiplier", backoffMultiplier);
+            return (AtomConsumerBuilder) this;
+        }
+        /**
          * Milliseconds before the next poll. You can also specify time values
          * using units, such as 60s (60 seconds), 5m30s (5 minutes and 30
          * seconds), and 1h (1 hour). The option is a long type.
@@ -244,6 +399,16 @@ public interface AtomEndpointBuilder {
             return (AtomConsumerBuilder) this;
         }
         /**
+         * Milliseconds before the next poll. You can also specify time values
+         * using units, such as 60s (60 seconds), 5m30s (5 minutes and 30
+         * seconds), and 1h (1 hour). The option will be converted to a long
+         * type.
+         */
+        public AtomConsumerBuilder delay(String delay) {
+            this.properties.put("delay", delay);
+            return (AtomConsumerBuilder) this;
+        }
+        /**
          * If greedy is enabled, then the ScheduledPollConsumer will run
          * immediately again, if the previous run polled 1 or more messages. The
          * option is a boolean type.
@@ -253,6 +418,15 @@ public interface AtomEndpointBuilder {
             return (AtomConsumerBuilder) this;
         }
         /**
+         * If greedy is enabled, then the ScheduledPollConsumer will run
+         * immediately again, if the previous run polled 1 or more messages. The
+         * option will be converted to a boolean type.
+         */
+        public AtomConsumerBuilder greedy(String greedy) {
+            this.properties.put("greedy", greedy);
+            return (AtomConsumerBuilder) this;
+        }
+        /**
          * Milliseconds before the first poll starts. You can also specify time
          * values using units, such as 60s (60 seconds), 5m30s (5 minutes and 30
          * seconds), and 1h (1 hour). The option is a long type.
@@ -262,6 +436,16 @@ public interface AtomEndpointBuilder {
             return (AtomConsumerBuilder) this;
         }
         /**
+         * Milliseconds before the first poll starts. You can also specify time
+         * values using units, such as 60s (60 seconds), 5m30s (5 minutes and 30
+         * seconds), and 1h (1 hour). The option will be converted to a long
+         * type.
+         */
+        public AtomConsumerBuilder initialDelay(String initialDelay) {
+            this.properties.put("initialDelay", initialDelay);
+            return (AtomConsumerBuilder) this;
+        }
+        /**
          * The consumer logs a start/complete log line when it polls. This
          * option allows you to configure the logging level for that. The option
          * is a org.apache.camel.LoggingLevel type.
@@ -271,6 +455,15 @@ public interface AtomEndpointBuilder {
             return (AtomConsumerBuilder) this;
         }
         /**
+         * The consumer logs a start/complete log line when it polls. This
+         * option allows you to configure the logging level for that. The option
+         * will be converted to a org.apache.camel.LoggingLevel type.
+         */
+        public AtomConsumerBuilder runLoggingLevel(String runLoggingLevel) {
+            this.properties.put("runLoggingLevel", runLoggingLevel);
+            return (AtomConsumerBuilder) this;
+        }
+        /**
          * Allows for configuring a custom/shared thread pool to use for the
          * consumer. By default each consumer has its own single threaded thread
          * pool. The option is a java.util.concurrent.ScheduledExecutorService
@@ -282,6 +475,17 @@ public interface AtomEndpointBuilder {
             return (AtomConsumerBuilder) this;
         }
         /**
+         * Allows for configuring a custom/shared thread pool to use for the
+         * consumer. By default each consumer has its own single threaded thread
+         * pool. The option will be converted to a
+         * java.util.concurrent.ScheduledExecutorService type.
+         */
+        public AtomConsumerBuilder scheduledExecutorService(
+                String scheduledExecutorService) {
+            this.properties.put("scheduledExecutorService", scheduledExecutorService);
+            return (AtomConsumerBuilder) this;
+        }
+        /**
          * To use a cron scheduler from either camel-spring or camel-quartz2
          * component. The option is a
          * org.apache.camel.spi.ScheduledPollConsumerScheduler type.
@@ -292,6 +496,15 @@ public interface AtomEndpointBuilder {
             return (AtomConsumerBuilder) this;
         }
         /**
+         * To use a cron scheduler from either camel-spring or camel-quartz2
+         * component. The option will be converted to a
+         * org.apache.camel.spi.ScheduledPollConsumerScheduler type.
+         */
+        public AtomConsumerBuilder scheduler(String scheduler) {
+            this.properties.put("scheduler", scheduler);
+            return (AtomConsumerBuilder) this;
+        }
+        /**
          * To configure additional properties when using a custom scheduler or
          * any of the Quartz2, Spring based scheduler. The option is a
          * java.util.Map<java.lang.String,java.lang.Object> type.
@@ -302,6 +515,16 @@ public interface AtomEndpointBuilder {
             return (AtomConsumerBuilder) this;
         }
         /**
+         * To configure additional properties when using a custom scheduler or
+         * any of the Quartz2, Spring based scheduler. The option will be
+         * converted to a java.util.Map<java.lang.String,java.lang.Object> type.
+         */
+        public AtomConsumerBuilder schedulerProperties(
+                String schedulerProperties) {
+            this.properties.put("schedulerProperties", schedulerProperties);
+            return (AtomConsumerBuilder) this;
+        }
+        /**
          * Whether the scheduler should be auto started. The option is a boolean
          * type.
          */
@@ -310,6 +533,14 @@ public interface AtomEndpointBuilder {
             return (AtomConsumerBuilder) this;
         }
         /**
+         * Whether the scheduler should be auto started. The option will be
+         * converted to a boolean type.
+         */
+        public AtomConsumerBuilder startScheduler(String startScheduler) {
+            this.properties.put("startScheduler", startScheduler);
+            return (AtomConsumerBuilder) this;
+        }
+        /**
          * Time unit for initialDelay and delay options. The option is a
          * java.util.concurrent.TimeUnit type.
          */
@@ -318,6 +549,14 @@ public interface AtomEndpointBuilder {
             return (AtomConsumerBuilder) this;
         }
         /**
+         * Time unit for initialDelay and delay options. The option will be
+         * converted to a java.util.concurrent.TimeUnit type.
+         */
+        public AtomConsumerBuilder timeUnit(String timeUnit) {
+            this.properties.put("timeUnit", timeUnit);
+            return (AtomConsumerBuilder) this;
+        }
+        /**
          * Controls if fixed delay or fixed rate is used. See
          * ScheduledExecutorService in JDK for details. The option is a boolean
          * type.
@@ -326,6 +565,15 @@ public interface AtomEndpointBuilder {
             this.properties.put("useFixedDelay", useFixedDelay);
             return (AtomConsumerBuilder) this;
         }
+        /**
+         * Controls if fixed delay or fixed rate is used. See
+         * ScheduledExecutorService in JDK for details. The option will be
+         * converted to a boolean type.
+         */
+        public AtomConsumerBuilder useFixedDelay(String useFixedDelay) {
+            this.properties.put("useFixedDelay", useFixedDelay);
+            return (AtomConsumerBuilder) this;
+        }
     }
     public default AtomConsumerBuilder fromAtom(String path) {
         return new AtomConsumerBuilder(path);
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AtomixMapEndpointBuilder.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AtomixMapEndpointBuilder.java
index 9dafbc9..a61c9de 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AtomixMapEndpointBuilder.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AtomixMapEndpointBuilder.java
@@ -56,6 +56,14 @@ public interface AtomixMapEndpointBuilder {
             return (T) this;
         }
         /**
+         * The Atomix instance to use. The option will be converted to a
+         * io.atomix.Atomix type.
+         */
+        public T atomix(String atomix) {
+            this.properties.put("atomix", atomix);
+            return (T) this;
+        }
+        /**
          * The Atomix configuration uri. The option is a java.lang.String type.
          */
         public T configurationUri(String configurationUri) {
@@ -71,6 +79,14 @@ public interface AtomixMapEndpointBuilder {
             return (T) this;
         }
         /**
+         * The default action. The option will be converted to a
+         * org.apache.camel.component.atomix.client.map.AtomixMap.Action type.
+         */
+        public T defaultAction(String defaultAction) {
+            this.properties.put("defaultAction", defaultAction);
+            return (T) this;
+        }
+        /**
          * The key to use if none is set in the header or to listen for events
          * for a specific key. The option is a java.lang.Object type.
          */
@@ -79,6 +95,15 @@ public interface AtomixMapEndpointBuilder {
             return (T) this;
         }
         /**
+         * The key to use if none is set in the header or to listen for events
+         * for a specific key. The option will be converted to a
+         * java.lang.Object type.
+         */
+        public T key(String key) {
+            this.properties.put("key", key);
+            return (T) this;
+        }
+        /**
          * The address of the nodes composing the cluster. The option is a
          * java.lang.String type.
          */
@@ -87,6 +112,14 @@ public interface AtomixMapEndpointBuilder {
             return (T) this;
         }
         /**
+         * The address of the nodes composing the cluster. The option will be
+         * converted to a java.lang.String type.
+         */
+        public T nodes(String nodes) {
+            this.properties.put("nodes", nodes);
+            return (T) this;
+        }
+        /**
          * The header that wil carry the result. The option is a
          * java.lang.String type.
          */
@@ -103,6 +136,14 @@ public interface AtomixMapEndpointBuilder {
             return (T) this;
         }
         /**
+         * Sets the Atomix transport. The option will be converted to a
+         * io.atomix.catalyst.transport.Transport type.
+         */
+        public T transport(String transport) {
+            this.properties.put("transport", transport);
+            return (T) this;
+        }
+        /**
          * The resource ttl. The option is a long type.
          */
         public T ttl(long ttl) {
@@ -110,6 +151,13 @@ public interface AtomixMapEndpointBuilder {
             return (T) this;
         }
         /**
+         * The resource ttl. The option will be converted to a long type.
+         */
+        public T ttl(String ttl) {
+            this.properties.put("ttl", ttl);
+            return (T) this;
+        }
+        /**
          * Whether the endpoint should use basic property binding (Camel 2.x) or
          * the newer property binding with additional capabilities. The option
          * is a boolean type.
@@ -119,6 +167,15 @@ public interface AtomixMapEndpointBuilder {
             return (T) this;
         }
         /**
+         * Whether the endpoint should use basic property binding (Camel 2.x) or
+         * the newer property binding with additional capabilities. The option
+         * will be converted to a boolean type.
+         */
+        public T basicPropertyBinding(String basicPropertyBinding) {
+            this.properties.put("basicPropertyBinding", basicPropertyBinding);
+            return (T) this;
+        }
+        /**
          * The cluster wide default resource configuration. The option is a
          * java.util.Properties type.
          */
@@ -127,6 +184,14 @@ public interface AtomixMapEndpointBuilder {
             return (T) this;
         }
         /**
+         * The cluster wide default resource configuration. The option will be
+         * converted to a java.util.Properties type.
+         */
+        public T defaultResourceConfig(String defaultResourceConfig) {
+            this.properties.put("defaultResourceConfig", defaultResourceConfig);
+            return (T) this;
+        }
+        /**
          * The local default resource options. The option is a
          * java.util.Properties type.
          */
@@ -135,6 +200,14 @@ public interface AtomixMapEndpointBuilder {
             return (T) this;
         }
         /**
+         * The local default resource options. The option will be converted to a
+         * java.util.Properties type.
+         */
+        public T defaultResourceOptions(String defaultResourceOptions) {
+            this.properties.put("defaultResourceOptions", defaultResourceOptions);
+            return (T) this;
+        }
+        /**
          * Sets if the local member should join groups as PersistentMember or
          * not. If set to ephemeral the local member will receive an auto
          * generated ID thus the local one is ignored. The option is a boolean
@@ -145,6 +218,16 @@ public interface AtomixMapEndpointBuilder {
             return (T) this;
         }
         /**
+         * Sets if the local member should join groups as PersistentMember or
+         * not. If set to ephemeral the local member will receive an auto
+         * generated ID thus the local one is ignored. The option will be
+         * converted to a boolean type.
+         */
+        public T ephemeral(String ephemeral) {
+            this.properties.put("ephemeral", ephemeral);
+            return (T) this;
+        }
+        /**
          * The read consistency level. The option is a
          * io.atomix.resource.ReadConsistency type.
          */
@@ -153,6 +236,14 @@ public interface AtomixMapEndpointBuilder {
             return (T) this;
         }
         /**
+         * The read consistency level. The option will be converted to a
+         * io.atomix.resource.ReadConsistency type.
+         */
+        public T readConsistency(String readConsistency) {
+            this.properties.put("readConsistency", readConsistency);
+            return (T) this;
+        }
+        /**
          * Cluster wide resources configuration. The option is a
          * java.util.Map<java.lang.String,java.util.Properties> type.
          */
@@ -161,6 +252,14 @@ public interface AtomixMapEndpointBuilder {
             return (T) this;
         }
         /**
+         * Cluster wide resources configuration. The option will be converted to
+         * a java.util.Map<java.lang.String,java.util.Properties> type.
+         */
+        public T resourceConfigs(String resourceConfigs) {
+            this.properties.put("resourceConfigs", resourceConfigs);
+            return (T) this;
+        }
+        /**
          * Local resources configurations. The option is a
          * java.util.Map<java.lang.String,java.util.Properties> type.
          */
@@ -169,6 +268,14 @@ public interface AtomixMapEndpointBuilder {
             return (T) this;
         }
         /**
+         * Local resources configurations. The option will be converted to a
+         * java.util.Map<java.lang.String,java.util.Properties> type.
+         */
+        public T resourceOptions(String resourceOptions) {
+            this.properties.put("resourceOptions", resourceOptions);
+            return (T) this;
+        }
+        /**
          * Sets whether synchronous processing should be strictly used, or Camel
          * is allowed to use asynchronous processing (if supported). The option
          * is a boolean type.
@@ -177,6 +284,15 @@ public interface AtomixMapEndpointBuilder {
             this.properties.put("synchronous", synchronous);
             return (T) this;
         }
+        /**
+         * Sets whether synchronous processing should be strictly used, or Camel
+         * is allowed to use asynchronous processing (if supported). The option
+         * will be converted to a boolean type.
+         */
+        public T synchronous(String synchronous) {
+            this.properties.put("synchronous", synchronous);
+            return (T) this;
+        }
     }
 
     public static class AtomixMapConsumerBuilder
@@ -202,6 +318,20 @@ public interface AtomixMapEndpointBuilder {
             return (AtomixMapConsumerBuilder) this;
         }
         /**
+         * 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. The option will be converted to a boolean type.
+         */
+        public AtomixMapConsumerBuilder bridgeErrorHandler(
+                String bridgeErrorHandler) {
+            this.properties.put("bridgeErrorHandler", bridgeErrorHandler);
+            return (AtomixMapConsumerBuilder) this;
+        }
+        /**
          * 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
@@ -214,6 +344,17 @@ public interface AtomixMapEndpointBuilder {
             return (AtomixMapConsumerBuilder) this;
         }
         /**
+         * 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. The option will be
+         * converted to a org.apache.camel.spi.ExceptionHandler type.
+         */
+        public AtomixMapConsumerBuilder exceptionHandler(String exceptionHandler) {
+            this.properties.put("exceptionHandler", exceptionHandler);
+            return (AtomixMapConsumerBuilder) this;
+        }
+        /**
          * Sets the exchange pattern when the consumer creates an exchange. The
          * option is a org.apache.camel.ExchangePattern type.
          */
@@ -222,6 +363,14 @@ public interface AtomixMapEndpointBuilder {
             this.properties.put("exchangePattern", exchangePattern);
             return (AtomixMapConsumerBuilder) this;
         }
+        /**
+         * Sets the exchange pattern when the consumer creates an exchange. The
+         * option will be converted to a org.apache.camel.ExchangePattern type.
+         */
+        public AtomixMapConsumerBuilder exchangePattern(String exchangePattern) {
+            this.properties.put("exchangePattern", exchangePattern);
+            return (AtomixMapConsumerBuilder) this;
+        }
     }
 
     public static class AtomixMapProducerBuilder
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AtomixMessagingEndpointBuilder.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AtomixMessagingEndpointBuilder.java
index 8a849e8..9985d1b 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AtomixMessagingEndpointBuilder.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AtomixMessagingEndpointBuilder.java
@@ -56,6 +56,14 @@ public interface AtomixMessagingEndpointBuilder {
             return (T) this;
         }
         /**
+         * The Atomix instance to use. The option will be converted to a
+         * io.atomix.Atomix type.
+         */
+        public T atomix(String atomix) {
+            this.properties.put("atomix", atomix);
+            return (T) this;
+        }
+        /**
          * The broadcast type. The option is a
          * org.apache.camel.component.atomix.client.messaging.AtomixMessaging.BroadcastType type.
          */
@@ -64,6 +72,14 @@ public interface AtomixMessagingEndpointBuilder {
             return (T) this;
         }
         /**
+         * The broadcast type. The option will be converted to a
+         * org.apache.camel.component.atomix.client.messaging.AtomixMessaging.BroadcastType type.
+         */
+        public T broadcastType(String broadcastType) {
+            this.properties.put("broadcastType", broadcastType);
+            return (T) this;
+        }
+        /**
          * The messaging channel name. The option is a java.lang.String type.
          */
         public T channelName(String channelName) {
@@ -86,6 +102,14 @@ public interface AtomixMessagingEndpointBuilder {
             return (T) this;
         }
         /**
+         * The default action. The option will be converted to a
+         * org.apache.camel.component.atomix.client.messaging.AtomixMessaging.Action type.
+         */
+        public T defaultAction(String defaultAction) {
+            this.properties.put("defaultAction", defaultAction);
+            return (T) this;
+        }
+        /**
          * The Atomix Group member name. The option is a java.lang.String type.
          */
         public T memberName(String memberName) {
@@ -101,6 +125,14 @@ public interface AtomixMessagingEndpointBuilder {
             return (T) this;
         }
         /**
+         * The address of the nodes composing the cluster. The option will be
+         * converted to a java.lang.String type.
+         */
+        public T nodes(String nodes) {
+            this.properties.put("nodes", nodes);
+            return (T) this;
+        }
+        /**
          * The header that wil carry the result. The option is a
          * java.lang.String type.
          */
@@ -117,6 +149,14 @@ public interface AtomixMessagingEndpointBuilder {
             return (T) this;
         }
         /**
+         * Sets the Atomix transport. The option will be converted to a
+         * io.atomix.catalyst.transport.Transport type.
+         */
+        public T transport(String transport) {
+            this.properties.put("transport", transport);
+            return (T) this;
+        }
+        /**
          * Whether the endpoint should use basic property binding (Camel 2.x) or
          * the newer property binding with additional capabilities. The option
          * is a boolean type.
@@ -126,6 +166,15 @@ public interface AtomixMessagingEndpointBuilder {
             return (T) this;
         }
         /**
+         * Whether the endpoint should use basic property binding (Camel 2.x) or
+         * the newer property binding with additional capabilities. The option
+         * will be converted to a boolean type.
+         */
+        public T basicPropertyBinding(String basicPropertyBinding) {
+            this.properties.put("basicPropertyBinding", basicPropertyBinding);
+            return (T) this;
+        }
+        /**
          * The cluster wide default resource configuration. The option is a
          * java.util.Properties type.
          */
@@ -134,6 +183,14 @@ public interface AtomixMessagingEndpointBuilder {
             return (T) this;
         }
         /**
+         * The cluster wide default resource configuration. The option will be
+         * converted to a java.util.Properties type.
+         */
+        public T defaultResourceConfig(String defaultResourceConfig) {
+            this.properties.put("defaultResourceConfig", defaultResourceConfig);
+            return (T) this;
+        }
+        /**
          * The local default resource options. The option is a
          * java.util.Properties type.
          */
@@ -142,6 +199,14 @@ public interface AtomixMessagingEndpointBuilder {
             return (T) this;
         }
         /**
+         * The local default resource options. The option will be converted to a
+         * java.util.Properties type.
+         */
+        public T defaultResourceOptions(String defaultResourceOptions) {
+            this.properties.put("defaultResourceOptions", defaultResourceOptions);
+            return (T) this;
+        }
+        /**
          * Sets if the local member should join groups as PersistentMember or
          * not. If set to ephemeral the local member will receive an auto
          * generated ID thus the local one is ignored. The option is a boolean
@@ -152,6 +217,16 @@ public interface AtomixMessagingEndpointBuilder {
             return (T) this;
         }
         /**
+         * Sets if the local member should join groups as PersistentMember or
+         * not. If set to ephemeral the local member will receive an auto
+         * generated ID thus the local one is ignored. The option will be
+         * converted to a boolean type.
+         */
+        public T ephemeral(String ephemeral) {
+            this.properties.put("ephemeral", ephemeral);
+            return (T) this;
+        }
+        /**
          * The read consistency level. The option is a
          * io.atomix.resource.ReadConsistency type.
          */
@@ -160,6 +235,14 @@ public interface AtomixMessagingEndpointBuilder {
             return (T) this;
         }
         /**
+         * The read consistency level. The option will be converted to a
+         * io.atomix.resource.ReadConsistency type.
+         */
+        public T readConsistency(String readConsistency) {
+            this.properties.put("readConsistency", readConsistency);
+            return (T) this;
+        }
+        /**
          * Cluster wide resources configuration. The option is a
          * java.util.Map<java.lang.String,java.util.Properties> type.
          */
@@ -168,6 +251,14 @@ public interface AtomixMessagingEndpointBuilder {
             return (T) this;
         }
         /**
+         * Cluster wide resources configuration. The option will be converted to
+         * a java.util.Map<java.lang.String,java.util.Properties> type.
+         */
+        public T resourceConfigs(String resourceConfigs) {
+            this.properties.put("resourceConfigs", resourceConfigs);
+            return (T) this;
+        }
+        /**
          * Local resources configurations. The option is a
          * java.util.Map<java.lang.String,java.util.Properties> type.
          */
@@ -176,6 +267,14 @@ public interface AtomixMessagingEndpointBuilder {
             return (T) this;
         }
         /**
+         * Local resources configurations. The option will be converted to a
+         * java.util.Map<java.lang.String,java.util.Properties> type.
+         */
+        public T resourceOptions(String resourceOptions) {
+            this.properties.put("resourceOptions", resourceOptions);
+            return (T) this;
+        }
+        /**
          * Sets whether synchronous processing should be strictly used, or Camel
          * is allowed to use asynchronous processing (if supported). The option
          * is a boolean type.
@@ -184,6 +283,15 @@ public interface AtomixMessagingEndpointBuilder {
             this.properties.put("synchronous", synchronous);
             return (T) this;
         }
+        /**
+         * Sets whether synchronous processing should be strictly used, or Camel
+         * is allowed to use asynchronous processing (if supported). The option
+         * will be converted to a boolean type.
+         */
+        public T synchronous(String synchronous) {
+            this.properties.put("synchronous", synchronous);
+            return (T) this;
+        }
     }
 
     public static class AtomixMessagingConsumerBuilder
@@ -209,6 +317,20 @@ public interface AtomixMessagingEndpointBuilder {
             return (AtomixMessagingConsumerBuilder) this;
         }
         /**
+         * 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. The option will be converted to a boolean type.
+         */
+        public AtomixMessagingConsumerBuilder bridgeErrorHandler(
+                String bridgeErrorHandler) {
+            this.properties.put("bridgeErrorHandler", bridgeErrorHandler);
+            return (AtomixMessagingConsumerBuilder) this;
+        }
+        /**
          * 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
@@ -221,6 +343,18 @@ public interface AtomixMessagingEndpointBuilder {
             return (AtomixMessagingConsumerBuilder) this;
         }
         /**
+         * 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. The option will be
+         * converted to a org.apache.camel.spi.ExceptionHandler type.
+         */
+        public AtomixMessagingConsumerBuilder exceptionHandler(
+                String exceptionHandler) {
+            this.properties.put("exceptionHandler", exceptionHandler);
+            return (AtomixMessagingConsumerBuilder) this;
+        }
+        /**
          * Sets the exchange pattern when the consumer creates an exchange. The
          * option is a org.apache.camel.ExchangePattern type.
          */
@@ -229,6 +363,15 @@ public interface AtomixMessagingEndpointBuilder {
             this.properties.put("exchangePattern", exchangePattern);
             return (AtomixMessagingConsumerBuilder) this;
         }
+        /**
+         * Sets the exchange pattern when the consumer creates an exchange. The
+         * option will be converted to a org.apache.camel.ExchangePattern type.
+         */
+        public AtomixMessagingConsumerBuilder exchangePattern(
+                String exchangePattern) {
+            this.properties.put("exchangePattern", exchangePattern);
+            return (AtomixMessagingConsumerBuilder) this;
+        }
     }
 
     public static class AtomixMessagingProducerBuilder
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AtomixMultiMapEndpointBuilder.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AtomixMultiMapEndpointBuilder.java
index 756ed85..3a34584 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AtomixMultiMapEndpointBuilder.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AtomixMultiMapEndpointBuilder.java
@@ -57,6 +57,14 @@ public interface AtomixMultiMapEndpointBuilder {
             return (T) this;
         }
         /**
+         * The Atomix instance to use. The option will be converted to a
+         * io.atomix.Atomix type.
+         */
+        public T atomix(String atomix) {
+            this.properties.put("atomix", atomix);
+            return (T) this;
+        }
+        /**
          * The Atomix configuration uri. The option is a java.lang.String type.
          */
         public T configurationUri(String configurationUri) {
@@ -72,6 +80,14 @@ public interface AtomixMultiMapEndpointBuilder {
             return (T) this;
         }
         /**
+         * The default action. The option will be converted to a
+         * org.apache.camel.component.atomix.client.multimap.AtomixMultiMap.Action type.
+         */
+        public T defaultAction(String defaultAction) {
+            this.properties.put("defaultAction", defaultAction);
+            return (T) this;
+        }
+        /**
          * The key to use if none is set in the header or to listen for events
          * for a specific key. The option is a java.lang.Object type.
          */
@@ -80,6 +96,15 @@ public interface AtomixMultiMapEndpointBuilder {
             return (T) this;
         }
         /**
+         * The key to use if none is set in the header or to listen for events
+         * for a specific key. The option will be converted to a
+         * java.lang.Object type.
+         */
+        public T key(String key) {
+            this.properties.put("key", key);
+            return (T) this;
+        }
+        /**
          * The address of the nodes composing the cluster. The option is a
          * java.lang.String type.
          */
@@ -88,6 +113,14 @@ public interface AtomixMultiMapEndpointBuilder {
             return (T) this;
         }
         /**
+         * The address of the nodes composing the cluster. The option will be
+         * converted to a java.lang.String type.
+         */
+        public T nodes(String nodes) {
+            this.properties.put("nodes", nodes);
+            return (T) this;
+        }
+        /**
          * The header that wil carry the result. The option is a
          * java.lang.String type.
          */
@@ -104,6 +137,14 @@ public interface AtomixMultiMapEndpointBuilder {
             return (T) this;
         }
         /**
+         * Sets the Atomix transport. The option will be converted to a
+         * io.atomix.catalyst.transport.Transport type.
+         */
+        public T transport(String transport) {
+            this.properties.put("transport", transport);
+            return (T) this;
+        }
+        /**
          * The resource ttl. The option is a long type.
          */
         public T ttl(long ttl) {
@@ -111,6 +152,13 @@ public interface AtomixMultiMapEndpointBuilder {
             return (T) this;
         }
         /**
+         * The resource ttl. The option will be converted to a long type.
+         */
+        public T ttl(String ttl) {
+            this.properties.put("ttl", ttl);
+            return (T) this;
+        }
+        /**
          * Whether the endpoint should use basic property binding (Camel 2.x) or
          * the newer property binding with additional capabilities. The option
          * is a boolean type.
@@ -120,6 +168,15 @@ public interface AtomixMultiMapEndpointBuilder {
             return (T) this;
         }
         /**
+         * Whether the endpoint should use basic property binding (Camel 2.x) or
+         * the newer property binding with additional capabilities. The option
+         * will be converted to a boolean type.
+         */
+        public T basicPropertyBinding(String basicPropertyBinding) {
+            this.properties.put("basicPropertyBinding", basicPropertyBinding);
+            return (T) this;
+        }
+        /**
          * The cluster wide default resource configuration. The option is a
          * java.util.Properties type.
          */
@@ -128,6 +185,14 @@ public interface AtomixMultiMapEndpointBuilder {
             return (T) this;
         }
         /**
+         * The cluster wide default resource configuration. The option will be
+         * converted to a java.util.Properties type.
+         */
+        public T defaultResourceConfig(String defaultResourceConfig) {
+            this.properties.put("defaultResourceConfig", defaultResourceConfig);
+            return (T) this;
+        }
+        /**
          * The local default resource options. The option is a
          * java.util.Properties type.
          */
@@ -136,6 +201,14 @@ public interface AtomixMultiMapEndpointBuilder {
             return (T) this;
         }
         /**
+         * The local default resource options. The option will be converted to a
+         * java.util.Properties type.
+         */
+        public T defaultResourceOptions(String defaultResourceOptions) {
+            this.properties.put("defaultResourceOptions", defaultResourceOptions);
+            return (T) this;
+        }
+        /**
          * Sets if the local member should join groups as PersistentMember or
          * not. If set to ephemeral the local member will receive an auto
          * generated ID thus the local one is ignored. The option is a boolean
@@ -146,6 +219,16 @@ public interface AtomixMultiMapEndpointBuilder {
             return (T) this;
         }
         /**
+         * Sets if the local member should join groups as PersistentMember or
+         * not. If set to ephemeral the local member will receive an auto
+         * generated ID thus the local one is ignored. The option will be
+         * converted to a boolean type.
+         */
+        public T ephemeral(String ephemeral) {
+            this.properties.put("ephemeral", ephemeral);
+            return (T) this;
+        }
+        /**
          * The read consistency level. The option is a
          * io.atomix.resource.ReadConsistency type.
          */
@@ -154,6 +237,14 @@ public interface AtomixMultiMapEndpointBuilder {
             return (T) this;
         }
         /**
+         * The read consistency level. The option will be converted to a
+         * io.atomix.resource.ReadConsistency type.
+         */
+        public T readConsistency(String readConsistency) {
+            this.properties.put("readConsistency", readConsistency);
+            return (T) this;
+        }
+        /**
          * Cluster wide resources configuration. The option is a
          * java.util.Map<java.lang.String,java.util.Properties> type.
          */
@@ -162,6 +253,14 @@ public interface AtomixMultiMapEndpointBuilder {
             return (T) this;
         }
         /**
+         * Cluster wide resources configuration. The option will be converted to
+         * a java.util.Map<java.lang.String,java.util.Properties> type.
+         */
+        public T resourceConfigs(String resourceConfigs) {
+            this.properties.put("resourceConfigs", resourceConfigs);
+            return (T) this;
+        }
+        /**
          * Local resources configurations. The option is a
          * java.util.Map<java.lang.String,java.util.Properties> type.
          */
@@ -170,6 +269,14 @@ public interface AtomixMultiMapEndpointBuilder {
             return (T) this;
         }
         /**
+         * Local resources configurations. The option will be converted to a
+         * java.util.Map<java.lang.String,java.util.Properties> type.
+         */
+        public T resourceOptions(String resourceOptions) {
+            this.properties.put("resourceOptions", resourceOptions);
+            return (T) this;
+        }
+        /**
          * Sets whether synchronous processing should be strictly used, or Camel
          * is allowed to use asynchronous processing (if supported). The option
          * is a boolean type.
@@ -178,6 +285,15 @@ public interface AtomixMultiMapEndpointBuilder {
             this.properties.put("synchronous", synchronous);
             return (T) this;
         }
+        /**
+         * Sets whether synchronous processing should be strictly used, or Camel
+         * is allowed to use asynchronous processing (if supported). The option
+         * will be converted to a boolean type.
+         */
+        public T synchronous(String synchronous) {
+            this.properties.put("synchronous", synchronous);
+            return (T) this;
+        }
     }
 
     public static class AtomixMultiMapConsumerBuilder
@@ -203,6 +319,20 @@ public interface AtomixMultiMapEndpointBuilder {
             return (AtomixMultiMapConsumerBuilder) this;
         }
         /**
+         * 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. The option will be converted to a boolean type.
+         */
+        public AtomixMultiMapConsumerBuilder bridgeErrorHandler(
+                String bridgeErrorHandler) {
+            this.properties.put("bridgeErrorHandler", bridgeErrorHandler);
+            return (AtomixMultiMapConsumerBuilder) this;
+        }
+        /**
          * 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
@@ -215,6 +345,18 @@ public interface AtomixMultiMapEndpointBuilder {
             return (AtomixMultiMapConsumerBuilder) this;
         }
         /**
+         * 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. The option will be
+         * converted to a org.apache.camel.spi.ExceptionHandler type.
+         */
+        public AtomixMultiMapConsumerBuilder exceptionHandler(
+                String exceptionHandler) {
+            this.properties.put("exceptionHandler", exceptionHandler);
+            return (AtomixMultiMapConsumerBuilder) this;
+        }
+        /**
          * Sets the exchange pattern when the consumer creates an exchange. The
          * option is a org.apache.camel.ExchangePattern type.
          */
@@ -223,6 +365,15 @@ public interface AtomixMultiMapEndpointBuilder {
             this.properties.put("exchangePattern", exchangePattern);
             return (AtomixMultiMapConsumerBuilder) this;
         }
+        /**
+         * Sets the exchange pattern when the consumer creates an exchange. The
+         * option will be converted to a org.apache.camel.ExchangePattern type.
+         */
+        public AtomixMultiMapConsumerBuilder exchangePattern(
+                String exchangePattern) {
+            this.properties.put("exchangePattern", exchangePattern);
+            return (AtomixMultiMapConsumerBuilder) this;
+        }
     }
 
     public static enum ReadConsistency {
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AtomixQueueEndpointBuilder.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AtomixQueueEndpointBuilder.java
index 998bcb8..47cbc6a 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AtomixQueueEndpointBuilder.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AtomixQueueEndpointBuilder.java
@@ -56,6 +56,14 @@ public interface AtomixQueueEndpointBuilder {
             return (T) this;
         }
         /**
+         * The Atomix instance to use. The option will be converted to a
+         * io.atomix.Atomix type.
+         */
+        public T atomix(String atomix) {
+            this.properties.put("atomix", atomix);
+            return (T) this;
+        }
+        /**
          * The Atomix configuration uri. The option is a java.lang.String type.
          */
         public T configurationUri(String configurationUri) {
@@ -72,6 +80,15 @@ public interface AtomixQueueEndpointBuilder {
             return (T) this;
         }
         /**
+         * The default action. The option will be converted to a
+         * org.apache.camel.component.atomix.client.queue.AtomixQueue.Action
+         * type.
+         */
+        public T defaultAction(String defaultAction) {
+            this.properties.put("defaultAction", defaultAction);
+            return (T) this;
+        }
+        /**
          * The address of the nodes composing the cluster. The option is a
          * java.lang.String type.
          */
@@ -80,6 +97,14 @@ public interface AtomixQueueEndpointBuilder {
             return (T) this;
         }
         /**
+         * The address of the nodes composing the cluster. The option will be
+         * converted to a java.lang.String type.
+         */
+        public T nodes(String nodes) {
+            this.properties.put("nodes", nodes);
+            return (T) this;
+        }
+        /**
          * The header that wil carry the result. The option is a
          * java.lang.String type.
          */
@@ -96,6 +121,14 @@ public interface AtomixQueueEndpointBuilder {
             return (T) this;
         }
         /**
+         * Sets the Atomix transport. The option will be converted to a
+         * io.atomix.catalyst.transport.Transport type.
+         */
+        public T transport(String transport) {
+            this.properties.put("transport", transport);
+            return (T) this;
+        }
+        /**
          * Whether the endpoint should use basic property binding (Camel 2.x) or
          * the newer property binding with additional capabilities. The option
          * is a boolean type.
@@ -105,6 +138,15 @@ public interface AtomixQueueEndpointBuilder {
             return (T) this;
         }
         /**
+         * Whether the endpoint should use basic property binding (Camel 2.x) or
+         * the newer property binding with additional capabilities. The option
+         * will be converted to a boolean type.
+         */
+        public T basicPropertyBinding(String basicPropertyBinding) {
+            this.properties.put("basicPropertyBinding", basicPropertyBinding);
+            return (T) this;
+        }
+        /**
          * The cluster wide default resource configuration. The option is a
          * java.util.Properties type.
          */
@@ -113,6 +155,14 @@ public interface AtomixQueueEndpointBuilder {
             return (T) this;
         }
         /**
+         * The cluster wide default resource configuration. The option will be
+         * converted to a java.util.Properties type.
+         */
+        public T defaultResourceConfig(String defaultResourceConfig) {
+            this.properties.put("defaultResourceConfig", defaultResourceConfig);
+            return (T) this;
+        }
+        /**
          * The local default resource options. The option is a
          * java.util.Properties type.
          */
@@ -121,6 +171,14 @@ public interface AtomixQueueEndpointBuilder {
             return (T) this;
         }
         /**
+         * The local default resource options. The option will be converted to a
+         * java.util.Properties type.
+         */
+        public T defaultResourceOptions(String defaultResourceOptions) {
+            this.properties.put("defaultResourceOptions", defaultResourceOptions);
+            return (T) this;
+        }
+        /**
          * Sets if the local member should join groups as PersistentMember or
          * not. If set to ephemeral the local member will receive an auto
          * generated ID thus the local one is ignored. The option is a boolean
@@ -131,6 +189,16 @@ public interface AtomixQueueEndpointBuilder {
             return (T) this;
         }
         /**
+         * Sets if the local member should join groups as PersistentMember or
+         * not. If set to ephemeral the local member will receive an auto
+         * generated ID thus the local one is ignored. The option will be
+         * converted to a boolean type.
+         */
+        public T ephemeral(String ephemeral) {
+            this.properties.put("ephemeral", ephemeral);
+            return (T) this;
+        }
+        /**
          * The read consistency level. The option is a
          * io.atomix.resource.ReadConsistency type.
          */
@@ -139,6 +207,14 @@ public interface AtomixQueueEndpointBuilder {
             return (T) this;
         }
         /**
+         * The read consistency level. The option will be converted to a
+         * io.atomix.resource.ReadConsistency type.
+         */
+        public T readConsistency(String readConsistency) {
+            this.properties.put("readConsistency", readConsistency);
+            return (T) this;
+        }
+        /**
          * Cluster wide resources configuration. The option is a
          * java.util.Map<java.lang.String,java.util.Properties> type.
          */
@@ -147,6 +223,14 @@ public interface AtomixQueueEndpointBuilder {
             return (T) this;
         }
         /**
+         * Cluster wide resources configuration. The option will be converted to
+         * a java.util.Map<java.lang.String,java.util.Properties> type.
+         */
+        public T resourceConfigs(String resourceConfigs) {
+            this.properties.put("resourceConfigs", resourceConfigs);
+            return (T) this;
+        }
+        /**
          * Local resources configurations. The option is a
          * java.util.Map<java.lang.String,java.util.Properties> type.
          */
@@ -155,6 +239,14 @@ public interface AtomixQueueEndpointBuilder {
             return (T) this;
         }
         /**
+         * Local resources configurations. The option will be converted to a
+         * java.util.Map<java.lang.String,java.util.Properties> type.
+         */
+        public T resourceOptions(String resourceOptions) {
+            this.properties.put("resourceOptions", resourceOptions);
+            return (T) this;
+        }
+        /**
          * Sets whether synchronous processing should be strictly used, or Camel
          * is allowed to use asynchronous processing (if supported). The option
          * is a boolean type.
@@ -163,6 +255,15 @@ public interface AtomixQueueEndpointBuilder {
             this.properties.put("synchronous", synchronous);
             return (T) this;
         }
+        /**
+         * Sets whether synchronous processing should be strictly used, or Camel
+         * is allowed to use asynchronous processing (if supported). The option
+         * will be converted to a boolean type.
+         */
+        public T synchronous(String synchronous) {
+            this.properties.put("synchronous", synchronous);
+            return (T) this;
+        }
     }
 
     public static class AtomixQueueConsumerBuilder
@@ -188,6 +289,20 @@ public interface AtomixQueueEndpointBuilder {
             return (AtomixQueueConsumerBuilder) this;
         }
         /**
+         * 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. The option will be converted to a boolean type.
+         */
+        public AtomixQueueConsumerBuilder bridgeErrorHandler(
+                String bridgeErrorHandler) {
+            this.properties.put("bridgeErrorHandler", bridgeErrorHandler);
+            return (AtomixQueueConsumerBuilder) this;
+        }
+        /**
          * 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
@@ -200,6 +315,18 @@ public interface AtomixQueueEndpointBuilder {
             return (AtomixQueueConsumerBuilder) this;
         }
         /**
+         * 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. The option will be
+         * converted to a org.apache.camel.spi.ExceptionHandler type.
+         */
+        public AtomixQueueConsumerBuilder exceptionHandler(
+                String exceptionHandler) {
+            this.properties.put("exceptionHandler", exceptionHandler);
+            return (AtomixQueueConsumerBuilder) this;
+        }
+        /**
          * Sets the exchange pattern when the consumer creates an exchange. The
          * option is a org.apache.camel.ExchangePattern type.
          */
@@ -208,6 +335,14 @@ public interface AtomixQueueEndpointBuilder {
             this.properties.put("exchangePattern", exchangePattern);
             return (AtomixQueueConsumerBuilder) this;
         }
+        /**
+         * Sets the exchange pattern when the consumer creates an exchange. The
+         * option will be converted to a org.apache.camel.ExchangePattern type.
+         */
+        public AtomixQueueConsumerBuilder exchangePattern(String exchangePattern) {
+            this.properties.put("exchangePattern", exchangePattern);
+            return (AtomixQueueConsumerBuilder) this;
+        }
     }
 
     public static class AtomixQueueProducerBuilder
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AtomixSetEndpointBuilder.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AtomixSetEndpointBuilder.java
index ad68432..0a0ee60 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AtomixSetEndpointBuilder.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AtomixSetEndpointBuilder.java
@@ -56,6 +56,14 @@ public interface AtomixSetEndpointBuilder {
             return (T) this;
         }
         /**
+         * The Atomix instance to use. The option will be converted to a
+         * io.atomix.Atomix type.
+         */
+        public T atomix(String atomix) {
+            this.properties.put("atomix", atomix);
+            return (T) this;
+        }
+        /**
          * The Atomix configuration uri. The option is a java.lang.String type.
          */
         public T configurationUri(String configurationUri) {
@@ -71,6 +79,14 @@ public interface AtomixSetEndpointBuilder {
             return (T) this;
         }
         /**
+         * The default action. The option will be converted to a
+         * org.apache.camel.component.atomix.client.set.AtomixSet.Action type.
+         */
+        public T defaultAction(String defaultAction) {
+            this.properties.put("defaultAction", defaultAction);
+            return (T) this;
+        }
+        /**
          * The address of the nodes composing the cluster. The option is a
          * java.lang.String type.
          */
@@ -79,6 +95,14 @@ public interface AtomixSetEndpointBuilder {
             return (T) this;
         }
         /**
+         * The address of the nodes composing the cluster. The option will be
+         * converted to a java.lang.String type.
+         */
+        public T nodes(String nodes) {
+            this.properties.put("nodes", nodes);
+            return (T) this;
+        }
+        /**
          * The header that wil carry the result. The option is a
          * java.lang.String type.
          */
@@ -95,6 +119,14 @@ public interface AtomixSetEndpointBuilder {
             return (T) this;
         }
         /**
+         * Sets the Atomix transport. The option will be converted to a
+         * io.atomix.catalyst.transport.Transport type.
+         */
+        public T transport(String transport) {
+            this.properties.put("transport", transport);
+            return (T) this;
+        }
+        /**
          * The resource ttl. The option is a long type.
          */
         public T ttl(long ttl) {
@@ -102,6 +134,13 @@ public interface AtomixSetEndpointBuilder {
             return (T) this;
         }
         /**
+         * The resource ttl. The option will be converted to a long type.
+         */
+        public T ttl(String ttl) {
+            this.properties.put("ttl", ttl);
+            return (T) this;
+        }
+        /**
          * Whether the endpoint should use basic property binding (Camel 2.x) or
          * the newer property binding with additional capabilities. The option
          * is a boolean type.
@@ -111,6 +150,15 @@ public interface AtomixSetEndpointBuilder {
             return (T) this;
         }
         /**
+         * Whether the endpoint should use basic property binding (Camel 2.x) or
+         * the newer property binding with additional capabilities. The option
+         * will be converted to a boolean type.
+         */
+        public T basicPropertyBinding(String basicPropertyBinding) {
+            this.properties.put("basicPropertyBinding", basicPropertyBinding);
+            return (T) this;
+        }
+        /**
          * The cluster wide default resource configuration. The option is a
          * java.util.Properties type.
          */
@@ -119,6 +167,14 @@ public interface AtomixSetEndpointBuilder {
             return (T) this;
         }
         /**
+         * The cluster wide default resource configuration. The option will be
+         * converted to a java.util.Properties type.
+         */
+        public T defaultResourceConfig(String defaultResourceConfig) {
+            this.properties.put("defaultResourceConfig", defaultResourceConfig);
+            return (T) this;
+        }
+        /**
          * The local default resource options. The option is a
          * java.util.Properties type.
          */
@@ -127,6 +183,14 @@ public interface AtomixSetEndpointBuilder {
             return (T) this;
         }
         /**
+         * The local default resource options. The option will be converted to a
+         * java.util.Properties type.
+         */
+        public T defaultResourceOptions(String defaultResourceOptions) {
+            this.properties.put("defaultResourceOptions", defaultResourceOptions);
+            return (T) this;
+        }
+        /**
          * Sets if the local member should join groups as PersistentMember or
          * not. If set to ephemeral the local member will receive an auto
          * generated ID thus the local one is ignored. The option is a boolean
@@ -137,6 +201,16 @@ public interface AtomixSetEndpointBuilder {
             return (T) this;
         }
         /**
+         * Sets if the local member should join groups as PersistentMember or
+         * not. If set to ephemeral the local member will receive an auto
+         * generated ID thus the local one is ignored. The option will be
+         * converted to a boolean type.
+         */
+        public T ephemeral(String ephemeral) {
+            this.properties.put("ephemeral", ephemeral);
+            return (T) this;
+        }
+        /**
          * The read consistency level. The option is a
          * io.atomix.resource.ReadConsistency type.
          */
@@ -145,6 +219,14 @@ public interface AtomixSetEndpointBuilder {
             return (T) this;
         }
         /**
+         * The read consistency level. The option will be converted to a
+         * io.atomix.resource.ReadConsistency type.
+         */
+        public T readConsistency(String readConsistency) {
+            this.properties.put("readConsistency", readConsistency);
+            return (T) this;
+        }
+        /**
          * Cluster wide resources configuration. The option is a
          * java.util.Map<java.lang.String,java.util.Properties> type.
          */
@@ -153,6 +235,14 @@ public interface AtomixSetEndpointBuilder {
             return (T) this;
         }
         /**
+         * Cluster wide resources configuration. The option will be converted to
+         * a java.util.Map<java.lang.String,java.util.Properties> type.
+         */
+        public T resourceConfigs(String resourceConfigs) {
+            this.properties.put("resourceConfigs", resourceConfigs);
+            return (T) this;
+        }
+        /**
          * Local resources configurations. The option is a
          * java.util.Map<java.lang.String,java.util.Properties> type.
          */
@@ -161,6 +251,14 @@ public interface AtomixSetEndpointBuilder {
             return (T) this;
         }
         /**
+         * Local resources configurations. The option will be converted to a
+         * java.util.Map<java.lang.String,java.util.Properties> type.
+         */
+        public T resourceOptions(String resourceOptions) {
+            this.properties.put("resourceOptions", resourceOptions);
+            return (T) this;
+        }
+        /**
          * Sets whether synchronous processing should be strictly used, or Camel
          * is allowed to use asynchronous processing (if supported). The option
          * is a boolean type.
@@ -169,6 +267,15 @@ public interface AtomixSetEndpointBuilder {
             this.properties.put("synchronous", synchronous);
             return (T) this;
         }
+        /**
+         * Sets whether synchronous processing should be strictly used, or Camel
+         * is allowed to use asynchronous processing (if supported). The option
+         * will be converted to a boolean type.
+         */
+        public T synchronous(String synchronous) {
+            this.properties.put("synchronous", synchronous);
+            return (T) this;
+        }
     }
 
     public static class AtomixSetConsumerBuilder
@@ -194,6 +301,20 @@ public interface AtomixSetEndpointBuilder {
             return (AtomixSetConsumerBuilder) this;
         }
         /**
+         * 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. The option will be converted to a boolean type.
+         */
+        public AtomixSetConsumerBuilder bridgeErrorHandler(
+                String bridgeErrorHandler) {
+            this.properties.put("bridgeErrorHandler", bridgeErrorHandler);
+            return (AtomixSetConsumerBuilder) this;
+        }
+        /**
          * 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
@@ -206,6 +327,17 @@ public interface AtomixSetEndpointBuilder {
             return (AtomixSetConsumerBuilder) this;
         }
         /**
+         * 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. The option will be
+         * converted to a org.apache.camel.spi.ExceptionHandler type.
+         */
+        public AtomixSetConsumerBuilder exceptionHandler(String exceptionHandler) {
+            this.properties.put("exceptionHandler", exceptionHandler);
+            return (AtomixSetConsumerBuilder) this;
+        }
+        /**
          * Sets the exchange pattern when the consumer creates an exchange. The
          * option is a org.apache.camel.ExchangePattern type.
          */
@@ -214,6 +346,14 @@ public interface AtomixSetEndpointBuilder {
             this.properties.put("exchangePattern", exchangePattern);
             return (AtomixSetConsumerBuilder) this;
         }
+        /**
+         * Sets the exchange pattern when the consumer creates an exchange. The
+         * option will be converted to a org.apache.camel.ExchangePattern type.
+         */
+        public AtomixSetConsumerBuilder exchangePattern(String exchangePattern) {
+            this.properties.put("exchangePattern", exchangePattern);
+            return (AtomixSetConsumerBuilder) this;
+        }
     }
 
     public static class AtomixSetProducerBuilder
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AtomixValueEndpointBuilder.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AtomixValueEndpointBuilder.java
index 60e0fda..3c8edf3 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AtomixValueEndpointBuilder.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AtomixValueEndpointBuilder.java
@@ -56,6 +56,14 @@ public interface AtomixValueEndpointBuilder {
             return (T) this;
         }
         /**
+         * The Atomix instance to use. The option will be converted to a
+         * io.atomix.Atomix type.
+         */
+        public T atomix(String atomix) {
+            this.properties.put("atomix", atomix);
+            return (T) this;
+        }
+        /**
          * The Atomix configuration uri. The option is a java.lang.String type.
          */
         public T configurationUri(String configurationUri) {
@@ -72,6 +80,15 @@ public interface AtomixValueEndpointBuilder {
             return (T) this;
         }
         /**
+         * The default action. The option will be converted to a
+         * org.apache.camel.component.atomix.client.value.AtomixValue.Action
+         * type.
+         */
+        public T defaultAction(String defaultAction) {
+            this.properties.put("defaultAction", defaultAction);
+            return (T) this;
+        }
+        /**
          * The address of the nodes composing the cluster. The option is a
          * java.lang.String type.
          */
@@ -80,6 +97,14 @@ public interface AtomixValueEndpointBuilder {
             return (T) this;
         }
         /**
+         * The address of the nodes composing the cluster. The option will be
+         * converted to a java.lang.String type.
+         */
+        public T nodes(String nodes) {
+            this.properties.put("nodes", nodes);
+            return (T) this;
+        }
+        /**
          * The header that wil carry the result. The option is a
          * java.lang.String type.
          */
@@ -96,6 +121,14 @@ public interface AtomixValueEndpointBuilder {
             return (T) this;
         }
         /**
+         * Sets the Atomix transport. The option will be converted to a
+         * io.atomix.catalyst.transport.Transport type.
+         */
+        public T transport(String transport) {
+            this.properties.put("transport", transport);
+            return (T) this;
+        }
+        /**
          * The resource ttl. The option is a long type.
          */
         public T ttl(long ttl) {
@@ -103,6 +136,13 @@ public interface AtomixValueEndpointBuilder {
             return (T) this;
         }
         /**
+         * The resource ttl. The option will be converted to a long type.
+         */
+        public T ttl(String ttl) {
+            this.properties.put("ttl", ttl);
+            return (T) this;
+        }
+        /**
          * Whether the endpoint should use basic property binding (Camel 2.x) or
          * the newer property binding with additional capabilities. The option
          * is a boolean type.
@@ -112,6 +152,15 @@ public interface AtomixValueEndpointBuilder {
             return (T) this;
         }
         /**
+         * Whether the endpoint should use basic property binding (Camel 2.x) or
+         * the newer property binding with additional capabilities. The option
+         * will be converted to a boolean type.
+         */
+        public T basicPropertyBinding(String basicPropertyBinding) {
+            this.properties.put("basicPropertyBinding", basicPropertyBinding);
+            return (T) this;
+        }
+        /**
          * The cluster wide default resource configuration. The option is a
          * java.util.Properties type.
          */
@@ -120,6 +169,14 @@ public interface AtomixValueEndpointBuilder {
             return (T) this;
         }
         /**
+         * The cluster wide default resource configuration. The option will be
+         * converted to a java.util.Properties type.
+         */
+        public T defaultResourceConfig(String defaultResourceConfig) {
+            this.properties.put("defaultResourceConfig", defaultResourceConfig);
+            return (T) this;
+        }
+        /**
          * The local default resource options. The option is a
          * java.util.Properties type.
          */
@@ -128,6 +185,14 @@ public interface AtomixValueEndpointBuilder {
             return (T) this;
         }
         /**
+         * The local default resource options. The option will be converted to a
+         * java.util.Properties type.
+         */
+        public T defaultResourceOptions(String defaultResourceOptions) {
+            this.properties.put("defaultResourceOptions", defaultResourceOptions);
+            return (T) this;
+        }
+        /**
          * Sets if the local member should join groups as PersistentMember or
          * not. If set to ephemeral the local member will receive an auto
          * generated ID thus the local one is ignored. The option is a boolean
@@ -138,6 +203,16 @@ public interface AtomixValueEndpointBuilder {
             return (T) this;
         }
         /**
+         * Sets if the local member should join groups as PersistentMember or
+         * not. If set to ephemeral the local member will receive an auto
+         * generated ID thus the local one is ignored. The option will be
+         * converted to a boolean type.
+         */
+        public T ephemeral(String ephemeral) {
+            this.properties.put("ephemeral", ephemeral);
+            return (T) this;
+        }
+        /**
          * The read consistency level. The option is a
          * io.atomix.resource.ReadConsistency type.
          */
@@ -146,6 +221,14 @@ public interface AtomixValueEndpointBuilder {
             return (T) this;
         }
         /**
+         * The read consistency level. The option will be converted to a
+         * io.atomix.resource.ReadConsistency type.
+         */
+        public T readConsistency(String readConsistency) {
+            this.properties.put("readConsistency", readConsistency);
+            return (T) this;
+        }
+        /**
          * Cluster wide resources configuration. The option is a
          * java.util.Map<java.lang.String,java.util.Properties> type.
          */
@@ -154,6 +237,14 @@ public interface AtomixValueEndpointBuilder {
             return (T) this;
         }
         /**
+         * Cluster wide resources configuration. The option will be converted to
+         * a java.util.Map<java.lang.String,java.util.Properties> type.
+         */
+        public T resourceConfigs(String resourceConfigs) {
+            this.properties.put("resourceConfigs", resourceConfigs);
+            return (T) this;
+        }
+        /**
          * Local resources configurations. The option is a
          * java.util.Map<java.lang.String,java.util.Properties> type.
          */
@@ -162,6 +253,14 @@ public interface AtomixValueEndpointBuilder {
             return (T) this;
         }
         /**
+         * Local resources configurations. The option will be converted to a
+         * java.util.Map<java.lang.String,java.util.Properties> type.
+         */
+        public T resourceOptions(String resourceOptions) {
+            this.properties.put("resourceOptions", resourceOptions);
+            return (T) this;
+        }
+        /**
          * Sets whether synchronous processing should be strictly used, or Camel
          * is allowed to use asynchronous processing (if supported). The option
          * is a boolean type.
@@ -170,6 +269,15 @@ public interface AtomixValueEndpointBuilder {
             this.properties.put("synchronous", synchronous);
             return (T) this;
         }
+        /**
+         * Sets whether synchronous processing should be strictly used, or Camel
+         * is allowed to use asynchronous processing (if supported). The option
+         * will be converted to a boolean type.
+         */
+        public T synchronous(String synchronous) {
+            this.properties.put("synchronous", synchronous);
+            return (T) this;
+        }
     }
 
     public static class AtomixValueConsumerBuilder
@@ -195,6 +303,20 @@ public interface AtomixValueEndpointBuilder {
             return (AtomixValueConsumerBuilder) this;
         }
         /**
+         * 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. The option will be converted to a boolean type.
+         */
+        public AtomixValueConsumerBuilder bridgeErrorHandler(
+                String bridgeErrorHandler) {
+            this.properties.put("bridgeErrorHandler", bridgeErrorHandler);
+            return (AtomixValueConsumerBuilder) this;
+        }
+        /**
          * 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
@@ -207,6 +329,18 @@ public interface AtomixValueEndpointBuilder {
             return (AtomixValueConsumerBuilder) this;
         }
         /**
+         * 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. The option will be
+         * converted to a org.apache.camel.spi.ExceptionHandler type.
+         */
+        public AtomixValueConsumerBuilder exceptionHandler(
+                String exceptionHandler) {
+            this.properties.put("exceptionHandler", exceptionHandler);
+            return (AtomixValueConsumerBuilder) this;
+        }
+        /**
          * Sets the exchange pattern when the consumer creates an exchange. The
          * option is a org.apache.camel.ExchangePattern type.
          */
@@ -215,6 +349,14 @@ public interface AtomixValueEndpointBuilder {
             this.properties.put("exchangePattern", exchangePattern);
             return (AtomixValueConsumerBuilder) this;
         }
+        /**
+         * Sets the exchange pattern when the consumer creates an exchange. The
+         * option will be converted to a org.apache.camel.ExchangePattern type.
+         */
+        public AtomixValueConsumerBuilder exchangePattern(String exchangePattern) {
+            this.properties.put("exchangePattern", exchangePattern);
+            return (AtomixValueConsumerBuilder) this;
+        }
     }
 
     public static class AtomixValueProducerBuilder
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AvroEndpointBuilder.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AvroEndpointBuilder.java
index bc77d77..1516430 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AvroEndpointBuilder.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AvroEndpointBuilder.java
@@ -47,6 +47,14 @@ public interface AvroEndpointBuilder {
             return (T) this;
         }
         /**
+         * Transport to use, can be either http or netty. The option will be
+         * converted to a org.apache.camel.component.avro.AvroTransport type.
+         */
+        public T transport(String transport) {
+            this.properties.put("transport", transport);
+            return (T) this;
+        }
+        /**
          * Port number to use. The option is a int type.
          */
         public T port(int port) {
@@ -54,6 +62,13 @@ public interface AvroEndpointBuilder {
             return (T) this;
         }
         /**
+         * Port number to use. The option will be converted to a int type.
+         */
+        public T port(String port) {
+            this.properties.put("port", port);
+            return (T) this;
+        }
+        /**
          * Hostname to use. The option is a java.lang.String type.
          */
         public T host(String host) {
@@ -76,6 +91,14 @@ public interface AvroEndpointBuilder {
             return (T) this;
         }
         /**
+         * Avro protocol to use. The option will be converted to a
+         * org.apache.avro.Protocol type.
+         */
+        public T protocol(String protocol) {
+            this.properties.put("protocol", protocol);
+            return (T) this;
+        }
+        /**
          * Avro protocol to use defined by the FQN class name. The option is a
          * java.lang.String type.
          */
@@ -100,6 +123,16 @@ public interface AvroEndpointBuilder {
             return (T) this;
         }
         /**
+         * If protocol object provided is reflection protocol. Should be used
+         * only with protocol parameter because for protocolClassName protocol
+         * type will be auto detected. The option will be converted to a boolean
+         * type.
+         */
+        public T reflectionProtocol(String reflectionProtocol) {
+            this.properties.put("reflectionProtocol", reflectionProtocol);
+            return (T) this;
+        }
+        /**
          * If true, consumer parameter won't be wrapped into array. Will fail if
          * protocol specifies more then 1 parameter for the message. The option
          * is a boolean type.
@@ -109,6 +142,15 @@ public interface AvroEndpointBuilder {
             return (T) this;
         }
         /**
+         * If true, consumer parameter won't be wrapped into array. Will fail if
+         * protocol specifies more then 1 parameter for the message. The option
+         * will be converted to a boolean type.
+         */
+        public T singleParameter(String singleParameter) {
+            this.properties.put("singleParameter", singleParameter);
+            return (T) this;
+        }
+        /**
          * Authority to use (username and password). The option is a
          * java.lang.String type.
          */
@@ -126,6 +168,15 @@ public interface AvroEndpointBuilder {
             return (T) this;
         }
         /**
+         * Whether the endpoint should use basic property binding (Camel 2.x) or
+         * the newer property binding with additional capabilities. The option
+         * will be converted to a boolean type.
+         */
+        public T basicPropertyBinding(String basicPropertyBinding) {
+            this.properties.put("basicPropertyBinding", basicPropertyBinding);
+            return (T) this;
+        }
+        /**
          * Sets whether synchronous processing should be strictly used, or Camel
          * is allowed to use asynchronous processing (if supported). The option
          * is a boolean type.
@@ -134,6 +185,15 @@ public interface AvroEndpointBuilder {
             this.properties.put("synchronous", synchronous);
             return (T) this;
         }
+        /**
+         * Sets whether synchronous processing should be strictly used, or Camel
+         * is allowed to use asynchronous processing (if supported). The option
+         * will be converted to a boolean type.
+         */
+        public T synchronous(String synchronous) {
+            this.properties.put("synchronous", synchronous);
+            return (T) this;
+        }
     }
 
     public static class AvroConsumerBuilder
@@ -158,6 +218,19 @@ public interface AvroEndpointBuilder {
             return (AvroConsumerBuilder) this;
         }
         /**
+         * 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. The option will be converted to a boolean type.
+         */
+        public AvroConsumerBuilder bridgeErrorHandler(String bridgeErrorHandler) {
+            this.properties.put("bridgeErrorHandler", bridgeErrorHandler);
+            return (AvroConsumerBuilder) this;
+        }
+        /**
          * 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
@@ -170,6 +243,17 @@ public interface AvroEndpointBuilder {
             return (AvroConsumerBuilder) this;
         }
         /**
+         * 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. The option will be
+         * converted to a org.apache.camel.spi.ExceptionHandler type.
+         */
+        public AvroConsumerBuilder exceptionHandler(String exceptionHandler) {
+            this.properties.put("exceptionHandler", exceptionHandler);
+            return (AvroConsumerBuilder) this;
+        }
+        /**
          * Sets the exchange pattern when the consumer creates an exchange. The
          * option is a org.apache.camel.ExchangePattern type.
          */
@@ -178,6 +262,14 @@ public interface AvroEndpointBuilder {
             this.properties.put("exchangePattern", exchangePattern);
             return (AvroConsumerBuilder) this;
         }
+        /**
+         * Sets the exchange pattern when the consumer creates an exchange. The
+         * option will be converted to a org.apache.camel.ExchangePattern type.
+         */
+        public AvroConsumerBuilder exchangePattern(String exchangePattern) {
+            this.properties.put("exchangePattern", exchangePattern);
+            return (AvroConsumerBuilder) this;
+        }
     }
 
     public static class AvroProducerBuilder
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/BeanEndpointBuilder.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/BeanEndpointBuilder.java
index d356bec..403af92 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/BeanEndpointBuilder.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/BeanEndpointBuilder.java
@@ -63,6 +63,15 @@ public interface BeanEndpointBuilder {
             return (T) this;
         }
         /**
+         * Whether the endpoint should use basic property binding (Camel 2.x) or
+         * the newer property binding with additional capabilities. The option
+         * will be converted to a boolean type.
+         */
+        public T basicPropertyBinding(String basicPropertyBinding) {
+            this.properties.put("basicPropertyBinding", basicPropertyBinding);
+            return (T) this;
+        }
+        /**
          * If enabled, Camel will cache the result of the first Registry
          * look-up. Cache can be enabled if the bean in the Registry is defined
          * as a singleton scope. The option is a java.lang.Boolean type.
@@ -72,6 +81,16 @@ public interface BeanEndpointBuilder {
             return (T) this;
         }
         /**
+         * If enabled, Camel will cache the result of the first Registry
+         * look-up. Cache can be enabled if the bean in the Registry is defined
+         * as a singleton scope. The option will be converted to a
+         * java.lang.Boolean type.
+         */
+        public T cache(String cache) {
+            this.properties.put("cache", cache);
+            return (T) this;
+        }
+        /**
          * Used for configuring additional properties on the bean. The option is
          * a java.util.Map<java.lang.String,java.lang.Object> type.
          */
@@ -80,6 +99,15 @@ public interface BeanEndpointBuilder {
             return (T) this;
         }
         /**
+         * Used for configuring additional properties on the bean. The option
+         * will be converted to a
+         * java.util.Map<java.lang.String,java.lang.Object> type.
+         */
+        public T parameters(String parameters) {
+            this.properties.put("parameters", parameters);
+            return (T) this;
+        }
+        /**
          * Sets whether synchronous processing should be strictly used, or Camel
          * is allowed to use asynchronous processing (if supported). The option
          * is a boolean type.
@@ -88,6 +116,15 @@ public interface BeanEndpointBuilder {
             this.properties.put("synchronous", synchronous);
             return (T) this;
         }
+        /**
+         * Sets whether synchronous processing should be strictly used, or Camel
+         * is allowed to use asynchronous processing (if supported). The option
+         * will be converted to a boolean type.
+         */
+        public T synchronous(String synchronous) {
+            this.properties.put("synchronous", synchronous);
+            return (T) this;
+        }
     }
 
     public static class BeanProducerBuilder
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/BeanValidatorEndpointBuilder.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/BeanValidatorEndpointBuilder.java
index bbecb82..53d756a 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/BeanValidatorEndpointBuilder.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/BeanValidatorEndpointBuilder.java
@@ -54,6 +54,14 @@ public interface BeanValidatorEndpointBuilder {
             return (T) this;
         }
         /**
+         * To use a custom ConstraintValidatorFactory. The option will be
+         * converted to a javax.validation.ConstraintValidatorFactory type.
+         */
+        public T constraintValidatorFactory(String constraintValidatorFactory) {
+            this.properties.put("constraintValidatorFactory", constraintValidatorFactory);
+            return (T) this;
+        }
+        /**
          * To use a custom validation group. The option is a java.lang.String
          * type.
          */
@@ -70,6 +78,14 @@ public interface BeanValidatorEndpointBuilder {
             return (T) this;
         }
         /**
+         * To use a custom MessageInterpolator. The option will be converted to
+         * a javax.validation.MessageInterpolator type.
+         */
+        public T messageInterpolator(String messageInterpolator) {
+            this.properties.put("messageInterpolator", messageInterpolator);
+            return (T) this;
+        }
+        /**
          * To use a custom TraversableResolver. The option is a
          * javax.validation.TraversableResolver type.
          */
@@ -78,6 +94,14 @@ public interface BeanValidatorEndpointBuilder {
             return (T) this;
         }
         /**
+         * To use a custom TraversableResolver. The option will be converted to
+         * a javax.validation.TraversableResolver type.
+         */
+        public T traversableResolver(String traversableResolver) {
+            this.properties.put("traversableResolver", traversableResolver);
+            return (T) this;
+        }
+        /**
          * To use a a custom ValidationProviderResolver. The option is a
          * javax.validation.ValidationProviderResolver type.
          */
@@ -86,6 +110,14 @@ public interface BeanValidatorEndpointBuilder {
             return (T) this;
         }
         /**
+         * To use a a custom ValidationProviderResolver. The option will be
+         * converted to a javax.validation.ValidationProviderResolver type.
+         */
+        public T validationProviderResolver(String validationProviderResolver) {
+            this.properties.put("validationProviderResolver", validationProviderResolver);
+            return (T) this;
+        }
+        /**
          * Whether the endpoint should use basic property binding (Camel 2.x) or
          * the newer property binding with additional capabilities. The option
          * is a boolean type.
@@ -95,6 +127,15 @@ public interface BeanValidatorEndpointBuilder {
             return (T) this;
         }
         /**
+         * Whether the endpoint should use basic property binding (Camel 2.x) or
+         * the newer property binding with additional capabilities. The option
+         * will be converted to a boolean type.
+         */
+        public T basicPropertyBinding(String basicPropertyBinding) {
+            this.properties.put("basicPropertyBinding", basicPropertyBinding);
+            return (T) this;
+        }
+        /**
          * Sets whether synchronous processing should be strictly used, or Camel
          * is allowed to use asynchronous processing (if supported). The option
          * is a boolean type.
@@ -103,6 +144,15 @@ public interface BeanValidatorEndpointBuilder {
             this.properties.put("synchronous", synchronous);
             return (T) this;
         }
+        /**
+         * Sets whether synchronous processing should be strictly used, or Camel
+         * is allowed to use asynchronous processing (if supported). The option
+         * will be converted to a boolean type.
+         */
+        public T synchronous(String synchronous) {
+            this.properties.put("synchronous", synchronous);
+            return (T) this;
+        }
     }
 
     public static class BeanValidatorProducerBuilder
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/BeanstalkEndpointBuilder.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/BeanstalkEndpointBuilder.java
index bd1044b..90dfe0f 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/BeanstalkEndpointBuilder.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/BeanstalkEndpointBuilder.java
@@ -68,6 +68,21 @@ public interface BeanstalkEndpointBuilder {
             return (T) this;
         }
         /**
+         * put means to put the job into Beanstalk. Job body is specified in the
+         * Camel message body. Job ID will be returned in beanstalk.jobId
+         * message header. delete, release, touch or bury expect Job ID in the
+         * message header beanstalk.jobId. Result of the operation is returned
+         * in beanstalk.result message header kick expects the number of jobs to
+         * kick in the message body and returns the number of jobs actually
+         * kicked out in the message header beanstalk.result. The option will be
+         * converted to a org.apache.camel.component.beanstalk.BeanstalkCommand
+         * type.
+         */
+        public T command(String command) {
+            this.properties.put("command", command);
+            return (T) this;
+        }
+        /**
          * Job delay in seconds. The option is a int type.
          */
         public T jobDelay(int jobDelay) {
@@ -75,6 +90,13 @@ public interface BeanstalkEndpointBuilder {
             return (T) this;
         }
         /**
+         * Job delay in seconds. The option will be converted to a int type.
+         */
+        public T jobDelay(String jobDelay) {
+            this.properties.put("jobDelay", jobDelay);
+            return (T) this;
+        }
+        /**
          * Job priority. (0 is the highest, see Beanstalk protocol). The option
          * is a long type.
          */
@@ -83,6 +105,14 @@ public interface BeanstalkEndpointBuilder {
             return (T) this;
         }
         /**
+         * Job priority. (0 is the highest, see Beanstalk protocol). The option
+         * will be converted to a long type.
+         */
+        public T jobPriority(String jobPriority) {
+            this.properties.put("jobPriority", jobPriority);
+            return (T) this;
+        }
+        /**
          * Job time to run in seconds. (when 0, the beanstalkd daemon raises it
          * to 1 automatically, see Beanstalk protocol). The option is a int
          * type.
@@ -92,6 +122,15 @@ public interface BeanstalkEndpointBuilder {
             return (T) this;
         }
         /**
+         * Job time to run in seconds. (when 0, the beanstalkd daemon raises it
+         * to 1 automatically, see Beanstalk protocol). The option will be
+         * converted to a int type.
+         */
+        public T jobTimeToRun(String jobTimeToRun) {
+            this.properties.put("jobTimeToRun", jobTimeToRun);
+            return (T) this;
+        }
+        /**
          * Whether the endpoint should use basic property binding (Camel 2.x) or
          * the newer property binding with additional capabilities. The option
          * is a boolean type.
@@ -101,6 +140,15 @@ public interface BeanstalkEndpointBuilder {
             return (T) this;
         }
         /**
+         * Whether the endpoint should use basic property binding (Camel 2.x) or
+         * the newer property binding with additional capabilities. The option
+         * will be converted to a boolean type.
+         */
+        public T basicPropertyBinding(String basicPropertyBinding) {
+            this.properties.put("basicPropertyBinding", basicPropertyBinding);
+            return (T) this;
+        }
+        /**
          * Sets whether synchronous processing should be strictly used, or Camel
          * is allowed to use asynchronous processing (if supported). The option
          * is a boolean type.
@@ -109,6 +157,15 @@ public interface BeanstalkEndpointBuilder {
             this.properties.put("synchronous", synchronous);
             return (T) this;
         }
+        /**
+         * Sets whether synchronous processing should be strictly used, or Camel
+         * is allowed to use asynchronous processing (if supported). The option
+         * will be converted to a boolean type.
+         */
+        public T synchronous(String synchronous) {
+            this.properties.put("synchronous", synchronous);
+            return (T) this;
+        }
     }
 
     public static class BeanstalkConsumerBuilder
@@ -128,6 +185,14 @@ public interface BeanstalkEndpointBuilder {
             return (BeanstalkConsumerBuilder) this;
         }
         /**
+         * Whether to wait for job to complete before ack the job from
+         * beanstalk. The option will be converted to a boolean type.
+         */
+        public BeanstalkConsumerBuilder awaitJob(String awaitJob) {
+            this.properties.put("awaitJob", awaitJob);
+            return (BeanstalkConsumerBuilder) this;
+        }
+        /**
          * 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
@@ -142,6 +207,20 @@ public interface BeanstalkEndpointBuilder {
             return (BeanstalkConsumerBuilder) this;
         }
         /**
+         * 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. The option will be converted to a boolean type.
+         */
+        public BeanstalkConsumerBuilder bridgeErrorHandler(
+                String bridgeErrorHandler) {
+            this.properties.put("bridgeErrorHandler", bridgeErrorHandler);
+            return (BeanstalkConsumerBuilder) this;
+        }
+        /**
          * Command to use when processing failed. The option is a
          * org.apache.camel.component.beanstalk.BeanstalkCommand type.
          */
@@ -150,6 +229,14 @@ public interface BeanstalkEndpointBuilder {
             return (BeanstalkConsumerBuilder) this;
         }
         /**
+         * Command to use when processing failed. The option will be converted
+         * to a org.apache.camel.component.beanstalk.BeanstalkCommand type.
+         */
+        public BeanstalkConsumerBuilder onFailure(String onFailure) {
+            this.properties.put("onFailure", onFailure);
+            return (BeanstalkConsumerBuilder) this;
+        }
+        /**
          * If the polling consumer did not poll any files, you can enable this
          * option to send an empty message (no body) instead. The option is a
          * boolean type.
@@ -160,6 +247,16 @@ public interface BeanstalkEndpointBuilder {
             return (BeanstalkConsumerBuilder) this;
         }
         /**
+         * If the polling consumer did not poll any files, you can enable this
+         * option to send an empty message (no body) instead. The option will be
+         * converted to a boolean type.
+         */
+        public BeanstalkConsumerBuilder sendEmptyMessageWhenIdle(
+                String sendEmptyMessageWhenIdle) {
+            this.properties.put("sendEmptyMessageWhenIdle", sendEmptyMessageWhenIdle);
+            return (BeanstalkConsumerBuilder) this;
+        }
+        /**
          * Whether to use blockIO. The option is a boolean type.
          */
         public BeanstalkConsumerBuilder useBlockIO(boolean useBlockIO) {
@@ -167,6 +264,14 @@ public interface BeanstalkEndpointBuilder {
             return (BeanstalkConsumerBuilder) this;
         }
         /**
+         * Whether to use blockIO. The option will be converted to a boolean
+         * type.
+         */
+        public BeanstalkConsumerBuilder useBlockIO(String useBlockIO) {
+            this.properties.put("useBlockIO", useBlockIO);
+            return (BeanstalkConsumerBuilder) this;
+        }
+        /**
          * 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
@@ -179,6 +284,17 @@ public interface BeanstalkEndpointBuilder {
             return (BeanstalkConsumerBuilder) this;
         }
         /**
+         * 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. The option will be
+         * converted to a org.apache.camel.spi.ExceptionHandler type.
+         */
+        public BeanstalkConsumerBuilder exceptionHandler(String exceptionHandler) {
+            this.properties.put("exceptionHandler", exceptionHandler);
+            return (BeanstalkConsumerBuilder) this;
+        }
+        /**
          * Sets the exchange pattern when the consumer creates an exchange. The
          * option is a org.apache.camel.ExchangePattern type.
          */
@@ -188,6 +304,14 @@ public interface BeanstalkEndpointBuilder {
             return (BeanstalkConsumerBuilder) this;
         }
         /**
+         * Sets the exchange pattern when the consumer creates an exchange. The
+         * option will be converted to a org.apache.camel.ExchangePattern type.
+         */
+        public BeanstalkConsumerBuilder exchangePattern(String exchangePattern) {
+            this.properties.put("exchangePattern", exchangePattern);
+            return (BeanstalkConsumerBuilder) this;
+        }
+        /**
          * A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing
          * you to provide your custom implementation to control error handling
          * usually occurred during the poll operation before an Exchange have
@@ -200,6 +324,17 @@ public interface BeanstalkEndpointBuilder {
             return (BeanstalkConsumerBuilder) this;
         }
         /**
+         * A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing
+         * you to provide your custom implementation to control error handling
+         * usually occurred during the poll operation before an Exchange have
+         * been created and being routed in Camel. The option will be converted
+         * to a org.apache.camel.spi.PollingConsumerPollStrategy type.
+         */
+        public BeanstalkConsumerBuilder pollStrategy(String pollStrategy) {
+            this.properties.put("pollStrategy", pollStrategy);
+            return (BeanstalkConsumerBuilder) this;
+        }
+        /**
          * The number of subsequent error polls (failed due some error) that
          * should happen before the backoffMultipler should kick-in. The option
          * is a int type.
@@ -210,6 +345,16 @@ public interface BeanstalkEndpointBuilder {
             return (BeanstalkConsumerBuilder) this;
         }
         /**
+         * The number of subsequent error polls (failed due some error) that
+         * should happen before the backoffMultipler should kick-in. The option
+         * will be converted to a int type.
+         */
+        public BeanstalkConsumerBuilder backoffErrorThreshold(
+                String backoffErrorThreshold) {
+            this.properties.put("backoffErrorThreshold", backoffErrorThreshold);
+            return (BeanstalkConsumerBuilder) this;
+        }
+        /**
          * The number of subsequent idle polls that should happen before the
          * backoffMultipler should kick-in. The option is a int type.
          */
@@ -219,6 +364,16 @@ public interface BeanstalkEndpointBuilder {
             return (BeanstalkConsumerBuilder) this;
         }
         /**
+         * The number of subsequent idle polls that should happen before the
+         * backoffMultipler should kick-in. The option will be converted to a
+         * int type.
+         */
+        public BeanstalkConsumerBuilder backoffIdleThreshold(
+                String backoffIdleThreshold) {
+            this.properties.put("backoffIdleThreshold", backoffIdleThreshold);
+            return (BeanstalkConsumerBuilder) this;
+        }
+        /**
          * To let the scheduled polling consumer backoff if there has been a
          * number of subsequent idles/errors in a row. The multiplier is then
          * the number of polls that will be skipped before the next actual
@@ -231,6 +386,19 @@ public interface BeanstalkEndpointBuilder {
             return (BeanstalkConsumerBuilder) this;
         }
         /**
+         * To let the scheduled polling consumer backoff if there has been a
+         * number of subsequent idles/errors in a row. The multiplier is then
+         * the number of polls that will be skipped before the next actual
+         * attempt is happening again. When this option is in use then
+         * backoffIdleThreshold and/or backoffErrorThreshold must also be
+         * configured. The option will be converted to a int type.
+         */
+        public BeanstalkConsumerBuilder backoffMultiplier(
+                String backoffMultiplier) {
+            this.properties.put("backoffMultiplier", backoffMultiplier);
+            return (BeanstalkConsumerBuilder) this;
+        }
+        /**
          * Milliseconds before the next poll. You can also specify time values
          * using units, such as 60s (60 seconds), 5m30s (5 minutes and 30
          * seconds), and 1h (1 hour). The option is a long type.
@@ -240,6 +408,16 @@ public interface BeanstalkEndpointBuilder {
             return (BeanstalkConsumerBuilder) this;
         }
         /**
+         * Milliseconds before the next poll. You can also specify time values
+         * using units, such as 60s (60 seconds), 5m30s (5 minutes and 30
+         * seconds), and 1h (1 hour). The option will be converted to a long
+         * type.
+         */
+        public BeanstalkConsumerBuilder delay(String delay) {
+            this.properties.put("delay", delay);
+            return (BeanstalkConsumerBuilder) this;
+        }
+        /**
          * If greedy is enabled, then the ScheduledPollConsumer will run
          * immediately again, if the previous run polled 1 or more messages. The
          * option is a boolean type.
@@ -249,6 +427,15 @@ public interface BeanstalkEndpointBuilder {
             return (BeanstalkConsumerBuilder) this;
         }
         /**
+         * If greedy is enabled, then the ScheduledPollConsumer will run
+         * immediately again, if the previous run polled 1 or more messages. The
+         * option will be converted to a boolean type.
+         */
+        public BeanstalkConsumerBuilder greedy(String greedy) {
+            this.properties.put("greedy", greedy);
+            return (BeanstalkConsumerBuilder) this;
+        }
+        /**
          * Milliseconds before the first poll starts. You can also specify time
          * values using units, such as 60s (60 seconds), 5m30s (5 minutes and 30
          * seconds), and 1h (1 hour). The option is a long type.
@@ -258,6 +445,16 @@ public interface BeanstalkEndpointBuilder {
             return (BeanstalkConsumerBuilder) this;
         }
         /**
+         * Milliseconds before the first poll starts. You can also specify time
+         * values using units, such as 60s (60 seconds), 5m30s (5 minutes and 30
+         * seconds), and 1h (1 hour). The option will be converted to a long
+         * type.
+         */
+        public BeanstalkConsumerBuilder initialDelay(String initialDelay) {
+            this.properties.put("initialDelay", initialDelay);
+            return (BeanstalkConsumerBuilder) this;
+        }
+        /**
          * The consumer logs a start/complete log line when it polls. This
          * option allows you to configure the logging level for that. The option
          * is a org.apache.camel.LoggingLevel type.
@@ -268,6 +465,15 @@ public interface BeanstalkEndpointBuilder {
             return (BeanstalkConsumerBuilder) this;
         }
         /**
+         * The consumer logs a start/complete log line when it polls. This
+         * option allows you to configure the logging level for that. The option
+         * will be converted to a org.apache.camel.LoggingLevel type.
+         */
+        public BeanstalkConsumerBuilder runLoggingLevel(String runLoggingLevel) {
+            this.properties.put("runLoggingLevel", runLoggingLevel);
+            return (BeanstalkConsumerBuilder) this;
+        }
+        /**
          * Allows for configuring a custom/shared thread pool to use for the
          * consumer. By default each consumer has its own single threaded thread
          * pool. The option is a java.util.concurrent.ScheduledExecutorService
@@ -279,6 +485,17 @@ public interface BeanstalkEndpointBuilder {
             return (BeanstalkConsumerBuilder) this;
         }
         /**
+         * Allows for configuring a custom/shared thread pool to use for the
+         * consumer. By default each consumer has its own single threaded thread
+         * pool. The option will be converted to a
+         * java.util.concurrent.ScheduledExecutorService type.
+         */
+        public BeanstalkConsumerBuilder scheduledExecutorService(
+                String scheduledExecutorService) {
+            this.properties.put("scheduledExecutorService", scheduledExecutorService);
+            return (BeanstalkConsumerBuilder) this;
+        }
+        /**
          * To use a cron scheduler from either camel-spring or camel-quartz2
          * component. The option is a
          * org.apache.camel.spi.ScheduledPollConsumerScheduler type.
@@ -289,6 +506,15 @@ public interface BeanstalkEndpointBuilder {
             return (BeanstalkConsumerBuilder) this;
         }
         /**
+         * To use a cron scheduler from either camel-spring or camel-quartz2
+         * component. The option will be converted to a
+         * org.apache.camel.spi.ScheduledPollConsumerScheduler type.
+         */
+        public BeanstalkConsumerBuilder scheduler(String scheduler) {
+            this.properties.put("scheduler", scheduler);
+            return (BeanstalkConsumerBuilder) this;
+        }
+        /**
          * To configure additional properties when using a custom scheduler or
          * any of the Quartz2, Spring based scheduler. The option is a
          * java.util.Map<java.lang.String,java.lang.Object> type.
@@ -299,6 +525,16 @@ public interface BeanstalkEndpointBuilder {
             return (BeanstalkConsumerBuilder) this;
         }
         /**
+         * To configure additional properties when using a custom scheduler or
+         * any of the Quartz2, Spring based scheduler. The option will be
+         * converted to a java.util.Map<java.lang.String,java.lang.Object> type.
+         */
+        public BeanstalkConsumerBuilder schedulerProperties(
+                String schedulerProperties) {
+            this.properties.put("schedulerProperties", schedulerProperties);
+            return (BeanstalkConsumerBuilder) this;
+        }
+        /**
          * Whether the scheduler should be auto started. The option is a boolean
          * type.
          */
@@ -307,6 +543,14 @@ public interface BeanstalkEndpointBuilder {
             return (BeanstalkConsumerBuilder) this;
         }
         /**
+         * Whether the scheduler should be auto started. The option will be
+         * converted to a boolean type.
+         */
+        public BeanstalkConsumerBuilder startScheduler(String startScheduler) {
+            this.properties.put("startScheduler", startScheduler);
+            return (BeanstalkConsumerBuilder) this;
+        }
+        /**
          * Time unit for initialDelay and delay options. The option is a
          * java.util.concurrent.TimeUnit type.
          */
@@ -315,6 +559,14 @@ public interface BeanstalkEndpointBuilder {
             return (BeanstalkConsumerBuilder) this;
         }
         /**
+         * Time unit for initialDelay and delay options. The option will be
+         * converted to a java.util.concurrent.TimeUnit type.
+         */
+        public BeanstalkConsumerBuilder timeUnit(String timeUnit) {
+            this.properties.put("timeUnit", timeUnit);
+            return (BeanstalkConsumerBuilder) this;
+        }
+        /**
          * Controls if fixed delay or fixed rate is used. See
          * ScheduledExecutorService in JDK for details. The option is a boolean
          * type.
@@ -323,6 +575,15 @@ public interface BeanstalkEndpointBuilder {
             this.properties.put("useFixedDelay", useFixedDelay);
             return (BeanstalkConsumerBuilder) this;
         }
+        /**
+         * Controls if fixed delay or fixed rate is used. See
+         * ScheduledExecutorService in JDK for details. The option will be
+         * converted to a boolean type.
+         */
+        public BeanstalkConsumerBuilder useFixedDelay(String useFixedDelay) {
+            this.properties.put("useFixedDelay", useFixedDelay);
+            return (BeanstalkConsumerBuilder) this;
+        }
     }
 
     public static class BeanstalkProducerBuilder
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/BlobServiceEndpointBuilder.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/BlobServiceEndpointBuilder.java
index 172bc6c..257226b 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/BlobServiceEndpointBuilder.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/BlobServiceEndpointBuilder.java
@@ -56,6 +56,14 @@ public interface BlobServiceEndpointBuilder {
             return (T) this;
         }
         /**
+         * The blob service client. The option will be converted to a
+         * com.microsoft.azure.storage.blob.CloudBlob type.
+         */
+        public T azureBlobClient(String azureBlobClient) {
+            this.properties.put("azureBlobClient", azureBlobClient);
+            return (T) this;
+        }
+        /**
          * Set the blob offset for the upload or download operations, default is
          * 0. The option is a java.lang.Long type.
          */
@@ -64,6 +72,14 @@ public interface BlobServiceEndpointBuilder {
             return (T) this;
         }
         /**
+         * Set the blob offset for the upload or download operations, default is
+         * 0. The option will be converted to a java.lang.Long type.
+         */
+        public T blobOffset(String blobOffset) {
+            this.properties.put("blobOffset", blobOffset);
+            return (T) this;
+        }
+        /**
          * Set a blob type, 'blockblob' is default. The option is a
          * org.apache.camel.component.azure.blob.BlobType type.
          */
@@ -72,6 +88,14 @@ public interface BlobServiceEndpointBuilder {
             return (T) this;
         }
         /**
+         * Set a blob type, 'blockblob' is default. The option will be converted
+         * to a org.apache.camel.component.azure.blob.BlobType type.
+         */
+        public T blobType(String blobType) {
+            this.properties.put("blobType", blobType);
+            return (T) this;
+        }
+        /**
          * Close the stream after read or keep it open, default is true. The
          * option is a boolean type.
          */
@@ -80,6 +104,14 @@ public interface BlobServiceEndpointBuilder {
             return (T) this;
         }
         /**
+         * Close the stream after read or keep it open, default is true. The
+         * option will be converted to a boolean type.
+         */
+        public T closeStreamAfterRead(String closeStreamAfterRead) {
+            this.properties.put("closeStreamAfterRead", closeStreamAfterRead);
+            return (T) this;
+        }
+        /**
          * Set the storage credentials, required in most cases. The option is a
          * com.microsoft.azure.storage.StorageCredentials type.
          */
@@ -88,6 +120,15 @@ public interface BlobServiceEndpointBuilder {
             return (T) this;
         }
         /**
+         * Set the storage credentials, required in most cases. The option will
+         * be converted to a com.microsoft.azure.storage.StorageCredentials
+         * type.
+         */
+        public T credentials(String credentials) {
+            this.properties.put("credentials", credentials);
+            return (T) this;
+        }
+        /**
          * Set the data length for the download or page blob upload operations.
          * The option is a java.lang.Long type.
          */
@@ -96,6 +137,14 @@ public interface BlobServiceEndpointBuilder {
             return (T) this;
         }
         /**
+         * Set the data length for the download or page blob upload operations.
+         * The option will be converted to a java.lang.Long type.
+         */
+        public T dataLength(String dataLength) {
+            this.properties.put("dataLength", dataLength);
+            return (T) this;
+        }
+        /**
          * Set the file directory where the downloaded blobs will be saved to.
          * The option is a java.lang.String type.
          */
@@ -113,6 +162,15 @@ public interface BlobServiceEndpointBuilder {
             return (T) this;
         }
         /**
+         * Storage resources can be public for reading their content, if this
+         * property is enabled then the credentials do not have to be set. The
+         * option will be converted to a boolean type.
+         */
+        public T publicForRead(String publicForRead) {
+            this.properties.put("publicForRead", publicForRead);
+            return (T) this;
+        }
+        /**
          * Set the minimum read size in bytes when reading the blob content. The
          * option is a int type.
          */
@@ -121,6 +179,14 @@ public interface BlobServiceEndpointBuilder {
             return (T) this;
         }
         /**
+         * Set the minimum read size in bytes when reading the blob content. The
+         * option will be converted to a int type.
+         */
+        public T streamReadSize(String streamReadSize) {
+            this.properties.put("streamReadSize", streamReadSize);
+            return (T) this;
+        }
+        /**
          * Whether the endpoint should use basic property binding (Camel 2.x) or
          * the newer property binding with additional capabilities. The option
          * is a boolean type.
@@ -130,6 +196,15 @@ public interface BlobServiceEndpointBuilder {
             return (T) this;
         }
         /**
+         * Whether the endpoint should use basic property binding (Camel 2.x) or
+         * the newer property binding with additional capabilities. The option
+         * will be converted to a boolean type.
+         */
+        public T basicPropertyBinding(String basicPropertyBinding) {
+            this.properties.put("basicPropertyBinding", basicPropertyBinding);
+            return (T) this;
+        }
+        /**
          * Sets whether synchronous processing should be strictly used, or Camel
          * is allowed to use asynchronous processing (if supported). The option
          * is a boolean type.
@@ -138,6 +213,15 @@ public interface BlobServiceEndpointBuilder {
             this.properties.put("synchronous", synchronous);
             return (T) this;
         }
+        /**
+         * Sets whether synchronous processing should be strictly used, or Camel
+         * is allowed to use asynchronous processing (if supported). The option
+         * will be converted to a boolean type.
+         */
+        public T synchronous(String synchronous) {
+            this.properties.put("synchronous", synchronous);
+            return (T) this;
+        }
     }
 
     public static class BlobServiceConsumerBuilder
@@ -163,6 +247,20 @@ public interface BlobServiceEndpointBuilder {
             return (BlobServiceConsumerBuilder) this;
         }
         /**
+         * 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. The option will be converted to a boolean type.
+         */
+        public BlobServiceConsumerBuilder bridgeErrorHandler(
+                String bridgeErrorHandler) {
+            this.properties.put("bridgeErrorHandler", bridgeErrorHandler);
+            return (BlobServiceConsumerBuilder) this;
+        }
+        /**
          * 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
@@ -175,6 +273,18 @@ public interface BlobServiceEndpointBuilder {
             return (BlobServiceConsumerBuilder) this;
         }
         /**
+         * 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. The option will be
+         * converted to a org.apache.camel.spi.ExceptionHandler type.
+         */
+        public BlobServiceConsumerBuilder exceptionHandler(
+                String exceptionHandler) {
+            this.properties.put("exceptionHandler", exceptionHandler);
+            return (BlobServiceConsumerBuilder) this;
+        }
+        /**
          * Sets the exchange pattern when the consumer creates an exchange. The
          * option is a org.apache.camel.ExchangePattern type.
          */
@@ -183,6 +293,14 @@ public interface BlobServiceEndpointBuilder {
             this.properties.put("exchangePattern", exchangePattern);
             return (BlobServiceConsumerBuilder) this;
         }
+        /**
+         * Sets the exchange pattern when the consumer creates an exchange. The
+         * option will be converted to a org.apache.camel.ExchangePattern type.
+         */
+        public BlobServiceConsumerBuilder exchangePattern(String exchangePattern) {
+            this.properties.put("exchangePattern", exchangePattern);
+            return (BlobServiceConsumerBuilder) this;
+        }
     }
 
     public static class BlobServiceProducerBuilder
@@ -203,6 +321,14 @@ public interface BlobServiceEndpointBuilder {
             return (BlobServiceProducerBuilder) this;
         }
         /**
+         * Set the blob meta-data. The option will be converted to a
+         * java.util.Map<java.lang.String,java.lang.String> type.
+         */
+        public BlobServiceProducerBuilder blobMetadata(String blobMetadata) {
+            this.properties.put("blobMetadata", blobMetadata);
+            return (BlobServiceProducerBuilder) this;
+        }
+        /**
          * Set a prefix which can be used for listing the blobs. The option is a
          * java.lang.String type.
          */
@@ -220,6 +346,15 @@ public interface BlobServiceEndpointBuilder {
             return (BlobServiceProducerBuilder) this;
         }
         /**
+         * Close the stream after write or keep it open, default is true. The
+         * option will be converted to a boolean type.
+         */
+        public BlobServiceProducerBuilder closeStreamAfterWrite(
+                String closeStreamAfterWrite) {
+            this.properties.put("closeStreamAfterWrite", closeStreamAfterWrite);
+            return (BlobServiceProducerBuilder) this;
+        }
+        /**
          * Blob service operation hint to the producer. The option is a
          * org.apache.camel.component.azure.blob.BlobServiceOperations type.
          */
@@ -229,6 +364,15 @@ public interface BlobServiceEndpointBuilder {
             return (BlobServiceProducerBuilder) this;
         }
         /**
+         * Blob service operation hint to the producer. The option will be
+         * converted to a
+         * org.apache.camel.component.azure.blob.BlobServiceOperations type.
+         */
+        public BlobServiceProducerBuilder operation(String operation) {
+            this.properties.put("operation", operation);
+            return (BlobServiceProducerBuilder) this;
+        }
+        /**
          * Set the size of the buffer for writing block and page blocks. The
          * option is a int type.
          */
@@ -237,6 +381,14 @@ public interface BlobServiceEndpointBuilder {
             return (BlobServiceProducerBuilder) this;
         }
         /**
+         * Set the size of the buffer for writing block and page blocks. The
+         * option will be converted to a int type.
+         */
+        public BlobServiceProducerBuilder streamWriteSize(String streamWriteSize) {
+            this.properties.put("streamWriteSize", streamWriteSize);
+            return (BlobServiceProducerBuilder) this;
+        }
+        /**
          * Specify if the flat or hierarchical blob listing should be used. The
          * option is a boolean type.
          */
@@ -244,6 +396,14 @@ public interface BlobServiceEndpointBuilder {
             this.properties.put("useFlatListing", useFlatListing);
             return (BlobServiceProducerBuilder) this;
         }
+        /**
+         * Specify if the flat or hierarchical blob listing should be used. The
+         * option will be converted to a boolean type.
+         */
+        public BlobServiceProducerBuilder useFlatListing(String useFlatListing) {
+            this.properties.put("useFlatListing", useFlatListing);
+            return (BlobServiceProducerBuilder) this;
+        }
     }
 
     public static enum BlobType {
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/BonitaEndpointBuilder.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/BonitaEndpointBuilder.java
index 6fed5d1..678a1b4e 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/BonitaEndpointBuilder.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/BonitaEndpointBuilder.java
@@ -47,6 +47,14 @@ public interface BonitaEndpointBuilder {
             return (T) this;
         }
         /**
+         * Operation to use. The option will be converted to a
+         * org.apache.camel.component.bonita.util.BonitaOperation type.
+         */
+        public T operation(String operation) {
+            this.properties.put("operation", operation);
+            return (T) this;
+        }
+        /**
          * Hostname where Bonita engine runs. The option is a java.lang.String
          * type.
          */
@@ -80,6 +88,15 @@ public interface BonitaEndpointBuilder {
             return (T) this;
         }
         /**
+         * Whether the endpoint should use basic property binding (Camel 2.x) or
+         * the newer property binding with additional capabilities. The option
+         * will be converted to a boolean type.
+         */
+        public T basicPropertyBinding(String basicPropertyBinding) {
+            this.properties.put("basicPropertyBinding", basicPropertyBinding);
+            return (T) this;
+        }
+        /**
          * Sets whether synchronous processing should be strictly used, or Camel
          * is allowed to use asynchronous processing (if supported). The option
          * is a boolean type.
@@ -89,6 +106,15 @@ public interface BonitaEndpointBuilder {
             return (T) this;
         }
         /**
+         * Sets whether synchronous processing should be strictly used, or Camel
+         * is allowed to use asynchronous processing (if supported). The option
+         * will be converted to a boolean type.
+         */
+        public T synchronous(String synchronous) {
+            this.properties.put("synchronous", synchronous);
+            return (T) this;
+        }
+        /**
          * Password to authenticate to Bonita engine. The option is a
          * java.lang.String type.
          */
@@ -129,6 +155,20 @@ public interface BonitaEndpointBuilder {
             return (BonitaConsumerBuilder) this;
         }
         /**
+         * 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. The option will be converted to a boolean type.
+         */
+        public BonitaConsumerBuilder bridgeErrorHandler(
+                String bridgeErrorHandler) {
+            this.properties.put("bridgeErrorHandler", bridgeErrorHandler);
+            return (BonitaConsumerBuilder) this;
+        }
+        /**
          * 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
@@ -141,6 +181,17 @@ public interface BonitaEndpointBuilder {
             return (BonitaConsumerBuilder) this;
         }
         /**
+         * 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. The option will be
+         * converted to a org.apache.camel.spi.ExceptionHandler type.
+         */
+        public BonitaConsumerBuilder exceptionHandler(String exceptionHandler) {
+            this.properties.put("exceptionHandler", exceptionHandler);
+            return (BonitaConsumerBuilder) this;
+        }
+        /**
          * Sets the exchange pattern when the consumer creates an exchange. The
          * option is a org.apache.camel.ExchangePattern type.
          */
@@ -149,6 +200,14 @@ public interface BonitaEndpointBuilder {
             this.properties.put("exchangePattern", exchangePattern);
             return (BonitaConsumerBuilder) this;
         }
+        /**
+         * Sets the exchange pattern when the consumer creates an exchange. The
+         * option will be converted to a org.apache.camel.ExchangePattern type.
+         */
+        public BonitaConsumerBuilder exchangePattern(String exchangePattern) {
+            this.properties.put("exchangePattern", exchangePattern);
+            return (BonitaConsumerBuilder) this;
+        }
     }
 
     public static enum BonitaOperation {
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/BoxEndpointBuilder.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/BoxEndpointBuilder.java
index ca7a180..1322227 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/BoxEndpointBuilder.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/BoxEndpointBuilder.java
@@ -49,6 +49,14 @@ public interface BoxEndpointBuilder {
             return (T) this;
         }
         /**
+         * What kind of operation to perform. The option will be converted to a
+         * org.apache.camel.component.box.internal.BoxApiName type.
+         */
+        public T apiName(String apiName) {
+            this.properties.put("apiName", apiName);
+            return (T) this;
+        }
+        /**
          * What sub operation to use for the selected operation. The option is a
          * java.lang.String type.
          */
@@ -97,6 +105,15 @@ public interface BoxEndpointBuilder {
             return (T) this;
         }
         /**
+         * Whether the endpoint should use basic property binding (Camel 2.x) or
+         * the newer property binding with additional capabilities. The option
+         * will be converted to a boolean type.
+         */
+        public T basicPropertyBinding(String basicPropertyBinding) {
+            this.properties.put("basicPropertyBinding", basicPropertyBinding);
+            return (T) this;
+        }
+        /**
          * Custom HTTP params for settings like proxy host. The option is a
          * java.util.Map<java.lang.String,java.lang.Object> type.
          */
@@ -105,6 +122,14 @@ public interface BoxEndpointBuilder {
             return (T) this;
         }
         /**
+         * Custom HTTP params for settings like proxy host. The option will be
+         * converted to a java.util.Map<java.lang.String,java.lang.Object> type.
+         */
+        public T httpParams(String httpParams) {
+            this.properties.put("httpParams", httpParams);
+            return (T) this;
+        }
+        /**
          * Sets whether synchronous processing should be strictly used, or Camel
          * is allowed to use asynchronous processing (if supported). The option
          * is a boolean type.
@@ -114,6 +139,15 @@ public interface BoxEndpointBuilder {
             return (T) this;
         }
         /**
+         * Sets whether synchronous processing should be strictly used, or Camel
+         * is allowed to use asynchronous processing (if supported). The option
+         * will be converted to a boolean type.
+         */
+        public T synchronous(String synchronous) {
+            this.properties.put("synchronous", synchronous);
+            return (T) this;
+        }
+        /**
          * Custom Access Token Cache for storing and retrieving access tokens.
          * The option is a com.box.sdk.IAccessTokenCache type.
          */
@@ -122,6 +156,14 @@ public interface BoxEndpointBuilder {
             return (T) this;
         }
         /**
+         * Custom Access Token Cache for storing and retrieving access tokens.
+         * The option will be converted to a com.box.sdk.IAccessTokenCache type.
+         */
+        public T accessTokenCache(String accessTokenCache) {
+            this.properties.put("accessTokenCache", accessTokenCache);
+            return (T) this;
+        }
+        /**
          * Box application client secret. The option is a java.lang.String type.
          */
         public T clientSecret(String clientSecret) {
@@ -138,6 +180,15 @@ public interface BoxEndpointBuilder {
             return (T) this;
         }
         /**
+         * The type of encryption algorithm for JWT. Supported Algorithms:
+         * RSA_SHA_256 RSA_SHA_384 RSA_SHA_512. The option will be converted to
+         * a com.box.sdk.EncryptionAlgorithm type.
+         */
+        public T encryptionAlgorithm(String encryptionAlgorithm) {
+            this.properties.put("encryptionAlgorithm", encryptionAlgorithm);
+            return (T) this;
+        }
+        /**
          * The maximum number of access tokens in cache. The option is a int
          * type.
          */
@@ -146,6 +197,14 @@ public interface BoxEndpointBuilder {
             return (T) this;
         }
         /**
+         * The maximum number of access tokens in cache. The option will be
+         * converted to a int type.
+         */
+        public T maxCacheEntries(String maxCacheEntries) {
+            this.properties.put("maxCacheEntries", maxCacheEntries);
+            return (T) this;
+        }
+        /**
          * The type of authentication for connection. Types of Authentication:
          * STANDARD_AUTHENTICATION - OAuth 2.0 (3-legged) SERVER_AUTHENTICATION
          * - OAuth 2.0 with JSON Web Tokens. The option is a java.lang.String
@@ -188,6 +247,15 @@ public interface BoxEndpointBuilder {
             return (T) this;
         }
         /**
+         * To configure security using SSLContextParameters. The option will be
+         * converted to a org.apache.camel.support.jsse.SSLContextParameters
+         * type.
+         */
+        public T sslContextParameters(String sslContextParameters) {
+            this.properties.put("sslContextParameters", sslContextParameters);
+            return (T) this;
+        }
+        /**
          * Box user name, MUST be provided. The option is a java.lang.String
          * type.
          */
@@ -227,6 +295,19 @@ public interface BoxEndpointBuilder {
             return (BoxConsumerBuilder) this;
         }
         /**
+         * 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. The option will be converted to a boolean type.
+         */
+        public BoxConsumerBuilder bridgeErrorHandler(String bridgeErrorHandler) {
+            this.properties.put("bridgeErrorHandler", bridgeErrorHandler);
+            return (BoxConsumerBuilder) this;
+        }
+        /**
          * 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
@@ -239,6 +320,17 @@ public interface BoxEndpointBuilder {
             return (BoxConsumerBuilder) this;
         }
         /**
+         * 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. The option will be
+         * converted to a org.apache.camel.spi.ExceptionHandler type.
+         */
+        public BoxConsumerBuilder exceptionHandler(String exceptionHandler) {
+            this.properties.put("exceptionHandler", exceptionHandler);
+            return (BoxConsumerBuilder) this;
+        }
+        /**
          * Sets the exchange pattern when the consumer creates an exchange. The
          * option is a org.apache.camel.ExchangePattern type.
          */
@@ -247,6 +339,14 @@ public interface BoxEndpointBuilder {
             this.properties.put("exchangePattern", exchangePattern);
             return (BoxConsumerBuilder) this;
         }
+        /**
+         * Sets the exchange pattern when the consumer creates an exchange. The
+         * option will be converted to a org.apache.camel.ExchangePattern type.
+         */
+        public BoxConsumerBuilder exchangePattern(String exchangePattern) {
+            this.properties.put("exchangePattern", exchangePattern);
+            return (BoxConsumerBuilder) this;
+        }
     }
 
     public static class BoxProducerBuilder
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/BraintreeEndpointBuilder.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/BraintreeEndpointBuilder.java
index 20bd91a..d330849 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/BraintreeEndpointBuilder.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/BraintreeEndpointBuilder.java
@@ -49,6 +49,14 @@ public interface BraintreeEndpointBuilder {
             return (T) this;
         }
         /**
+         * What kind of operation to perform. The option will be converted to a
+         * org.apache.camel.component.braintree.internal.BraintreeApiName type.
+         */
+        public T apiName(String apiName) {
+            this.properties.put("apiName", apiName);
+            return (T) this;
+        }
+        /**
          * What sub operation to use for the selected operation. The option is a
          * java.lang.String type.
          */
@@ -116,6 +124,15 @@ public interface BraintreeEndpointBuilder {
             return (T) this;
         }
         /**
+         * Whether the endpoint should use basic property binding (Camel 2.x) or
+         * the newer property binding with additional capabilities. The option
+         * will be converted to a boolean type.
+         */
+        public T basicPropertyBinding(String basicPropertyBinding) {
+            this.properties.put("basicPropertyBinding", basicPropertyBinding);
+            return (T) this;
+        }
+        /**
          * Set read timeout for http calls. The option is a java.lang.Integer
          * type.
          */
@@ -124,6 +141,14 @@ public interface BraintreeEndpointBuilder {
             return (T) this;
         }
         /**
+         * Set read timeout for http calls. The option will be converted to a
+         * java.lang.Integer type.
+         */
+        public T httpReadTimeout(String httpReadTimeout) {
+            this.properties.put("httpReadTimeout", httpReadTimeout);
+            return (T) this;
+        }
+        /**
          * Sets whether synchronous processing should be strictly used, or Camel
          * is allowed to use asynchronous processing (if supported). The option
          * is a boolean type.
@@ -133,6 +158,15 @@ public interface BraintreeEndpointBuilder {
             return (T) this;
         }
         /**
+         * Sets whether synchronous processing should be strictly used, or Camel
+         * is allowed to use asynchronous processing (if supported). The option
+         * will be converted to a boolean type.
+         */
+        public T synchronous(String synchronous) {
+            this.properties.put("synchronous", synchronous);
+            return (T) this;
+        }
+        /**
          * Set logging level for http calls, see java.util.logging.Level. The
          * option is a java.lang.String type.
          */
@@ -141,6 +175,14 @@ public interface BraintreeEndpointBuilder {
             return (T) this;
         }
         /**
+         * Set logging level for http calls, see java.util.logging.Level. The
+         * option will be converted to a java.lang.String type.
+         */
+        public T httpLogLevel(String httpLogLevel) {
+            this.properties.put("httpLogLevel", httpLogLevel);
+            return (T) this;
+        }
+        /**
          * The proxy host. The option is a java.lang.String type.
          */
         public T proxyHost(String proxyHost) {
@@ -154,6 +196,14 @@ public interface BraintreeEndpointBuilder {
             this.properties.put("proxyPort", proxyPort);
             return (T) this;
         }
+        /**
+         * The proxy port. The option will be converted to a java.lang.Integer
+         * type.
+         */
+        public T proxyPort(String proxyPort) {
+            this.properties.put("proxyPort", proxyPort);
+            return (T) this;
+        }
     }
 
     public static class BraintreeConsumerBuilder
@@ -179,6 +229,20 @@ public interface BraintreeEndpointBuilder {
             return (BraintreeConsumerBuilder) this;
         }
         /**
+         * 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. The option will be converted to a boolean type.
+         */
+        public BraintreeConsumerBuilder bridgeErrorHandler(
+                String bridgeErrorHandler) {
+            this.properties.put("bridgeErrorHandler", bridgeErrorHandler);
+            return (BraintreeConsumerBuilder) this;
+        }
+        /**
          * 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
@@ -191,6 +255,17 @@ public interface BraintreeEndpointBuilder {
             return (BraintreeConsumerBuilder) this;
         }
         /**
+         * 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. The option will be
+         * converted to a org.apache.camel.spi.ExceptionHandler type.
+         */
+        public BraintreeConsumerBuilder exceptionHandler(String exceptionHandler) {
+            this.properties.put("exceptionHandler", exceptionHandler);
+            return (BraintreeConsumerBuilder) this;
+        }
+        /**
          * Sets the exchange pattern when the consumer creates an exchange. The
          * option is a org.apache.camel.ExchangePattern type.
          */
@@ -199,6 +274,14 @@ public interface BraintreeEndpointBuilder {
             this.properties.put("exchangePattern", exchangePattern);
             return (BraintreeConsumerBuilder) this;
         }
+        /**
+         * Sets the exchange pattern when the consumer creates an exchange. The
+         * option will be converted to a org.apache.camel.ExchangePattern type.
+         */
+        public BraintreeConsumerBuilder exchangePattern(String exchangePattern) {
+            this.properties.put("exchangePattern", exchangePattern);
+            return (BraintreeConsumerBuilder) this;
+        }
     }
 
     public static class BraintreeProducerBuilder
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/BrowseEndpointBuilder.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/BrowseEndpointBuilder.java
index eec3049..202a0df 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/BrowseEndpointBuilder.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/BrowseEndpointBuilder.java
@@ -57,6 +57,15 @@ public interface BrowseEndpointBuilder {
             return (T) this;
         }
         /**
+         * Whether the endpoint should use basic property binding (Camel 2.x) or
+         * the newer property binding with additional capabilities. The option
+         * will be converted to a boolean type.
+         */
+        public T basicPropertyBinding(String basicPropertyBinding) {
+            this.properties.put("basicPropertyBinding", basicPropertyBinding);
+            return (T) this;
+        }
+        /**
          * Sets whether synchronous processing should be strictly used, or Camel
          * is allowed to use asynchronous processing (if supported). The option
          * is a boolean type.
@@ -65,6 +74,15 @@ public interface BrowseEndpointBuilder {
             this.properties.put("synchronous", synchronous);
             return (T) this;
         }
+        /**
+         * Sets whether synchronous processing should be strictly used, or Camel
+         * is allowed to use asynchronous processing (if supported). The option
+         * will be converted to a boolean type.
+         */
+        public T synchronous(String synchronous) {
+            this.properties.put("synchronous", synchronous);
+            return (T) this;
+        }
     }
 
     public static class BrowseConsumerBuilder
@@ -90,6 +108,20 @@ public interface BrowseEndpointBuilder {
             return (BrowseConsumerBuilder) this;
         }
         /**
+         * 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. The option will be converted to a boolean type.
+         */
+        public BrowseConsumerBuilder bridgeErrorHandler(
+                String bridgeErrorHandler) {
+            this.properties.put("bridgeErrorHandler", bridgeErrorHandler);
+            return (BrowseConsumerBuilder) this;
+        }
+        /**
          * 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
@@ -102,6 +134,17 @@ public interface BrowseEndpointBuilder {
             return (BrowseConsumerBuilder) this;
         }
         /**
+         * 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. The option will be
+         * converted to a org.apache.camel.spi.ExceptionHandler type.
+         */
+        public BrowseConsumerBuilder exceptionHandler(String exceptionHandler) {
+            this.properties.put("exceptionHandler", exceptionHandler);
+            return (BrowseConsumerBuilder) this;
+        }
+        /**
          * Sets the exchange pattern when the consumer creates an exchange. The
          * option is a org.apache.camel.ExchangePattern type.
          */
@@ -110,6 +153,14 @@ public interface BrowseEndpointBuilder {
             this.properties.put("exchangePattern", exchangePattern);
             return (BrowseConsumerBuilder) this;
         }
+        /**
+         * Sets the exchange pattern when the consumer creates an exchange. The
+         * option will be converted to a org.apache.camel.ExchangePattern type.
+         */
+        public BrowseConsumerBuilder exchangePattern(String exchangePattern) {
+            this.properties.put("exchangePattern", exchangePattern);
+            return (BrowseConsumerBuilder) this;
+        }
     }
 
     public static class BrowseProducerBuilder
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/CMEndpointBuilder.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/CMEndpointBuilder.java
index 280aba5..7811fd3 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/CMEndpointBuilder.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/CMEndpointBuilder.java
@@ -65,6 +65,18 @@ public interface CMEndpointBuilder {
             return (T) this;
         }
         /**
+         * If it is a multipart message forces the max number. Message can be
+         * truncated. Technically the gateway will first check if a message is
+         * larger than 160 characters, if so, the message will be cut into
+         * multiple 153 characters parts limited by these parameters. The option
+         * will be converted to a
+         * (@javax.validation.constraints.Min(1L),@javax.validation.constraints.Max(8L) :: int) type.
+         */
+        public T defaultMaxNumberOfParts(String defaultMaxNumberOfParts) {
+            this.properties.put("defaultMaxNumberOfParts", defaultMaxNumberOfParts);
+            return (T) this;
+        }
+        /**
          * The unique token to use. The option is a
          * (@javax.validation.constraints.NotNull :: java.lang.String) type.
          */
@@ -81,6 +93,14 @@ public interface CMEndpointBuilder {
             return (T) this;
         }
         /**
+         * Whether to test the connection to the SMS Gateway on startup. The
+         * option will be converted to a boolean type.
+         */
+        public T testConnectionOnStartup(String testConnectionOnStartup) {
+            this.properties.put("testConnectionOnStartup", testConnectionOnStartup);
+            return (T) this;
+        }
+        /**
          * Whether the endpoint should use basic property binding (Camel 2.x) or
          * the newer property binding with additional capabilities. The option
          * is a boolean type.
@@ -90,6 +110,15 @@ public interface CMEndpointBuilder {
             return (T) this;
         }
         /**
+         * Whether the endpoint should use basic property binding (Camel 2.x) or
+         * the newer property binding with additional capabilities. The option
+         * will be converted to a boolean type.
+         */
+        public T basicPropertyBinding(String basicPropertyBinding) {
+            this.properties.put("basicPropertyBinding", basicPropertyBinding);
+            return (T) this;
+        }
+        /**
          * Sets whether synchronous processing should be strictly used, or Camel
          * is allowed to use asynchronous processing (if supported). The option
          * is a boolean type.
@@ -98,6 +127,15 @@ public interface CMEndpointBuilder {
             this.properties.put("synchronous", synchronous);
             return (T) this;
         }
+        /**
+         * Sets whether synchronous processing should be strictly used, or Camel
+         * is allowed to use asynchronous processing (if supported). The option
+         * will be converted to a boolean type.
+         */
+        public T synchronous(String synchronous) {
+            this.properties.put("synchronous", synchronous);
+            return (T) this;
+        }
     }
 
     public static class CMProducerBuilder
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/CMISEndpointBuilder.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/CMISEndpointBuilder.java
index bcfff67..3ffa203 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/CMISEndpointBuilder.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/CMISEndpointBuilder.java
@@ -54,6 +54,14 @@ public interface CMISEndpointBuilder {
             return (T) this;
         }
         /**
+         * Number of nodes to retrieve per page. The option will be converted to
+         * a int type.
+         */
+        public T pageSize(String pageSize) {
+            this.properties.put("pageSize", pageSize);
+            return (T) this;
+        }
+        /**
          * If set to true, the content of document node will be retrieved in
          * addition to the properties. The option is a boolean type.
          */
@@ -62,6 +70,15 @@ public interface CMISEndpointBuilder {
             return (T) this;
         }
         /**
+         * If set to true, the content of document node will be retrieved in
+         * addition to the properties. The option will be converted to a boolean
+         * type.
+         */
+        public T readContent(String readContent) {
+            this.properties.put("readContent", readContent);
+            return (T) this;
+        }
+        /**
          * Max number of nodes to read. The option is a int type.
          */
         public T readCount(int readCount) {
@@ -69,6 +86,14 @@ public interface CMISEndpointBuilder {
             return (T) this;
         }
         /**
+         * Max number of nodes to read. The option will be converted to a int
+         * type.
+         */
+        public T readCount(String readCount) {
+            this.properties.put("readCount", readCount);
+            return (T) this;
+        }
+        /**
          * The Id of the repository to use. If not specified the first available
          * repository is used. The option is a java.lang.String type.
          */
@@ -86,6 +111,15 @@ public interface CMISEndpointBuilder {
             return (T) this;
         }
         /**
+         * Whether the endpoint should use basic property binding (Camel 2.x) or
+         * the newer property binding with additional capabilities. The option
+         * will be converted to a boolean type.
+         */
+        public T basicPropertyBinding(String basicPropertyBinding) {
+            this.properties.put("basicPropertyBinding", basicPropertyBinding);
+            return (T) this;
+        }
+        /**
          * To use a custom CMISSessionFacadeFactory to create the
          * CMISSessionFacade instances. The option is a
          * org.apache.camel.component.cmis.CMISSessionFacadeFactory type.
@@ -95,6 +129,15 @@ public interface CMISEndpointBuilder {
             return (T) this;
         }
         /**
+         * To use a custom CMISSessionFacadeFactory to create the
+         * CMISSessionFacade instances. The option will be converted to a
+         * org.apache.camel.component.cmis.CMISSessionFacadeFactory type.
+         */
+        public T sessionFacadeFactory(String sessionFacadeFactory) {
+            this.properties.put("sessionFacadeFactory", sessionFacadeFactory);
+            return (T) this;
+        }
+        /**
          * Sets whether synchronous processing should be strictly used, or Camel
          * is allowed to use asynchronous processing (if supported). The option
          * is a boolean type.
@@ -104,6 +147,15 @@ public interface CMISEndpointBuilder {
             return (T) this;
         }
         /**
+         * Sets whether synchronous processing should be strictly used, or Camel
+         * is allowed to use asynchronous processing (if supported). The option
+         * will be converted to a boolean type.
+         */
+        public T synchronous(String synchronous) {
+            this.properties.put("synchronous", synchronous);
+            return (T) this;
+        }
+        /**
          * Password for the cmis repository. The option is a java.lang.String
          * type.
          */
@@ -143,6 +195,19 @@ public interface CMISEndpointBuilder {
             return (CMISConsumerBuilder) this;
         }
         /**
+         * 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. The option will be converted to a boolean type.
+         */
+        public CMISConsumerBuilder bridgeErrorHandler(String bridgeErrorHandler) {
+            this.properties.put("bridgeErrorHandler", bridgeErrorHandler);
+            return (CMISConsumerBuilder) this;
+        }
+        /**
          * The cmis query to execute against the repository. If not specified,
          * the consumer will retrieve every node from the content repository by
          * iterating the content tree recursively. The option is a
@@ -165,6 +230,17 @@ public interface CMISEndpointBuilder {
             return (CMISConsumerBuilder) this;
         }
         /**
+         * 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. The option will be
+         * converted to a org.apache.camel.spi.ExceptionHandler type.
+         */
+        public CMISConsumerBuilder exceptionHandler(String exceptionHandler) {
+            this.properties.put("exceptionHandler", exceptionHandler);
+            return (CMISConsumerBuilder) this;
+        }
+        /**
          * Sets the exchange pattern when the consumer creates an exchange. The
          * option is a org.apache.camel.ExchangePattern type.
          */
@@ -173,6 +249,14 @@ public interface CMISEndpointBuilder {
             this.properties.put("exchangePattern", exchangePattern);
             return (CMISConsumerBuilder) this;
         }
+        /**
+         * Sets the exchange pattern when the consumer creates an exchange. The
+         * option will be converted to a org.apache.camel.ExchangePattern type.
+         */
+        public CMISConsumerBuilder exchangePattern(String exchangePattern) {
+            this.properties.put("exchangePattern", exchangePattern);
+            return (CMISConsumerBuilder) this;
+        }
     }
 
     public static class CMISProducerBuilder
@@ -192,6 +276,15 @@ public interface CMISEndpointBuilder {
             this.properties.put("queryMode", queryMode);
             return (CMISProducerBuilder) this;
         }
+        /**
+         * If true, will execute the cmis query from the message body and return
+         * result, otherwise will create a node in the cmis repository. The
+         * option will be converted to a boolean type.
+         */
+        public CMISProducerBuilder queryMode(String queryMode) {
+            this.properties.put("queryMode", queryMode);
+            return (CMISProducerBuilder) this;
+        }
     }
     public default CMISConsumerBuilder fromCMIS(String path) {
         return new CMISConsumerBuilder(path);
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/CaffeineCacheEndpointBuilder.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/CaffeineCacheEndpointBuilder.java
index f6921c7..e07a553 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/CaffeineCacheEndpointBuilder.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/CaffeineCacheEndpointBuilder.java
@@ -54,6 +54,14 @@ public interface CaffeineCacheEndpointBuilder {
             return (T) this;
         }
         /**
+         * Configure if a cache need to be created if it does exist or can't be
+         * pre-configured. The option will be converted to a boolean type.
+         */
+        public T createCacheIfNotExist(String createCacheIfNotExist) {
+            this.properties.put("createCacheIfNotExist", createCacheIfNotExist);
+            return (T) this;
+        }
+        /**
          * Whether the endpoint should use basic property binding (Camel 2.x) or
          * the newer property binding with additional capabilities. The option
          * is a boolean type.
@@ -63,6 +71,15 @@ public interface CaffeineCacheEndpointBuilder {
             return (T) this;
         }
         /**
+         * Whether the endpoint should use basic property binding (Camel 2.x) or
+         * the newer property binding with additional capabilities. The option
+         * will be converted to a boolean type.
+         */
+        public T basicPropertyBinding(String basicPropertyBinding) {
+            this.properties.put("basicPropertyBinding", basicPropertyBinding);
+            return (T) this;
+        }
+        /**
          * The cache key type, default java.lang.Object. The option is a
          * java.lang.String type.
          */
@@ -71,6 +88,14 @@ public interface CaffeineCacheEndpointBuilder {
             return (T) this;
         }
         /**
+         * The cache key type, default java.lang.Object. The option will be
+         * converted to a java.lang.String type.
+         */
+        public T keyType(String keyType) {
+            this.properties.put("keyType", keyType);
+            return (T) this;
+        }
+        /**
          * Sets whether synchronous processing should be strictly used, or Camel
          * is allowed to use asynchronous processing (if supported). The option
          * is a boolean type.
@@ -80,6 +105,15 @@ public interface CaffeineCacheEndpointBuilder {
             return (T) this;
         }
         /**
+         * Sets whether synchronous processing should be strictly used, or Camel
+         * is allowed to use asynchronous processing (if supported). The option
+         * will be converted to a boolean type.
+         */
+        public T synchronous(String synchronous) {
+            this.properties.put("synchronous", synchronous);
+            return (T) this;
+        }
+        /**
          * The cache value type, default java.lang.Object. The option is a
          * java.lang.String type.
          */
@@ -87,6 +121,14 @@ public interface CaffeineCacheEndpointBuilder {
             this.properties.put("valueType", valueType);
             return (T) this;
         }
+        /**
+         * The cache value type, default java.lang.Object. The option will be
+         * converted to a java.lang.String type.
+         */
+        public T valueType(String valueType) {
+            this.properties.put("valueType", valueType);
+            return (T) this;
+        }
     }
 
     public static class CaffeineCacheConsumerBuilder
@@ -112,6 +154,20 @@ public interface CaffeineCacheEndpointBuilder {
             return (CaffeineCacheConsumerBuilder) this;
         }
         /**
+         * 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. The option will be converted to a boolean type.
+         */
+        public CaffeineCacheConsumerBuilder bridgeErrorHandler(
+                String bridgeErrorHandler) {
+            this.properties.put("bridgeErrorHandler", bridgeErrorHandler);
+            return (CaffeineCacheConsumerBuilder) this;
+        }
+        /**
          * 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
@@ -124,6 +180,18 @@ public interface CaffeineCacheEndpointBuilder {
             return (CaffeineCacheConsumerBuilder) this;
         }
         /**
+         * 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. The option will be
+         * converted to a org.apache.camel.spi.ExceptionHandler type.
+         */
+        public CaffeineCacheConsumerBuilder exceptionHandler(
+                String exceptionHandler) {
+            this.properties.put("exceptionHandler", exceptionHandler);
+            return (CaffeineCacheConsumerBuilder) this;
+        }
+        /**
          * Sets the exchange pattern when the consumer creates an exchange. The
          * option is a org.apache.camel.ExchangePattern type.
          */
@@ -132,6 +200,15 @@ public interface CaffeineCacheEndpointBuilder {
             this.properties.put("exchangePattern", exchangePattern);
             return (CaffeineCacheConsumerBuilder) this;
         }
+        /**
+         * Sets the exchange pattern when the consumer creates an exchange. The
+         * option will be converted to a org.apache.camel.ExchangePattern type.
+         */
+        public CaffeineCacheConsumerBuilder exchangePattern(
+                String exchangePattern) {
+            this.properties.put("exchangePattern", exchangePattern);
+            return (CaffeineCacheConsumerBuilder) this;
+        }
     }
 
     public static class CaffeineCacheProducerBuilder
@@ -160,6 +237,14 @@ public interface CaffeineCacheEndpointBuilder {
             return (CaffeineCacheProducerBuilder) this;
         }
         /**
+         * To configure an already instantiated cache to be used. The option
+         * will be converted to a com.github.benmanes.caffeine.cache.Cache type.
+         */
+        public CaffeineCacheProducerBuilder cache(String cache) {
+            this.properties.put("cache", cache);
+            return (CaffeineCacheProducerBuilder) this;
+        }
+        /**
          * To configure a CacheLoader in case of a LoadCache use. The option is
          * a com.github.benmanes.caffeine.cache.CacheLoader type.
          */
@@ -168,6 +253,15 @@ public interface CaffeineCacheEndpointBuilder {
             return (CaffeineCacheProducerBuilder) this;
         }
         /**
+         * To configure a CacheLoader in case of a LoadCache use. The option
+         * will be converted to a com.github.benmanes.caffeine.cache.CacheLoader
+         * type.
+         */
+        public CaffeineCacheProducerBuilder cacheLoader(String cacheLoader) {
+            this.properties.put("cacheLoader", cacheLoader);
+            return (CaffeineCacheProducerBuilder) this;
+        }
+        /**
          * Set the eviction Type for this cache. The option is a
          * org.apache.camel.component.caffeine.EvictionType type.
          */
@@ -177,6 +271,14 @@ public interface CaffeineCacheEndpointBuilder {
             return (CaffeineCacheProducerBuilder) this;
         }
         /**
+         * Set the eviction Type for this cache. The option will be converted to
+         * a org.apache.camel.component.caffeine.EvictionType type.
+         */
+        public CaffeineCacheProducerBuilder evictionType(String evictionType) {
+            this.properties.put("evictionType", evictionType);
+            return (CaffeineCacheProducerBuilder) this;
+        }
+        /**
          * Set the expire After Access Time in case of time based Eviction (in
          * seconds). The option is a int type.
          */
@@ -186,6 +288,15 @@ public interface CaffeineCacheEndpointBuilder {
             return (CaffeineCacheProducerBuilder) this;
         }
         /**
+         * Set the expire After Access Time in case of time based Eviction (in
+         * seconds). The option will be converted to a int type.
+         */
+        public CaffeineCacheProducerBuilder expireAfterAccessTime(
+                String expireAfterAccessTime) {
+            this.properties.put("expireAfterAccessTime", expireAfterAccessTime);
+            return (CaffeineCacheProducerBuilder) this;
+        }
+        /**
          * Set the expire After Access Write in case of time based Eviction (in
          * seconds). The option is a int type.
          */
@@ -195,6 +306,15 @@ public interface CaffeineCacheEndpointBuilder {
             return (CaffeineCacheProducerBuilder) this;
         }
         /**
+         * Set the expire After Access Write in case of time based Eviction (in
+         * seconds). The option will be converted to a int type.
+         */
+        public CaffeineCacheProducerBuilder expireAfterWriteTime(
+                String expireAfterWriteTime) {
+            this.properties.put("expireAfterWriteTime", expireAfterWriteTime);
+            return (CaffeineCacheProducerBuilder) this;
+        }
+        /**
          * Set the initial Capacity for the cache. The option is a int type.
          */
         public CaffeineCacheProducerBuilder initialCapacity(int initialCapacity) {
@@ -202,6 +322,15 @@ public interface CaffeineCacheEndpointBuilder {
             return (CaffeineCacheProducerBuilder) this;
         }
         /**
+         * Set the initial Capacity for the cache. The option will be converted
+         * to a int type.
+         */
+        public CaffeineCacheProducerBuilder initialCapacity(
+                String initialCapacity) {
+            this.properties.put("initialCapacity", initialCapacity);
+            return (CaffeineCacheProducerBuilder) this;
+        }
+        /**
          * To configure the default action key. If a key is set in the message
          * header, then the key from the header takes precedence. The option is
          * a java.lang.Object type.
@@ -211,6 +340,15 @@ public interface CaffeineCacheEndpointBuilder {
             return (CaffeineCacheProducerBuilder) this;
         }
         /**
+         * To configure the default action key. If a key is set in the message
+         * header, then the key from the header takes precedence. The option
+         * will be converted to a java.lang.Object type.
+         */
+        public CaffeineCacheProducerBuilder key(String key) {
+            this.properties.put("key", key);
+            return (CaffeineCacheProducerBuilder) this;
+        }
+        /**
          * Set the maximum size for the cache. The option is a int type.
          */
         public CaffeineCacheProducerBuilder maximumSize(int maximumSize) {
@@ -218,6 +356,14 @@ public interface CaffeineCacheEndpointBuilder {
             return (CaffeineCacheProducerBuilder) this;
         }
         /**
+         * Set the maximum size for the cache. The option will be converted to a
+         * int type.
+         */
+        public CaffeineCacheProducerBuilder maximumSize(String maximumSize) {
+            this.properties.put("maximumSize", maximumSize);
+            return (CaffeineCacheProducerBuilder) this;
+        }
+        /**
          * Set a specific removal Listener for the cache. The option is a
          * com.github.benmanes.caffeine.cache.RemovalListener type.
          */
@@ -227,6 +373,16 @@ public interface CaffeineCacheEndpointBuilder {
             return (CaffeineCacheProducerBuilder) this;
         }
         /**
+         * Set a specific removal Listener for the cache. The option will be
+         * converted to a com.github.benmanes.caffeine.cache.RemovalListener
+         * type.
+         */
+        public CaffeineCacheProducerBuilder removalListener(
+                String removalListener) {
+            this.properties.put("removalListener", removalListener);
+            return (CaffeineCacheProducerBuilder) this;
+        }
+        /**
          * Set a specific Stats Counter for the cache stats. The option is a
          * com.github.benmanes.caffeine.cache.stats.StatsCounter type.
          */
@@ -235,12 +391,29 @@ public interface CaffeineCacheEndpointBuilder {
             return (CaffeineCacheProducerBuilder) this;
         }
         /**
+         * Set a specific Stats Counter for the cache stats. The option will be
+         * converted to a com.github.benmanes.caffeine.cache.stats.StatsCounter
+         * type.
+         */
+        public CaffeineCacheProducerBuilder statsCounter(String statsCounter) {
+            this.properties.put("statsCounter", statsCounter);
+            return (CaffeineCacheProducerBuilder) this;
+        }
+        /**
          * To enable stats on the cache. The option is a boolean type.
          */
         public CaffeineCacheProducerBuilder statsEnabled(boolean statsEnabled) {
             this.properties.put("statsEnabled", statsEnabled);
             return (CaffeineCacheProducerBuilder) this;
         }
+        /**
+         * To enable stats on the cache. The option will be converted to a
+         * boolean type.
+         */
+        public CaffeineCacheProducerBuilder statsEnabled(String statsEnabled) {
+            this.properties.put("statsEnabled", statsEnabled);
+            return (CaffeineCacheProducerBuilder) this;
+        }
     }
 
     public static enum EvictionType {
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/CaffeineLoadCacheEndpointBuilder.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/CaffeineLoadCacheEndpointBuilder.java
index df85803..b25b6c0 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/CaffeineLoadCacheEndpointBuilder.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/CaffeineLoadCacheEndpointBuilder.java
@@ -55,6 +55,14 @@ public interface CaffeineLoadCacheEndpointBuilder {
             return (T) this;
         }
         /**
+         * Configure if a cache need to be created if it does exist or can't be
+         * pre-configured. The option will be converted to a boolean type.
+         */
+        public T createCacheIfNotExist(String createCacheIfNotExist) {
+            this.properties.put("createCacheIfNotExist", createCacheIfNotExist);
+            return (T) this;
+        }
+        /**
          * Whether the endpoint should use basic property binding (Camel 2.x) or
          * the newer property binding with additional capabilities. The option
          * is a boolean type.
@@ -64,6 +72,15 @@ public interface CaffeineLoadCacheEndpointBuilder {
             return (T) this;
         }
         /**
+         * Whether the endpoint should use basic property binding (Camel 2.x) or
+         * the newer property binding with additional capabilities. The option
+         * will be converted to a boolean type.
+         */
+        public T basicPropertyBinding(String basicPropertyBinding) {
+            this.properties.put("basicPropertyBinding", basicPropertyBinding);
+            return (T) this;
+        }
+        /**
          * The cache key type, default java.lang.Object. The option is a
          * java.lang.String type.
          */
@@ -72,6 +89,14 @@ public interface CaffeineLoadCacheEndpointBuilder {
             return (T) this;
         }
         /**
+         * The cache key type, default java.lang.Object. The option will be
+         * converted to a java.lang.String type.
+         */
+        public T keyType(String keyType) {
+            this.properties.put("keyType", keyType);
+            return (T) this;
+        }
+        /**
          * Sets whether synchronous processing should be strictly used, or Camel
          * is allowed to use asynchronous processing (if supported). The option
          * is a boolean type.
@@ -81,6 +106,15 @@ public interface CaffeineLoadCacheEndpointBuilder {
             return (T) this;
         }
         /**
+         * Sets whether synchronous processing should be strictly used, or Camel
+         * is allowed to use asynchronous processing (if supported). The option
+         * will be converted to a boolean type.
+         */
+        public T synchronous(String synchronous) {
+            this.properties.put("synchronous", synchronous);
+            return (T) this;
+        }
+        /**
          * The cache value type, default java.lang.Object. The option is a
          * java.lang.String type.
          */
@@ -88,6 +122,14 @@ public interface CaffeineLoadCacheEndpointBuilder {
             this.properties.put("valueType", valueType);
             return (T) this;
         }
+        /**
+         * The cache value type, default java.lang.Object. The option will be
+         * converted to a java.lang.String type.
+         */
+        public T valueType(String valueType) {
+            this.properties.put("valueType", valueType);
+            return (T) this;
+        }
     }
 
     public static class CaffeineLoadCacheConsumerBuilder
@@ -113,6 +155,20 @@ public interface CaffeineLoadCacheEndpointBuilder {
             return (CaffeineLoadCacheConsumerBuilder) this;
         }
         /**
+         * 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. The option will be converted to a boolean type.
+         */
+        public CaffeineLoadCacheConsumerBuilder bridgeErrorHandler(
+                String bridgeErrorHandler) {
+            this.properties.put("bridgeErrorHandler", bridgeErrorHandler);
+            return (CaffeineLoadCacheConsumerBuilder) this;
+        }
+        /**
          * 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
@@ -125,6 +181,18 @@ public interface CaffeineLoadCacheEndpointBuilder {
             return (CaffeineLoadCacheConsumerBuilder) this;
         }
         /**
+         * 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. The option will be
+         * converted to a org.apache.camel.spi.ExceptionHandler type.
+         */
+        public CaffeineLoadCacheConsumerBuilder exceptionHandler(
+                String exceptionHandler) {
+            this.properties.put("exceptionHandler", exceptionHandler);
+            return (CaffeineLoadCacheConsumerBuilder) this;
+        }
+        /**
          * Sets the exchange pattern when the consumer creates an exchange. The
          * option is a org.apache.camel.ExchangePattern type.
          */
@@ -133,6 +201,15 @@ public interface CaffeineLoadCacheEndpointBuilder {
             this.properties.put("exchangePattern", exchangePattern);
             return (CaffeineLoadCacheConsumerBuilder) this;
         }
+        /**
+         * Sets the exchange pattern when the consumer creates an exchange. The
+         * option will be converted to a org.apache.camel.ExchangePattern type.
+         */
+        public CaffeineLoadCacheConsumerBuilder exchangePattern(
+                String exchangePattern) {
+            this.properties.put("exchangePattern", exchangePattern);
+            return (CaffeineLoadCacheConsumerBuilder) this;
+        }
     }
 
     public static class CaffeineLoadCacheProducerBuilder
@@ -161,6 +238,14 @@ public interface CaffeineLoadCacheEndpointBuilder {
             return (CaffeineLoadCacheProducerBuilder) this;
         }
         /**
+         * To configure an already instantiated cache to be used. The option
+         * will be converted to a com.github.benmanes.caffeine.cache.Cache type.
+         */
+        public CaffeineLoadCacheProducerBuilder cache(String cache) {
+            this.properties.put("cache", cache);
+            return (CaffeineLoadCacheProducerBuilder) this;
+        }
+        /**
          * To configure a CacheLoader in case of a LoadCache use. The option is
          * a com.github.benmanes.caffeine.cache.CacheLoader type.
          */
@@ -169,6 +254,15 @@ public interface CaffeineLoadCacheEndpointBuilder {
             return (CaffeineLoadCacheProducerBuilder) this;
         }
         /**
+         * To configure a CacheLoader in case of a LoadCache use. The option
+         * will be converted to a com.github.benmanes.caffeine.cache.CacheLoader
+         * type.
+         */
+        public CaffeineLoadCacheProducerBuilder cacheLoader(String cacheLoader) {
+            this.properties.put("cacheLoader", cacheLoader);
+            return (CaffeineLoadCacheProducerBuilder) this;
+        }
+        /**
          * Set the eviction Type for this cache. The option is a
          * org.apache.camel.component.caffeine.EvictionType type.
          */
@@ -178,6 +272,14 @@ public interface CaffeineLoadCacheEndpointBuilder {
             return (CaffeineLoadCacheProducerBuilder) this;
         }
         /**
+         * Set the eviction Type for this cache. The option will be converted to
+         * a org.apache.camel.component.caffeine.EvictionType type.
+         */
+        public CaffeineLoadCacheProducerBuilder evictionType(String evictionType) {
+            this.properties.put("evictionType", evictionType);
+            return (CaffeineLoadCacheProducerBuilder) this;
+        }
+        /**
          * Set the expire After Access Time in case of time based Eviction (in
          * seconds). The option is a int type.
          */
@@ -187,6 +289,15 @@ public interface CaffeineLoadCacheEndpointBuilder {
             return (CaffeineLoadCacheProducerBuilder) this;
         }
         /**
+         * Set the expire After Access Time in case of time based Eviction (in
+         * seconds). The option will be converted to a int type.
+         */
+        public CaffeineLoadCacheProducerBuilder expireAfterAccessTime(
+                String expireAfterAccessTime) {
+            this.properties.put("expireAfterAccessTime", expireAfterAccessTime);
+            return (CaffeineLoadCacheProducerBuilder) this;
+        }
+        /**
          * Set the expire After Access Write in case of time based Eviction (in
          * seconds). The option is a int type.
          */
@@ -196,6 +307,15 @@ public interface CaffeineLoadCacheEndpointBuilder {
             return (CaffeineLoadCacheProducerBuilder) this;
         }
         /**
+         * Set the expire After Access Write in case of time based Eviction (in
+         * seconds). The option will be converted to a int type.
+         */
+        public CaffeineLoadCacheProducerBuilder expireAfterWriteTime(
+                String expireAfterWriteTime) {
+            this.properties.put("expireAfterWriteTime", expireAfterWriteTime);
+            return (CaffeineLoadCacheProducerBuilder) this;
+        }
+        /**
          * Set the initial Capacity for the cache. The option is a int type.
          */
         public CaffeineLoadCacheProducerBuilder initialCapacity(
@@ -204,6 +324,15 @@ public interface CaffeineLoadCacheEndpointBuilder {
             return (CaffeineLoadCacheProducerBuilder) this;
         }
         /**
+         * Set the initial Capacity for the cache. The option will be converted
+         * to a int type.
+         */
+        public CaffeineLoadCacheProducerBuilder initialCapacity(
+                String initialCapacity) {
+            this.properties.put("initialCapacity", initialCapacity);
+            return (CaffeineLoadCacheProducerBuilder) this;
+        }
+        /**
          * To configure the default action key. If a key is set in the message
          * header, then the key from the header takes precedence. The option is
          * a java.lang.Object type.
@@ -213,6 +342,15 @@ public interface CaffeineLoadCacheEndpointBuilder {
             return (CaffeineLoadCacheProducerBuilder) this;
         }
         /**
+         * To configure the default action key. If a key is set in the message
+         * header, then the key from the header takes precedence. The option
+         * will be converted to a java.lang.Object type.
+         */
+        public CaffeineLoadCacheProducerBuilder key(String key) {
+            this.properties.put("key", key);
+            return (CaffeineLoadCacheProducerBuilder) this;
+        }
+        /**
          * Set the maximum size for the cache. The option is a int type.
          */
         public CaffeineLoadCacheProducerBuilder maximumSize(int maximumSize) {
@@ -220,6 +358,14 @@ public interface CaffeineLoadCacheEndpointBuilder {
             return (CaffeineLoadCacheProducerBuilder) this;
         }
         /**
+         * Set the maximum size for the cache. The option will be converted to a
+         * int type.
+         */
+        public CaffeineLoadCacheProducerBuilder maximumSize(String maximumSize) {
+            this.properties.put("maximumSize", maximumSize);
+            return (CaffeineLoadCacheProducerBuilder) this;
+        }
+        /**
          * Set a specific removal Listener for the cache. The option is a
          * com.github.benmanes.caffeine.cache.RemovalListener type.
          */
@@ -229,6 +375,16 @@ public interface CaffeineLoadCacheEndpointBuilder {
             return (CaffeineLoadCacheProducerBuilder) this;
         }
         /**
+         * Set a specific removal Listener for the cache. The option will be
+         * converted to a com.github.benmanes.caffeine.cache.RemovalListener
+         * type.
+         */
+        public CaffeineLoadCacheProducerBuilder removalListener(
+                String removalListener) {
+            this.properties.put("removalListener", removalListener);
+            return (CaffeineLoadCacheProducerBuilder) this;
+        }
+        /**
          * Set a specific Stats Counter for the cache stats. The option is a
          * com.github.benmanes.caffeine.cache.stats.StatsCounter type.
          */
@@ -237,6 +393,15 @@ public interface CaffeineLoadCacheEndpointBuilder {
             return (CaffeineLoadCacheProducerBuilder) this;
         }
         /**
+         * Set a specific Stats Counter for the cache stats. The option will be
+         * converted to a com.github.benmanes.caffeine.cache.stats.StatsCounter
+         * type.
+         */
+        public CaffeineLoadCacheProducerBuilder statsCounter(String statsCounter) {
+            this.properties.put("statsCounter", statsCounter);
+            return (CaffeineLoadCacheProducerBuilder) this;
+        }
+        /**
          * To enable stats on the cache. The option is a boolean type.
          */
         public CaffeineLoadCacheProducerBuilder statsEnabled(
@@ -244,6 +409,14 @@ public interface CaffeineLoadCacheEndpointBuilder {
             this.properties.put("statsEnabled", statsEnabled);
             return (CaffeineLoadCacheProducerBuilder) this;
         }
+        /**
+         * To enable stats on the cache. The option will be converted to a
+         * boolean type.
+         */
+        public CaffeineLoadCacheProducerBuilder statsEnabled(String statsEnabled) {
+            this.properties.put("statsEnabled", statsEnabled);
+            return (CaffeineLoadCacheProducerBuilder) this;
+        }
     }
 
     public static enum EvictionType {
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/CassandraEndpointBuilder.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/CassandraEndpointBuilder.java
index cd4ab79..8f23867 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/CassandraEndpointBuilder.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/CassandraEndpointBuilder.java
@@ -70,6 +70,14 @@ public interface CassandraEndpointBuilder {
             return (T) this;
         }
         /**
+         * Port number of cassansdra server(s). The option will be converted to
+         * a java.lang.Integer type.
+         */
+        public T port(String port) {
+            this.properties.put("port", port);
+            return (T) this;
+        }
+        /**
          * Keyspace to use. The option is a java.lang.String type.
          */
         public T keyspace(String keyspace) {
@@ -85,6 +93,15 @@ public interface CassandraEndpointBuilder {
             return (T) this;
         }
         /**
+         * To use the Cluster instance (you would normally not use this option).
+         * The option will be converted to a com.datastax.driver.core.Cluster
+         * type.
+         */
+        public T cluster(String cluster) {
+            this.properties.put("cluster", cluster);
+            return (T) this;
+        }
+        /**
          * Cluster name. The option is a java.lang.String type.
          */
         public T clusterName(String clusterName) {
@@ -100,6 +117,14 @@ public interface CassandraEndpointBuilder {
             return (T) this;
         }
         /**
+         * Consistency level to use. The option will be converted to a
+         * com.datastax.driver.core.ConsistencyLevel type.
+         */
+        public T consistencyLevel(String consistencyLevel) {
+            this.properties.put("consistencyLevel", consistencyLevel);
+            return (T) this;
+        }
+        /**
          * CQL query to perform. Can be overridden with the message header with
          * key CamelCqlQuery. The option is a java.lang.String type.
          */
@@ -132,6 +157,14 @@ public interface CassandraEndpointBuilder {
             return (T) this;
         }
         /**
+         * Whether to use PreparedStatements or regular Statements. The option
+         * will be converted to a boolean type.
+         */
+        public T prepareStatements(String prepareStatements) {
+            this.properties.put("prepareStatements", prepareStatements);
+            return (T) this;
+        }
+        /**
          * To use a custom class that implements logic for converting ResultSet
          * into message body ALL, ONE, LIMIT_10, LIMIT_100... The option is a
          * java.lang.String type.
@@ -141,6 +174,15 @@ public interface CassandraEndpointBuilder {
             return (T) this;
         }
         /**
+         * To use a custom class that implements logic for converting ResultSet
+         * into message body ALL, ONE, LIMIT_10, LIMIT_100... The option will be
+         * converted to a java.lang.String type.
+         */
+        public T resultSetConversionStrategy(String resultSetConversionStrategy) {
+            this.properties.put("resultSetConversionStrategy", resultSetConversionStrategy);
+            return (T) this;
+        }
+        /**
          * To use the Session instance (you would normally not use this option).
          * The option is a com.datastax.driver.core.Session type.
          */
@@ -149,6 +191,15 @@ public interface CassandraEndpointBuilder {
             return (T) this;
         }
         /**
+         * To use the Session instance (you would normally not use this option).
+         * The option will be converted to a com.datastax.driver.core.Session
+         * type.
+         */
+        public T session(String session) {
+            this.properties.put("session", session);
+            return (T) this;
+        }
+        /**
          * Username for session authentication. The option is a java.lang.String
          * type.
          */
@@ -166,6 +217,15 @@ public interface CassandraEndpointBuilder {
             return (T) this;
         }
         /**
+         * Whether the endpoint should use basic property binding (Camel 2.x) or
+         * the newer property binding with additional capabilities. The option
+         * will be converted to a boolean type.
+         */
+        public T basicPropertyBinding(String basicPropertyBinding) {
+            this.properties.put("basicPropertyBinding", basicPropertyBinding);
+            return (T) this;
+        }
+        /**
          * Sets whether synchronous processing should be strictly used, or Camel
          * is allowed to use asynchronous processing (if supported). The option
          * is a boolean type.
@@ -174,6 +234,15 @@ public interface CassandraEndpointBuilder {
             this.properties.put("synchronous", synchronous);
             return (T) this;
         }
+        /**
+         * Sets whether synchronous processing should be strictly used, or Camel
+         * is allowed to use asynchronous processing (if supported). The option
+         * will be converted to a boolean type.
+         */
+        public T synchronous(String synchronous) {
+            this.properties.put("synchronous", synchronous);
+            return (T) this;
+        }
     }
 
     public static class CassandraConsumerBuilder
@@ -199,6 +268,20 @@ public interface CassandraEndpointBuilder {
             return (CassandraConsumerBuilder) this;
         }
         /**
+         * 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. The option will be converted to a boolean type.
+         */
+        public CassandraConsumerBuilder bridgeErrorHandler(
+                String bridgeErrorHandler) {
+            this.properties.put("bridgeErrorHandler", bridgeErrorHandler);
+            return (CassandraConsumerBuilder) this;
+        }
+        /**
          * If the polling consumer did not poll any files, you can enable this
          * option to send an empty message (no body) instead. The option is a
          * boolean type.
@@ -209,6 +292,16 @@ public interface CassandraEndpointBuilder {
             return (CassandraConsumerBuilder) this;
         }
         /**
+         * If the polling consumer did not poll any files, you can enable this
+         * option to send an empty message (no body) instead. The option will be
+         * converted to a boolean type.
+         */
+        public CassandraConsumerBuilder sendEmptyMessageWhenIdle(
+                String sendEmptyMessageWhenIdle) {
+            this.properties.put("sendEmptyMessageWhenIdle", sendEmptyMessageWhenIdle);
+            return (CassandraConsumerBuilder) this;
+        }
+        /**
          * 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
@@ -221,6 +314,17 @@ public interface CassandraEndpointBuilder {
             return (CassandraConsumerBuilder) this;
         }
         /**
+         * 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. The option will be
+         * converted to a org.apache.camel.spi.ExceptionHandler type.
+         */
+        public CassandraConsumerBuilder exceptionHandler(String exceptionHandler) {
+            this.properties.put("exceptionHandler", exceptionHandler);
+            return (CassandraConsumerBuilder) this;
+        }
+        /**
          * Sets the exchange pattern when the consumer creates an exchange. The
          * option is a org.apache.camel.ExchangePattern type.
          */
@@ -230,6 +334,14 @@ public interface CassandraEndpointBuilder {
             return (CassandraConsumerBuilder) this;
         }
         /**
+         * Sets the exchange pattern when the consumer creates an exchange. The
+         * option will be converted to a org.apache.camel.ExchangePattern type.
+         */
+        public CassandraConsumerBuilder exchangePattern(String exchangePattern) {
+            this.properties.put("exchangePattern", exchangePattern);
+            return (CassandraConsumerBuilder) this;
+        }
+        /**
          * A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing
          * you to provide your custom implementation to control error handling
          * usually occurred during the poll operation before an Exchange have
@@ -242,6 +354,17 @@ public interface CassandraEndpointBuilder {
             return (CassandraConsumerBuilder) this;
         }
         /**
+         * A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing
+         * you to provide your custom implementation to control error handling
+         * usually occurred during the poll operation before an Exchange have
+         * been created and being routed in Camel. The option will be converted
+         * to a org.apache.camel.spi.PollingConsumerPollStrategy type.
+         */
+        public CassandraConsumerBuilder pollStrategy(String pollStrategy) {
+            this.properties.put("pollStrategy", pollStrategy);
+            return (CassandraConsumerBuilder) this;
+        }
+        /**
          * The number of subsequent error polls (failed due some error) that
          * should happen before the backoffMultipler should kick-in. The option
          * is a int type.
@@ -252,6 +375,16 @@ public interface CassandraEndpointBuilder {
             return (CassandraConsumerBuilder) this;
         }
         /**
+         * The number of subsequent error polls (failed due some error) that
+         * should happen before the backoffMultipler should kick-in. The option
+         * will be converted to a int type.
+         */
+        public CassandraConsumerBuilder backoffErrorThreshold(
+                String backoffErrorThreshold) {
+            this.properties.put("backoffErrorThreshold", backoffErrorThreshold);
+            return (CassandraConsumerBuilder) this;
+        }
+        /**
          * The number of subsequent idle polls that should happen before the
          * backoffMultipler should kick-in. The option is a int type.
          */
@@ -261,6 +394,16 @@ public interface CassandraEndpointBuilder {
             return (CassandraConsumerBuilder) this;
         }
         /**
+         * The number of subsequent idle polls that should happen before the
+         * backoffMultipler should kick-in. The option will be converted to a
+         * int type.
+         */
+        public CassandraConsumerBuilder backoffIdleThreshold(
+                String backoffIdleThreshold) {
+            this.properties.put("backoffIdleThreshold", backoffIdleThreshold);
+            return (CassandraConsumerBuilder) this;
+        }
+        /**
          * To let the scheduled polling consumer backoff if there has been a
          * number of subsequent idles/errors in a row. The multiplier is then
          * the number of polls that will be skipped before the next actual
@@ -273,6 +416,19 @@ public interface CassandraEndpointBuilder {
             return (CassandraConsumerBuilder) this;
         }
         /**
+         * To let the scheduled polling consumer backoff if there has been a
+         * number of subsequent idles/errors in a row. The multiplier is then
+         * the number of polls that will be skipped before the next actual
+         * attempt is happening again. When this option is in use then
+         * backoffIdleThreshold and/or backoffErrorThreshold must also be
+         * configured. The option will be converted to a int type.
+         */
+        public CassandraConsumerBuilder backoffMultiplier(
+                String backoffMultiplier) {
+            this.properties.put("backoffMultiplier", backoffMultiplier);
+            return (CassandraConsumerBuilder) this;
+        }
+        /**
          * Milliseconds before the next poll. You can also specify time values
          * using units, such as 60s (60 seconds), 5m30s (5 minutes and 30
          * seconds), and 1h (1 hour). The option is a long type.
@@ -282,6 +438,16 @@ public interface CassandraEndpointBuilder {
             return (CassandraConsumerBuilder) this;
         }
         /**
+         * Milliseconds before the next poll. You can also specify time values
+         * using units, such as 60s (60 seconds), 5m30s (5 minutes and 30
+         * seconds), and 1h (1 hour). The option will be converted to a long
+         * type.
+         */
+        public CassandraConsumerBuilder delay(String delay) {
+            this.properties.put("delay", delay);
+            return (CassandraConsumerBuilder) this;
+        }
+        /**
          * If greedy is enabled, then the ScheduledPollConsumer will run
          * immediately again, if the previous run polled 1 or more messages. The
          * option is a boolean type.
@@ -291,6 +457,15 @@ public interface CassandraEndpointBuilder {
             return (CassandraConsumerBuilder) this;
         }
         /**
+         * If greedy is enabled, then the ScheduledPollConsumer will run
+         * immediately again, if the previous run polled 1 or more messages. The
+         * option will be converted to a boolean type.
+         */
+        public CassandraConsumerBuilder greedy(String greedy) {
+            this.properties.put("greedy", greedy);
+            return (CassandraConsumerBuilder) this;
+        }
+        /**
          * Milliseconds before the first poll starts. You can also specify time
          * values using units, such as 60s (60 seconds), 5m30s (5 minutes and 30
          * seconds), and 1h (1 hour). The option is a long type.
@@ -300,6 +475,16 @@ public interface CassandraEndpointBuilder {
             return (CassandraConsumerBuilder) this;
         }
         /**
+         * Milliseconds before the first poll starts. You can also specify time
+         * values using units, such as 60s (60 seconds), 5m30s (5 minutes and 30
+         * seconds), and 1h (1 hour). The option will be converted to a long
+         * type.
+         */
+        public CassandraConsumerBuilder initialDelay(String initialDelay) {
+            this.properties.put("initialDelay", initialDelay);
+            return (CassandraConsumerBuilder) this;
+        }
+        /**
          * The consumer logs a start/complete log line when it polls. This
          * option allows you to configure the logging level for that. The option
          * is a org.apache.camel.LoggingLevel type.
@@ -310,6 +495,15 @@ public interface CassandraEndpointBuilder {
             return (CassandraConsumerBuilder) this;
         }
         /**
+         * The consumer logs a start/complete log line when it polls. This
+         * option allows you to configure the logging level for that. The option
+         * will be converted to a org.apache.camel.LoggingLevel type.
+         */
+        public CassandraConsumerBuilder runLoggingLevel(String runLoggingLevel) {
+            this.properties.put("runLoggingLevel", runLoggingLevel);
+            return (CassandraConsumerBuilder) this;
+        }
+        /**
          * Allows for configuring a custom/shared thread pool to use for the
          * consumer. By default each consumer has its own single threaded thread
          * pool. The option is a java.util.concurrent.ScheduledExecutorService
@@ -321,6 +515,17 @@ public interface CassandraEndpointBuilder {
             return (CassandraConsumerBuilder) this;
         }
         /**
+         * Allows for configuring a custom/shared thread pool to use for the
+         * consumer. By default each consumer has its own single threaded thread
+         * pool. The option will be converted to a
+         * java.util.concurrent.ScheduledExecutorService type.
+         */
+        public CassandraConsumerBuilder scheduledExecutorService(
+                String scheduledExecutorService) {
+            this.properties.put("scheduledExecutorService", scheduledExecutorService);
+            return (CassandraConsumerBuilder) this;
+        }
+        /**
          * To use a cron scheduler from either camel-spring or camel-quartz2
          * component. The option is a
          * org.apache.camel.spi.ScheduledPollConsumerScheduler type.
@@ -331,6 +536,15 @@ public interface CassandraEndpointBuilder {
             return (CassandraConsumerBuilder) this;
         }
         /**
+         * To use a cron scheduler from either camel-spring or camel-quartz2
+         * component. The option will be converted to a
+         * org.apache.camel.spi.ScheduledPollConsumerScheduler type.
+         */
+        public CassandraConsumerBuilder scheduler(String scheduler) {
+            this.properties.put("scheduler", scheduler);
+            return (CassandraConsumerBuilder) this;
+        }
+        /**
          * To configure additional properties when using a custom scheduler or
          * any of the Quartz2, Spring based scheduler. The option is a
          * java.util.Map<java.lang.String,java.lang.Object> type.
@@ -341,6 +555,16 @@ public interface CassandraEndpointBuilder {
             return (CassandraConsumerBuilder) this;
         }
         /**
+         * To configure additional properties when using a custom scheduler or
+         * any of the Quartz2, Spring based scheduler. The option will be
+         * converted to a java.util.Map<java.lang.String,java.lang.Object> type.
+         */
+        public CassandraConsumerBuilder schedulerProperties(
+                String schedulerProperties) {
+            this.properties.put("schedulerProperties", schedulerProperties);
+            return (CassandraConsumerBuilder) this;
+        }
+        /**
          * Whether the scheduler should be auto started. The option is a boolean
          * type.
          */
@@ -349,6 +573,14 @@ public interface CassandraEndpointBuilder {
             return (CassandraConsumerBuilder) this;
         }
         /**
+         * Whether the scheduler should be auto started. The option will be
+         * converted to a boolean type.
+         */
+        public CassandraConsumerBuilder startScheduler(String startScheduler) {
+            this.properties.put("startScheduler", startScheduler);
+            return (CassandraConsumerBuilder) this;
+        }
+        /**
          * Time unit for initialDelay and delay options. The option is a
          * java.util.concurrent.TimeUnit type.
          */
@@ -357,6 +589,14 @@ public interface CassandraEndpointBuilder {
             return (CassandraConsumerBuilder) this;
         }
         /**
+         * Time unit for initialDelay and delay options. The option will be
+         * converted to a java.util.concurrent.TimeUnit type.
+         */
+        public CassandraConsumerBuilder timeUnit(String timeUnit) {
+            this.properties.put("timeUnit", timeUnit);
+            return (CassandraConsumerBuilder) this;
+        }
+        /**
          * Controls if fixed delay or fixed rate is used. See
          * ScheduledExecutorService in JDK for details. The option is a boolean
          * type.
@@ -365,6 +605,15 @@ public interface CassandraEndpointBuilder {
             this.properties.put("useFixedDelay", useFixedDelay);
             return (CassandraConsumerBuilder) this;
         }
+        /**
+         * Controls if fixed delay or fixed rate is used. See
+         * ScheduledExecutorService in JDK for details. The option will be
+         * converted to a boolean type.
+         */
+        public CassandraConsumerBuilder useFixedDelay(String useFixedDelay) {
+            this.properties.put("useFixedDelay", useFixedDelay);
+            return (CassandraConsumerBuilder) this;
+        }
     }
 
     public static class CassandraProducerBuilder
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/ChatScriptEndpointBuilder.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/ChatScriptEndpointBuilder.java
index b902f0b..9540b43 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/ChatScriptEndpointBuilder.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/ChatScriptEndpointBuilder.java
@@ -52,6 +52,14 @@ public interface ChatScriptEndpointBuilder {
             return (T) this;
         }
         /**
+         * Port on which ChatScript is listening to. The option will be
+         * converted to a int type.
+         */
+        public T port(String port) {
+            this.properties.put("port", port);
+            return (T) this;
+        }
+        /**
          * Name of the Bot in CS to converse with. The option is a
          * java.lang.String type.
          */
@@ -69,6 +77,15 @@ public interface ChatScriptEndpointBuilder {
             return (T) this;
         }
         /**
+         * Whether the endpoint should use basic property binding (Camel 2.x) or
+         * the newer property binding with additional capabilities. The option
+         * will be converted to a boolean type.
+         */
+        public T basicPropertyBinding(String basicPropertyBinding) {
+            this.properties.put("basicPropertyBinding", basicPropertyBinding);
+            return (T) this;
+        }
+        /**
          * Sets whether synchronous processing should be strictly used, or Camel
          * is allowed to use asynchronous processing (if supported). The option
          * is a boolean type.
@@ -78,6 +95,15 @@ public interface ChatScriptEndpointBuilder {
             return (T) this;
         }
         /**
+         * Sets whether synchronous processing should be strictly used, or Camel
+         * is allowed to use asynchronous processing (if supported). The option
+         * will be converted to a boolean type.
+         */
+        public T synchronous(String synchronous) {
+            this.properties.put("synchronous", synchronous);
+            return (T) this;
+        }
+        /**
          * Issues :reset command to start a new conversation everytime. The
          * option is a boolean type.
          */
@@ -86,6 +112,14 @@ public interface ChatScriptEndpointBuilder {
             return (T) this;
         }
         /**
+         * Issues :reset command to start a new conversation everytime. The
+         * option will be converted to a boolean type.
+         */
+        public T resetchat(String resetchat) {
+            this.properties.put("resetchat", resetchat);
+            return (T) this;
+        }
+        /**
          * Username who initializes the CS conversation. To be set when chat is
          * initialized from camel route. The option is a java.lang.String type.
          */
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/ChunkEndpointBuilder.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/ChunkEndpointBuilder.java
index 6efa021..880645f 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/ChunkEndpointBuilder.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/ChunkEndpointBuilder.java
@@ -57,6 +57,14 @@ public interface ChunkEndpointBuilder {
             return (T) this;
         }
         /**
+         * Sets whether to use resource content cache or not. The option will be
+         * converted to a boolean type.
+         */
+        public T contentCache(String contentCache) {
+            this.properties.put("contentCache", contentCache);
+            return (T) this;
+        }
+        /**
          * Define the encoding of the body. The option is a java.lang.String
          * type.
          */
@@ -106,6 +114,15 @@ public interface ChunkEndpointBuilder {
             return (T) this;
         }
         /**
+         * Whether the endpoint should use basic property binding (Camel 2.x) or
+         * the newer property binding with additional capabilities. The option
+         * will be converted to a boolean type.
+         */
+        public T basicPropertyBinding(String basicPropertyBinding) {
+            this.properties.put("basicPropertyBinding", basicPropertyBinding);
+            return (T) this;
+        }
+        /**
          * Sets whether synchronous processing should be strictly used, or Camel
          * is allowed to use asynchronous processing (if supported). The option
          * is a boolean type.
@@ -114,6 +131,15 @@ public interface ChunkEndpointBuilder {
             this.properties.put("synchronous", synchronous);
             return (T) this;
         }
+        /**
+         * Sets whether synchronous processing should be strictly used, or Camel
+         * is allowed to use asynchronous processing (if supported). The option
+         * will be converted to a boolean type.
+         */
+        public T synchronous(String synchronous) {
+            this.properties.put("synchronous", synchronous);
+            return (T) this;
+        }
     }
 
     public static class ChunkProducerBuilder
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/CinderEndpointBuilder.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/CinderEndpointBuilder.java
index e6650f2..a242b47 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/CinderEndpointBuilder.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/CinderEndpointBuilder.java
@@ -60,6 +60,14 @@ public interface CinderEndpointBuilder {
             return (T) this;
         }
         /**
+         * OpenStack configuration. The option will be converted to a
+         * org.openstack4j.core.transport.Config type.
+         */
+        public T config(String config) {
+            this.properties.put("config", config);
+            return (T) this;
+        }
+        /**
          * Authentication domain. The option is a java.lang.String type.
          */
         public T domain(String domain) {
@@ -111,6 +119,15 @@ public interface CinderEndpointBuilder {
             return (T) this;
         }
         /**
+         * Whether the endpoint should use basic property binding (Camel 2.x) or
+         * the newer property binding with additional capabilities. The option
+         * will be converted to a boolean type.
+         */
+        public T basicPropertyBinding(String basicPropertyBinding) {
+            this.properties.put("basicPropertyBinding", basicPropertyBinding);
+            return (T) this;
+        }
+        /**
          * Sets whether synchronous processing should be strictly used, or Camel
          * is allowed to use asynchronous processing (if supported). The option
          * is a boolean type.
@@ -119,6 +136,15 @@ public interface CinderEndpointBuilder {
             this.properties.put("synchronous", synchronous);
             return (T) this;
         }
+        /**
+         * Sets whether synchronous processing should be strictly used, or Camel
+         * is allowed to use asynchronous processing (if supported). The option
+         * will be converted to a boolean type.
+         */
+        public T synchronous(String synchronous) {
+            this.properties.put("synchronous", synchronous);
+            return (T) this;
+        }
     }
 
     public static class CinderProducerBuilder
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/ClassEndpointBuilder.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/ClassEndpointBuilder.java
index 03ad30b..6588393 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/ClassEndpointBuilder.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/ClassEndpointBuilder.java
@@ -63,6 +63,15 @@ public interface ClassEndpointBuilder {
             return (T) this;
         }
         /**
+         * Whether the endpoint should use basic property binding (Camel 2.x) or
+         * the newer property binding with additional capabilities. The option
+         * will be converted to a boolean type.
+         */
+        public T basicPropertyBinding(String basicPropertyBinding) {
+            this.properties.put("basicPropertyBinding", basicPropertyBinding);
+            return (T) this;
+        }
+        /**
          * If enabled, Camel will cache the result of the first Registry
          * look-up. Cache can be enabled if the bean in the Registry is defined
          * as a singleton scope. The option is a java.lang.Boolean type.
@@ -72,6 +81,16 @@ public interface ClassEndpointBuilder {
             return (T) this;
         }
         /**
+         * If enabled, Camel will cache the result of the first Registry
+         * look-up. Cache can be enabled if the bean in the Registry is defined
+         * as a singleton scope. The option will be converted to a
+         * java.lang.Boolean type.
+         */
+        public T cache(String cache) {
+            this.properties.put("cache", cache);
+            return (T) this;
+        }
+        /**
          * Used for configuring additional properties on the bean. The option is
          * a java.util.Map<java.lang.String,java.lang.Object> type.
          */
@@ -80,6 +99,15 @@ public interface ClassEndpointBuilder {
             return (T) this;
         }
         /**
+         * Used for configuring additional properties on the bean. The option
+         * will be converted to a
+         * java.util.Map<java.lang.String,java.lang.Object> type.
+         */
+        public T parameters(String parameters) {
+            this.properties.put("parameters", parameters);
+            return (T) this;
+        }
+        /**
          * Sets whether synchronous processing should be strictly used, or Camel
          * is allowed to use asynchronous processing (if supported). The option
          * is a boolean type.
@@ -88,6 +116,15 @@ public interface ClassEndpointBuilder {
             this.properties.put("synchronous", synchronous);
             return (T) this;
         }
+        /**
+         * Sets whether synchronous processing should be strictly used, or Camel
+         * is allowed to use asynchronous processing (if supported). The option
+         * will be converted to a boolean type.
+         */
+        public T synchronous(String synchronous) {
+            this.properties.put("synchronous", synchronous);
+            return (T) this;
+        }
     }
 
     public static class ClassProducerBuilder
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/ClientEndpointBuilder.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/ClientEndpointBuilder.java
index 9bbdfa1..0580aff 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/ClientEndpointBuilder.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/ClientEndpointBuilder.java
@@ -50,6 +50,14 @@ public interface ClientEndpointBuilder {
             return (T) this;
         }
         /**
+         * The object information address. The option will be converted to a
+         * org.apache.camel.component.iec60870.ObjectAddress type.
+         */
+        public T uriPath(String uriPath) {
+            this.properties.put("uriPath", uriPath);
+            return (T) this;
+        }
+        /**
          * Data module options. The option is a DataModuleOptions type.
          */
         public T dataModuleOptions(Object dataModuleOptions) {
@@ -57,6 +65,14 @@ public interface ClientEndpointBuilder {
             return (T) this;
         }
         /**
+         * Data module options. The option will be converted to a
+         * DataModuleOptions type.
+         */
+        public T dataModuleOptions(String dataModuleOptions) {
+            this.properties.put("dataModuleOptions", dataModuleOptions);
+            return (T) this;
+        }
+        /**
          * Protocol options. The option is a ProtocolOptions type.
          */
         public T protocolOptions(Object protocolOptions) {
@@ -64,6 +80,14 @@ public interface ClientEndpointBuilder {
             return (T) this;
         }
         /**
+         * Protocol options. The option will be converted to a ProtocolOptions
+         * type.
+         */
+        public T protocolOptions(String protocolOptions) {
+            this.properties.put("protocolOptions", protocolOptions);
+            return (T) this;
+        }
+        /**
          * Whether the endpoint should use basic property binding (Camel 2.x) or
          * the newer property binding with additional capabilities. The option
          * is a boolean type.
@@ -73,6 +97,15 @@ public interface ClientEndpointBuilder {
             return (T) this;
         }
         /**
+         * Whether the endpoint should use basic property binding (Camel 2.x) or
+         * the newer property binding with additional capabilities. The option
+         * will be converted to a boolean type.
+         */
+        public T basicPropertyBinding(String basicPropertyBinding) {
+            this.properties.put("basicPropertyBinding", basicPropertyBinding);
+            return (T) this;
+        }
+        /**
          * Sets whether synchronous processing should be strictly used, or Camel
          * is allowed to use asynchronous processing (if supported). The option
          * is a boolean type.
@@ -82,6 +115,15 @@ public interface ClientEndpointBuilder {
             return (T) this;
         }
         /**
+         * Sets whether synchronous processing should be strictly used, or Camel
+         * is allowed to use asynchronous processing (if supported). The option
+         * will be converted to a boolean type.
+         */
+        public T synchronous(String synchronous) {
+            this.properties.put("synchronous", synchronous);
+            return (T) this;
+        }
+        /**
          * Parameter W - Acknowledgment window. The option is a short type.
          */
         public T acknowledgeWindow(short acknowledgeWindow) {
@@ -89,6 +131,14 @@ public interface ClientEndpointBuilder {
             return (T) this;
         }
         /**
+         * Parameter W - Acknowledgment window. The option will be converted to
+         * a short type.
+         */
+        public T acknowledgeWindow(String acknowledgeWindow) {
+            this.properties.put("acknowledgeWindow", acknowledgeWindow);
+            return (T) this;
+        }
+        /**
          * The common ASDU address size. May be either SIZE_1 or SIZE_2. The
          * option is a org.eclipse.neoscada.protocol.iec60870.ASDUAddressType
          * type.
@@ -98,6 +148,15 @@ public interface ClientEndpointBuilder {
             return (T) this;
         }
         /**
+         * The common ASDU address size. May be either SIZE_1 or SIZE_2. The
+         * option will be converted to a
+         * org.eclipse.neoscada.protocol.iec60870.ASDUAddressType type.
+         */
+        public T adsuAddressType(String adsuAddressType) {
+            this.properties.put("adsuAddressType", adsuAddressType);
+            return (T) this;
+        }
+        /**
          * The cause of transmission type. May be either SIZE_1 or SIZE_2. The
          * option is a
          * org.eclipse.neoscada.protocol.iec60870.CauseOfTransmissionType type.
@@ -108,6 +167,15 @@ public interface ClientEndpointBuilder {
             return (T) this;
         }
         /**
+         * The cause of transmission type. May be either SIZE_1 or SIZE_2. The
+         * option will be converted to a
+         * org.eclipse.neoscada.protocol.iec60870.CauseOfTransmissionType type.
+         */
+        public T causeOfTransmissionType(String causeOfTransmissionType) {
+            this.properties.put("causeOfTransmissionType", causeOfTransmissionType);
+            return (T) this;
+        }
+        /**
          * The information address size. May be either SIZE_1, SIZE_2 or SIZE_3.
          * The option is a
          * org.eclipse.neoscada.protocol.iec60870.InformationObjectAddressType
@@ -119,6 +187,17 @@ public interface ClientEndpointBuilder {
             return (T) this;
         }
         /**
+         * The information address size. May be either SIZE_1, SIZE_2 or SIZE_3.
+         * The option will be converted to a
+         * org.eclipse.neoscada.protocol.iec60870.InformationObjectAddressType
+         * type.
+         */
+        public T informationObjectAddressType(
+                String informationObjectAddressType) {
+            this.properties.put("informationObjectAddressType", informationObjectAddressType);
+            return (T) this;
+        }
+        /**
          * Parameter K - Maximum number of un-acknowledged messages. The option
          * is a short type.
          */
@@ -127,6 +206,14 @@ public interface ClientEndpointBuilder {
             return (T) this;
         }
         /**
+         * Parameter K - Maximum number of un-acknowledged messages. The option
+         * will be converted to a short type.
+         */
+        public T maxUnacknowledged(String maxUnacknowledged) {
+            this.properties.put("maxUnacknowledged", maxUnacknowledged);
+            return (T) this;
+        }
+        /**
          * Timeout T1 in milliseconds. The option is a int type.
          */
         public T timeout1(int timeout1) {
@@ -134,6 +221,14 @@ public interface ClientEndpointBuilder {
             return (T) this;
         }
         /**
+         * Timeout T1 in milliseconds. The option will be converted to a int
+         * type.
+         */
+        public T timeout1(String timeout1) {
+            this.properties.put("timeout1", timeout1);
... 70303 lines suppressed ...