You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2019/08/14 07:52:54 UTC

[camel] branch master updated (8f0b29a -> 908e51b)

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

davsclaus pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git.


    from 8f0b29a  use isArrayOrCollection
     new a1594cb  CAMEL-13850: Optimize model classes to provide changeable properties that support property placeholders to avoid reflection. Work in progress.
     new 1c28757  CAMEL-13850: Optimize model classes to provide changeable properties that support property placeholders to avoid reflection. Work in progress.
     new a8397b9  CAMEL-13850: Optimize model classes to provide changeable properties that support property placeholders to avoid reflection. Work in progress.
     new ec24d17  CAMEL-13850: Optimize model classes to provide changeable properties that support property placeholders to avoid reflection. Work in progress.
     new 0fb0413  CAMEL-13850: Optimize model classes to provide changeable properties that support property placeholders to avoid reflection. Work in progress.
     new c947278  CAMEL-13850: Optimize model classes to provide changeable properties that support property placeholders to avoid reflection. Work in progress.
     new 99836d9  CAMEL-13850: Optimize model classes to provide changeable properties that support property placeholders to avoid reflection. Work in progress.
     new c2fb87f  CAMEL-13850: Optimize model classes to provide changeable properties that support property placeholders to avoid reflection. Work in progress.
     new bc06649  CAMEL-13850: Fixed CS
     new 386687c  CAMEL-13850: Polished
     new e59cf7a  CAMEL-13850: Optimize model classes to provide changeable properties that support property placeholders to avoid reflection. Work in progress.
     new 59309b7  CAMEL-13850: Optimize model classes to provide changeable properties that support property placeholders to avoid reflection. Work in progress.
     new 06fbd61  CAMEL-13850: Optimize model classes to provide changeable properties that support property placeholders to avoid reflection. Work in progress.
     new cf12f9c  CAMEL-13850: Remove resolvePropertyPlaceholders on DefaultComponent as this is already supported via camel main, spring boot and other means. This avoid reflection overhead on bootstrap.
     new 6701fa4  CAMEL-13850: Remove resolvePropertyPlaceholders on DefaultComponent as this is already supported via camel main, spring boot and other means. This avoid reflection overhead on bootstrap.
     new f14ba3f  CAMEL-13850: Source code generate ExchangeConstantProvider so we can do fast lookup of its constant values without reflection
     new 17cfc8e  CAMEL-13850: Source code generate ExchangeConstantProvider so we can do fast lookup of its constant values without reflection
     new f6cf229  CAMEL-13850: Source code generate ExchangeConstantProvider so we can do fast lookup of its constant values without reflection
     new 4bf7fda  CAMEL-13863: camel3 - Optimize XmlConverterLoader and other loaders as synchronization is not needed as the loader is invoked during bootstrapping.
     new ed97387  CAMEL-13863: Regen
     new 908e51b  Upgrade groovy and logger

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


Summary of changes:
 MIGRATION.md                                       |   3 +
 .../src/main/docs/activemq-component.adoc          |   6 +-
 .../src/main/docs/ahc-ws-component.adoc            |   6 +-
 .../camel-ahc/src/main/docs/ahc-component.adoc     |   6 +-
 .../camel-amqp/src/main/docs/amqp-component.adoc   |   6 +-
 .../camel-apns/src/main/docs/apns-component.adoc   |   6 +-
 .../src/main/docs/as2-component.adoc               |   6 +-
 .../src/main/docs/asterisk-component.adoc          |   6 +-
 .../camel-atmos/src/main/docs/atmos-component.adoc |   6 +-
 .../main/docs/atmosphere-websocket-component.adoc  |   6 +-
 .../camel-atom/src/main/docs/atom-component.adoc   |   6 +-
 .../src/main/docs/atomix-map-component.adoc        |   6 +-
 .../src/main/docs/atomix-messaging-component.adoc  |   6 +-
 .../src/main/docs/atomix-multimap-component.adoc   |   6 +-
 .../src/main/docs/atomix-queue-component.adoc      |   6 +-
 .../src/main/docs/atomix-set-component.adoc        |   6 +-
 .../src/main/docs/atomix-value-component.adoc      |   6 +-
 .../camel-avro/src/main/docs/avro-component.adoc   |   6 +-
 .../camel-avro/src/main/docs/avro-dataformat.adoc  |   3 +-
 .../src/main/docs/aws-cw-component.adoc            |   6 +-
 .../src/main/docs/aws-ddb-component.adoc           |   6 +-
 .../src/main/docs/aws-ddbstream-component.adoc     |   6 +-
 .../src/main/docs/aws-ec2-component.adoc           |   6 +-
 .../src/main/docs/aws-ecs-component.adoc           |   6 +-
 .../src/main/docs/aws-eks-component.adoc           |   6 +-
 .../src/main/docs/aws-iam-component.adoc           |   6 +-
 .../src/main/docs/aws-kinesis-component.adoc       |   6 +-
 .../main/docs/aws-kinesis-firehose-component.adoc  |   6 +-
 .../src/main/docs/aws-kms-component.adoc           |   6 +-
 .../src/main/docs/aws-lambda-component.adoc        |   6 +-
 .../src/main/docs/aws-mq-component.adoc            |   6 +-
 .../src/main/docs/aws-msk-component.adoc           |   6 +-
 .../src/main/docs/aws-s3-component.adoc            |   6 +-
 .../src/main/docs/aws-sdb-component.adoc           |   6 +-
 .../src/main/docs/aws-ses-component.adoc           |   6 +-
 .../src/main/docs/aws-sns-component.adoc           |   6 +-
 .../src/main/docs/aws-sqs-component.adoc           |   6 +-
 .../src/main/docs/aws-swf-component.adoc           |   6 +-
 .../src/main/docs/azure-blob-component.adoc        |   6 +-
 .../src/main/docs/azure-queue-component.adoc       |   6 +-
 .../src/main/docs/bean-validator-component.adoc    |   6 +-
 .../camel-bean/src/main/docs/bean-component.adoc   |   3 +-
 .../camel-bean/src/main/docs/class-component.adoc  |   3 +-
 .../src/main/docs/beanstalk-component.adoc         |   6 +-
 .../src/main/docs/bonita-component.adoc            |   6 +-
 .../src/main/docs/box-component.adoc               |   6 +-
 .../src/main/docs/braintree-component.adoc         |   6 +-
 .../src/main/docs/browse-component.adoc            |   6 +-
 .../src/main/docs/caffeine-cache-component.adoc    |   6 +-
 .../main/docs/caffeine-loadcache-component.adoc    |   6 +-
 .../src/main/docs/cql-component.adoc               |   6 +-
 .../src/main/docs/chatscript-component.adoc        |   6 +-
 .../camel-chunk/src/main/docs/chunk-component.adoc |   6 +-
 .../src/main/docs/cm-sms-component.adoc            |   6 +-
 .../camel-cmis/src/main/docs/cmis-component.adoc   |   6 +-
 .../camel-coap/src/main/docs/coap-component.adoc   |   6 +-
 .../src/main/docs/cometd-component.adoc            |   6 +-
 .../src/main/docs/consul-component.adoc            |   6 +-
 .../src/main/docs/controlbus-component.adoc        |   6 +-
 .../camel-corda/src/main/docs/corda-component.adoc |   6 +-
 .../src/main/docs/couchbase-component.adoc         |   6 +-
 .../src/main/docs/couchdb-component.adoc           |   6 +-
 .../src/main/docs/crypto-cms-component.adoc        |   6 +-
 .../src/main/docs/crypto-component.adoc            |   6 +-
 .../src/main/docs/crypto-dataformat.adoc           |   3 +-
 .../camel-cxf/src/main/docs/cxf-component.adoc     |   6 +-
 .../camel-cxf/src/main/docs/cxfrs-component.adoc   |   6 +-
 .../src/main/docs/dataformat-component.adoc        |   6 +-
 .../src/main/docs/dataset-component.adoc           |   6 +-
 .../src/main/docs/dataset-test-component.adoc      |   6 +-
 .../src/main/docs/digitalocean-component.adoc      |   6 +-
 .../src/main/docs/direct-component.adoc            |   6 +-
 .../src/main/docs/direct-vm-component.adoc         |   3 +-
 .../src/main/docs/disruptor-component.adoc         |   7 +-
 .../camel-dns/src/main/docs/dns-component.adoc     |   6 +-
 .../src/main/docs/docker-component.adoc            |   6 +-
 .../camel-dozer/src/main/docs/dozer-component.adoc |   6 +-
 .../camel-drill/src/main/docs/drill-component.adoc |   6 +-
 .../src/main/docs/dropbox-component.adoc           |   6 +-
 .../src/main/docs/ehcache-component.adoc           |   6 +-
 .../main/docs/elasticsearch-rest-component.adoc    |   6 +-
 .../camel-elsql/src/main/docs/elsql-component.adoc |   6 +-
 .../camel-etcd/src/main/docs/etcd-component.adoc   |   6 +-
 .../src/main/docs/eventadmin-component.adoc        |   3 +-
 .../camel-exec/src/main/docs/exec-component.adoc   |   6 +-
 .../src/main/docs/facebook-component.adoc          |   6 +-
 .../src/main/docs/fhir-component.adoc              |   6 +-
 .../src/main/docs/file-watch-component.adoc        |   6 +-
 .../camel-file/src/main/docs/file-component.adoc   |   6 +-
 .../src/main/docs/flatpack-component.adoc          |   6 +-
 .../src/main/docs/flatpack-dataformat.adoc         |   3 +-
 .../camel-flink/src/main/docs/flink-component.adoc |   6 +-
 .../camel-fop/src/main/docs/fop-component.adoc     |   6 +-
 .../src/main/docs/freemarker-component.adoc        |   6 +-
 .../camel-ftp/src/main/docs/ftp-component.adoc     |   6 +-
 .../camel-ftp/src/main/docs/ftps-component.adoc    |   6 +-
 .../camel-ftp/src/main/docs/sftp-component.adoc    |   3 +-
 .../src/main/docs/ganglia-component.adoc           |   6 +-
 .../src/main/docs/geocoder-component.adoc          |   6 +-
 .../camel-git/src/main/docs/git-component.adoc     |   6 +-
 .../src/main/docs/github-component.adoc            |   6 +-
 .../src/main/docs/google-bigquery-component.adoc   |   6 +-
 .../main/docs/google-bigquery-sql-component.adoc   |   6 +-
 .../src/main/docs/google-calendar-component.adoc   |   6 +-
 .../docs/google-calendar-stream-component.adoc     |   6 +-
 .../src/main/docs/google-drive-component.adoc      |   6 +-
 .../src/main/docs/google-mail-component.adoc       |   6 +-
 .../main/docs/google-mail-stream-component.adoc    |   6 +-
 .../src/main/docs/google-pubsub-component.adoc     |   6 +-
 .../src/main/docs/google-sheets-component.adoc     |   6 +-
 .../main/docs/google-sheets-stream-component.adoc  |   6 +-
 .../camel-gora/src/main/docs/gora-component.adoc   |   6 +-
 .../camel-grape/src/main/docs/grape-component.adoc |   3 +-
 .../camel-grpc/src/main/docs/grpc-component.adoc   |   6 +-
 .../src/main/docs/guava-eventbus-component.adoc    |   6 +-
 .../main/docs/hazelcast-atomicvalue-component.adoc |   6 +-
 .../main/docs/hazelcast-instance-component.adoc    |   6 +-
 .../src/main/docs/hazelcast-list-component.adoc    |   6 +-
 .../src/main/docs/hazelcast-map-component.adoc     |   6 +-
 .../main/docs/hazelcast-multimap-component.adoc    |   6 +-
 .../src/main/docs/hazelcast-queue-component.adoc   |   6 +-
 .../docs/hazelcast-replicatedmap-component.adoc    |   6 +-
 .../main/docs/hazelcast-ringbuffer-component.adoc  |   6 +-
 .../src/main/docs/hazelcast-seda-component.adoc    |   6 +-
 .../src/main/docs/hazelcast-set-component.adoc     |   6 +-
 .../src/main/docs/hazelcast-topic-component.adoc   |   6 +-
 .../camel-hbase/src/main/docs/hbase-component.adoc |   6 +-
 .../camel-hdfs/src/main/docs/hdfs-component.adoc   |   6 +-
 .../src/main/docs/hipchat-component.adoc           |   6 +-
 .../camel-http/src/main/docs/http-component.adoc   |   6 +-
 .../src/main/docs/iec60870-client-component.adoc   |   6 +-
 .../src/main/docs/iec60870-server-component.adoc   |   6 +-
 .../src/main/docs/ignite-cache-component.adoc      |   6 +-
 .../src/main/docs/ignite-compute-component.adoc    |   6 +-
 .../src/main/docs/ignite-events-component.adoc     |   6 +-
 .../src/main/docs/ignite-idgen-component.adoc      |   6 +-
 .../src/main/docs/ignite-messaging-component.adoc  |   6 +-
 .../src/main/docs/ignite-queue-component.adoc      |   6 +-
 .../src/main/docs/ignite-set-component.adoc        |   6 +-
 .../src/main/docs/infinispan-component.adoc        |   6 +-
 .../src/main/docs/influxdb-component.adoc          |   6 +-
 .../camel-iota/src/main/docs/iota-component.adoc   |   6 +-
 .../camel-ipfs/src/main/docs/ipfs-component.adoc   |   6 +-
 .../camel-irc/src/main/docs/irc-component.adoc     |   6 +-
 .../src/main/docs/ironmq-component.adoc            |   6 +-
 .../camel-jbpm/src/main/docs/jbpm-component.adoc   |   6 +-
 .../src/main/docs/jcache-component.adoc            |   6 +-
 .../src/main/docs/jclouds-component.adoc           |   6 +-
 .../camel-jcr/src/main/docs/jcr-component.adoc     |   6 +-
 .../camel-jdbc/src/main/docs/jdbc-component.adoc   |   6 +-
 .../camel-jetty/src/main/docs/jetty-component.adoc |   6 +-
 .../src/main/docs/jgroups-raft-component.adoc      |   6 +-
 .../src/main/docs/jgroups-component.adoc           |   6 +-
 .../camel-jing/src/main/docs/jing-component.adoc   |   6 +-
 .../camel-jira/src/main/docs/jira-component.adoc   |   6 +-
 .../camel-jms/src/main/docs/jms-component.adoc     |   6 +-
 .../camel-jmx/src/main/docs/jmx-component.adoc     |   6 +-
 .../camel-jolt/src/main/docs/jolt-component.adoc   |   6 +-
 .../camel-jooq/src/main/docs/jooq-component.adoc   |   6 +-
 .../camel-jpa/src/main/docs/jpa-component.adoc     |   6 +-
 .../camel-jsch/src/main/docs/scp-component.adoc    |   6 +-
 .../src/main/docs/json-validator-component.adoc    |   6 +-
 .../camel-jt400/src/main/docs/jt400-component.adoc |   6 +-
 .../camel-kafka/src/main/docs/kafka-component.adoc |   6 +-
 .../docs/kubernetes-config-maps-component.adoc     |   6 +-
 .../docs/kubernetes-deployments-component.adoc     |   6 +-
 .../src/main/docs/kubernetes-hpa-component.adoc    |   6 +-
 .../src/main/docs/kubernetes-job-component.adoc    |   6 +-
 .../main/docs/kubernetes-namespaces-component.adoc |   6 +-
 .../src/main/docs/kubernetes-nodes-component.adoc  |   6 +-
 ...rnetes-persistent-volumes-claims-component.adoc |   6 +-
 .../kubernetes-persistent-volumes-component.adoc   |   6 +-
 .../src/main/docs/kubernetes-pods-component.adoc   |   6 +-
 ...bernetes-replication-controllers-component.adoc |   6 +-
 .../docs/kubernetes-resources-quota-component.adoc |   6 +-
 .../main/docs/kubernetes-secrets-component.adoc    |   6 +-
 .../kubernetes-service-accounts-component.adoc     |   6 +-
 .../main/docs/kubernetes-services-component.adoc   |   6 +-
 .../docs/openshift-build-configs-component.adoc    |   3 +-
 .../src/main/docs/openshift-builds-component.adoc  |   3 +-
 .../src/main/docs/language-component.adoc          |   6 +-
 .../camel-ldap/src/main/docs/ldap-component.adoc   |   6 +-
 .../camel-ldif/src/main/docs/ldif-component.adoc   |   6 +-
 .../src/main/docs/linkedin-component.adoc          |   6 +-
 .../camel-log/src/main/docs/log-component.adoc     |   6 +-
 .../src/main/docs/lucene-component.adoc            |   6 +-
 .../src/main/docs/lumberjack-component.adoc        |   6 +-
 .../camel-mail/src/main/docs/mail-component.adoc   |   6 +-
 .../src/main/docs/master-component.adoc            |   6 +-
 .../src/main/docs/metrics-component.adoc           |   6 +-
 .../src/main/docs/micrometer-component.adoc        |   6 +-
 .../src/main/docs/milo-client-component.adoc       |   6 +-
 .../src/main/docs/milo-server-component.adoc       |   6 +-
 .../camel-mina/src/main/docs/mina-component.adoc   |   6 +-
 .../camel-mllp/src/main/docs/mllp-component.adoc   |   6 +-
 .../camel-mock/src/main/docs/mock-component.adoc   |   3 +-
 .../src/main/docs/mongodb-gridfs-component.adoc    |   6 +-
 .../src/main/docs/mongodb-component.adoc           |   6 +-
 .../camel-mqtt/src/main/docs/mqtt-component.adoc   |   6 +-
 .../camel-msv/src/main/docs/msv-component.adoc     |   6 +-
 .../src/main/docs/mustache-component.adoc          |   6 +-
 .../camel-mvel/src/main/docs/mvel-component.adoc   |   6 +-
 .../camel-mvel/src/main/docs/mvel-language.adoc    |   3 +-
 .../src/main/docs/mybatis-bean-component.adoc      |   6 +-
 .../src/main/docs/mybatis-component.adoc           |   6 +-
 .../src/main/docs/nagios-component.adoc            |   6 +-
 .../camel-nats/src/main/docs/nats-component.adoc   |   6 +-
 .../src/main/docs/netty-http-component.adoc        |   6 +-
 .../camel-netty/src/main/docs/netty-component.adoc |   6 +-
 .../camel-nsq/src/main/docs/nsq-component.adoc     |   6 +-
 .../src/main/docs/olingo2-component.adoc           |   6 +-
 .../src/main/docs/olingo4-component.adoc           |   6 +-
 .../src/main/docs/openstack-cinder-component.adoc  |   6 +-
 .../src/main/docs/openstack-glance-component.adoc  |   6 +-
 .../main/docs/openstack-keystone-component.adoc    |   6 +-
 .../src/main/docs/openstack-neutron-component.adoc |   6 +-
 .../src/main/docs/openstack-nova-component.adoc    |   6 +-
 .../src/main/docs/openstack-swift-component.adoc   |   6 +-
 .../src/main/docs/optaplanner-component.adoc       |   6 +-
 .../camel-paho/src/main/docs/paho-component.adoc   |   6 +-
 .../src/main/docs/paxlogging-component.adoc        |   3 +-
 .../camel-pdf/src/main/docs/pdf-component.adoc     |   6 +-
 .../main/docs/pg-replication-slot-component.adoc   |   6 +-
 .../src/main/docs/pgevent-component.adoc           |   6 +-
 .../camel-printer/src/main/docs/lpr-component.adoc |   6 +-
 .../src/main/docs/properties-component.adoc        |   6 +-
 .../src/main/docs/pubnub-component.adoc            |   6 +-
 .../src/main/docs/pulsar-component.adoc            |   8 +-
 .../src/main/docs/quartz-component.adoc            |   6 +-
 .../src/main/docs/quickfix-component.adoc          |   6 +-
 .../src/main/docs/rabbitmq-component.adoc          |   6 +-
 .../src/main/docs/reactive-streams-component.adoc  |   6 +-
 .../camel-ref/src/main/docs/ref-component.adoc     |   6 +-
 .../src/main/docs/rest-swagger-component.adoc      |   6 +-
 .../src/main/docs/rest-api-component.adoc          |   6 +-
 .../camel-rest/src/main/docs/rest-component.adoc   |   6 +-
 .../src/main/docs/restlet-component.adoc           |   6 +-
 .../camel-rss/src/main/docs/rss-component.adoc     |   6 +-
 .../camel-rss/src/main/docs/rss-dataformat.adoc    |   3 +-
 .../camel-saga/src/main/docs/saga-component.adoc   |   6 +-
 .../src/main/docs/salesforce-component.adoc        |   6 +-
 .../src/main/docs/sap-netweaver-component.adoc     |   6 +-
 .../src/main/docs/xquery-component.adoc            |   6 +-
 .../camel-saxon/src/main/docs/xquery-language.adoc |   3 +-
 .../src/main/docs/scheduler-component.adoc         |   6 +-
 .../src/main/docs/schematron-component.adoc        |   6 +-
 .../camel-seda/src/main/docs/seda-component.adoc   |   6 +-
 .../src/main/docs/service-component.adoc           |   6 +-
 .../src/main/docs/servicenow-component.adoc        |   6 +-
 .../src/main/docs/servlet-component.adoc           |   6 +-
 .../camel-sip/src/main/docs/sip-component.adoc     |   6 +-
 .../src/main/docs/sjms-batch-component.adoc        |   6 +-
 .../camel-sjms/src/main/docs/sjms-component.adoc   |   6 +-
 .../camel-sjms2/src/main/docs/sjms2-component.adoc |   6 +-
 .../camel-slack/src/main/docs/slack-component.adoc |   6 +-
 .../camel-smpp/src/main/docs/smpp-component.adoc   |   6 +-
 .../camel-snmp/src/main/docs/snmp-component.adoc   |   6 +-
 .../camel-solr/src/main/docs/solr-component.adoc   |   6 +-
 .../src/main/docs/soroush-component.adoc           |   6 +-
 .../src/main/docs/spark-rest-component.adoc        |   3 +-
 .../camel-spark/src/main/docs/spark-component.adoc |   6 +-
 .../src/main/docs/splunk-component.adoc            |   6 +-
 .../src/main/docs/spring-batch-component.adoc      |   6 +-
 .../main/docs/spring-integration-component.adoc    |   6 +-
 .../src/main/docs/spring-ldap-component.adoc       |   6 +-
 .../src/main/docs/spring-redis-component.adoc      |   6 +-
 .../src/main/docs/spring-ws-component.adoc         |   6 +-
 .../src/main/docs/spring-event-component.adoc      |   6 +-
 .../camel-sql/src/main/docs/sql-component.adoc     |   6 +-
 .../src/main/docs/sql-stored-component.adoc        |   6 +-
 .../camel-ssh/src/main/docs/ssh-component.adoc     |   6 +-
 .../camel-stax/src/main/docs/stax-component.adoc   |   6 +-
 .../camel-stomp/src/main/docs/stomp-component.adoc |   6 +-
 .../src/main/docs/stream-component.adoc            |   6 +-
 .../src/main/docs/string-template-component.adoc   |   6 +-
 .../camel-stub/src/main/docs/stub-component.adoc   |   6 +-
 .../src/main/docs/telegram-component.adoc          |   6 +-
 .../src/main/docs/thrift-component.adoc            |   6 +-
 .../src/main/docs/thrift-dataformat.adoc           |   3 +-
 .../camel-tika/src/main/docs/tika-component.adoc   |   6 +-
 .../camel-timer/src/main/docs/timer-component.adoc |   6 +-
 .../src/main/docs/twilio-component.adoc            |   6 +-
 .../main/docs/twitter-directmessage-component.adoc |   6 +-
 .../src/main/docs/twitter-search-component.adoc    |   6 +-
 .../src/main/docs/twitter-timeline-component.adoc  |   6 +-
 .../src/main/docs/undertow-component.adoc          |   6 +-
 .../src/main/docs/validator-component.adoc         |   6 +-
 .../src/main/docs/velocity-component.adoc          |   6 +-
 .../camel-vertx/src/main/docs/vertx-component.adoc |   6 +-
 .../camel-vm/src/main/docs/vm-component.adoc       |   6 +-
 .../src/main/docs/weather-component.adoc           |   6 +-
 .../camel-web3j/src/main/docs/web3j-component.adoc |   6 +-
 .../src/main/docs/webhook-component.adoc           |   6 +-
 .../src/main/docs/websocket-jsr356-component.adoc  |   6 +-
 .../src/main/docs/websocket-component.adoc         |   6 +-
 .../src/main/docs/wordpress-component.adoc         |   6 +-
 .../src/main/docs/xchange-component.adoc           |   6 +-
 .../src/main/docs/xmlsecurity-component.adoc       |   6 +-
 .../camel-xmpp/src/main/docs/xmpp-component.adoc   |   6 +-
 .../camel-xslt/src/main/docs/xslt-component.adoc   |   6 +-
 .../src/main/docs/yammer-component.adoc            |   6 +-
 .../src/main/docs/zendesk-component.adoc           |   6 +-
 .../src/main/docs/zookeeper-master-component.adoc  |   6 +-
 .../src/main/docs/zookeeper-component.adoc         |   6 +-
 core/camel-api/pom.xml                             |  18 ++
 .../src/main/java/org/apache/camel/Exchange.java   |   2 +
 ...are.java => PropertyPlaceholderConfigurer.java} |  31 +--
 .../apache/camel/model/DataFormatDefinition.java   |   2 +-
 .../DefinitionPropertyPlaceholderConfigurer.java   |  52 +++++
 .../org/apache/camel/model/FromDefinition.java     |   3 +
 .../java/org/apache/camel/model/LogDefinition.java |   2 +
 .../camel/model/OptionalIdentifiedDefinition.java  |   2 +-
 .../camel/model/ProcessorDefinitionHelper.java     | 206 ++++++++++----------
 .../java/org/apache/camel/model/ToDefinition.java  |   4 +
 .../camel/model/language/ExpressionDefinition.java |   3 +-
 .../org/apache/camel/reifier/ChoiceReifier.java    |   3 -
 .../org/apache/camel/reifier/ProcessorReifier.java |  16 +-
 .../OptionalPropertiesDslInvalidSyntaxTest.java    |   7 +-
 ...RouteWithConstantFieldFromExchangeFailTest.java |   1 +
 .../camel/processor/SimpleMockPlaceholderTest.java |  22 ++-
 .../org/apache/camel/processor/SimpleMockTest.java |   2 -
 .../org/apache/camel/support/DefaultComponent.java |  31 ---
 .../camel/support/PropertyPlaceholdersHelper.java  |  78 --------
 .../apache/camel/support/SimpleTypeConverter.java  |   1 +
 .../modules/ROOT/pages/activemq-component.adoc     |   6 +-
 .../modules/ROOT/pages/ahc-component.adoc          |   6 +-
 .../modules/ROOT/pages/ahc-ws-component.adoc       |   6 +-
 .../modules/ROOT/pages/amqp-component.adoc         |   6 +-
 .../modules/ROOT/pages/apns-component.adoc         |   6 +-
 .../modules/ROOT/pages/as2-component.adoc          |   6 +-
 .../modules/ROOT/pages/asterisk-component.adoc     |   6 +-
 .../modules/ROOT/pages/atmos-component.adoc        |   6 +-
 .../ROOT/pages/atmosphere-websocket-component.adoc |   6 +-
 .../modules/ROOT/pages/atom-component.adoc         |   6 +-
 .../modules/ROOT/pages/atomix-map-component.adoc   |   6 +-
 .../ROOT/pages/atomix-messaging-component.adoc     |   6 +-
 .../ROOT/pages/atomix-multimap-component.adoc      |   6 +-
 .../modules/ROOT/pages/atomix-queue-component.adoc |   6 +-
 .../modules/ROOT/pages/atomix-set-component.adoc   |   6 +-
 .../modules/ROOT/pages/atomix-value-component.adoc |   6 +-
 .../modules/ROOT/pages/avro-component.adoc         |   6 +-
 .../modules/ROOT/pages/avro-dataformat.adoc        |   3 +-
 .../modules/ROOT/pages/aws-cw-component.adoc       |   6 +-
 .../modules/ROOT/pages/aws-ddb-component.adoc      |   6 +-
 .../ROOT/pages/aws-ddbstream-component.adoc        |   6 +-
 .../modules/ROOT/pages/aws-ec2-component.adoc      |   6 +-
 .../modules/ROOT/pages/aws-ecs-component.adoc      |   6 +-
 .../modules/ROOT/pages/aws-eks-component.adoc      |   6 +-
 .../modules/ROOT/pages/aws-iam-component.adoc      |   6 +-
 .../modules/ROOT/pages/aws-kinesis-component.adoc  |   6 +-
 .../ROOT/pages/aws-kinesis-firehose-component.adoc |   6 +-
 .../modules/ROOT/pages/aws-kms-component.adoc      |   6 +-
 .../modules/ROOT/pages/aws-lambda-component.adoc   |   6 +-
 .../modules/ROOT/pages/aws-mq-component.adoc       |   6 +-
 .../modules/ROOT/pages/aws-msk-component.adoc      |   6 +-
 .../modules/ROOT/pages/aws-s3-component.adoc       |   6 +-
 .../modules/ROOT/pages/aws-sdb-component.adoc      |   6 +-
 .../modules/ROOT/pages/aws-ses-component.adoc      |   6 +-
 .../modules/ROOT/pages/aws-sns-component.adoc      |   6 +-
 .../modules/ROOT/pages/aws-sqs-component.adoc      |   6 +-
 .../modules/ROOT/pages/aws-swf-component.adoc      |   6 +-
 .../modules/ROOT/pages/azure-blob-component.adoc   |   6 +-
 .../modules/ROOT/pages/azure-queue-component.adoc  |   6 +-
 .../modules/ROOT/pages/bean-component.adoc         |   3 +-
 .../ROOT/pages/bean-validator-component.adoc       |   6 +-
 .../modules/ROOT/pages/beanstalk-component.adoc    |   6 +-
 .../modules/ROOT/pages/bonita-component.adoc       |   6 +-
 .../modules/ROOT/pages/box-component.adoc          |   6 +-
 .../modules/ROOT/pages/braintree-component.adoc    |   6 +-
 .../modules/ROOT/pages/browse-component.adoc       |   6 +-
 .../ROOT/pages/caffeine-cache-component.adoc       |   6 +-
 .../ROOT/pages/caffeine-loadcache-component.adoc   |   6 +-
 .../modules/ROOT/pages/chatscript-component.adoc   |   6 +-
 .../modules/ROOT/pages/chunk-component.adoc        |   6 +-
 .../modules/ROOT/pages/class-component.adoc        |   3 +-
 .../modules/ROOT/pages/cm-sms-component.adoc       |   6 +-
 .../modules/ROOT/pages/cmis-component.adoc         |   6 +-
 .../modules/ROOT/pages/coap-component.adoc         |   6 +-
 .../modules/ROOT/pages/cometd-component.adoc       |   6 +-
 .../modules/ROOT/pages/consul-component.adoc       |   6 +-
 .../modules/ROOT/pages/controlbus-component.adoc   |   6 +-
 .../modules/ROOT/pages/corda-component.adoc        |   6 +-
 .../modules/ROOT/pages/couchbase-component.adoc    |   6 +-
 .../modules/ROOT/pages/couchdb-component.adoc      |   6 +-
 .../modules/ROOT/pages/cql-component.adoc          |   6 +-
 .../modules/ROOT/pages/crypto-cms-component.adoc   |   6 +-
 .../modules/ROOT/pages/crypto-component.adoc       |   6 +-
 .../modules/ROOT/pages/crypto-dataformat.adoc      |   3 +-
 .../modules/ROOT/pages/cxf-component.adoc          |   6 +-
 .../modules/ROOT/pages/cxfrs-component.adoc        |   6 +-
 .../modules/ROOT/pages/dataformat-component.adoc   |   6 +-
 .../modules/ROOT/pages/dataset-component.adoc      |   6 +-
 .../modules/ROOT/pages/dataset-test-component.adoc |   6 +-
 .../modules/ROOT/pages/digitalocean-component.adoc |   6 +-
 .../modules/ROOT/pages/direct-component.adoc       |   6 +-
 .../modules/ROOT/pages/direct-vm-component.adoc    |   3 +-
 .../modules/ROOT/pages/disruptor-component.adoc    |   7 +-
 .../modules/ROOT/pages/dns-component.adoc          |   6 +-
 .../modules/ROOT/pages/docker-component.adoc       |   6 +-
 .../modules/ROOT/pages/dozer-component.adoc        |   6 +-
 .../modules/ROOT/pages/drill-component.adoc        |   6 +-
 .../modules/ROOT/pages/dropbox-component.adoc      |   6 +-
 .../modules/ROOT/pages/ehcache-component.adoc      |   6 +-
 .../ROOT/pages/elasticsearch-rest-component.adoc   |   6 +-
 .../modules/ROOT/pages/elsql-component.adoc        |   6 +-
 .../modules/ROOT/pages/etcd-component.adoc         |   6 +-
 .../modules/ROOT/pages/eventadmin-component.adoc   |   3 +-
 .../modules/ROOT/pages/exec-component.adoc         |   6 +-
 .../modules/ROOT/pages/facebook-component.adoc     |   6 +-
 .../modules/ROOT/pages/fhir-component.adoc         |   6 +-
 .../modules/ROOT/pages/file-component.adoc         |   6 +-
 .../modules/ROOT/pages/file-watch-component.adoc   |   6 +-
 .../modules/ROOT/pages/flatpack-component.adoc     |   6 +-
 .../modules/ROOT/pages/flatpack-dataformat.adoc    |   3 +-
 .../modules/ROOT/pages/flink-component.adoc        |   6 +-
 .../modules/ROOT/pages/fop-component.adoc          |   6 +-
 .../modules/ROOT/pages/freemarker-component.adoc   |   6 +-
 .../modules/ROOT/pages/ftp-component.adoc          |   6 +-
 .../modules/ROOT/pages/ftps-component.adoc         |   6 +-
 .../modules/ROOT/pages/ganglia-component.adoc      |   6 +-
 .../modules/ROOT/pages/geocoder-component.adoc     |   6 +-
 .../modules/ROOT/pages/git-component.adoc          |   6 +-
 .../modules/ROOT/pages/github-component.adoc       |   6 +-
 .../ROOT/pages/google-bigquery-component.adoc      |   6 +-
 .../ROOT/pages/google-bigquery-sql-component.adoc  |   6 +-
 .../ROOT/pages/google-calendar-component.adoc      |   6 +-
 .../pages/google-calendar-stream-component.adoc    |   6 +-
 .../modules/ROOT/pages/google-drive-component.adoc |   6 +-
 .../modules/ROOT/pages/google-mail-component.adoc  |   6 +-
 .../ROOT/pages/google-mail-stream-component.adoc   |   6 +-
 .../ROOT/pages/google-pubsub-component.adoc        |   6 +-
 .../ROOT/pages/google-sheets-component.adoc        |   6 +-
 .../ROOT/pages/google-sheets-stream-component.adoc |   6 +-
 .../modules/ROOT/pages/gora-component.adoc         |   6 +-
 .../modules/ROOT/pages/grape-component.adoc        |   3 +-
 .../modules/ROOT/pages/grpc-component.adoc         |   6 +-
 .../ROOT/pages/guava-eventbus-component.adoc       |   6 +-
 .../pages/hazelcast-atomicvalue-component.adoc     |   6 +-
 .../ROOT/pages/hazelcast-instance-component.adoc   |   6 +-
 .../ROOT/pages/hazelcast-list-component.adoc       |   6 +-
 .../ROOT/pages/hazelcast-map-component.adoc        |   6 +-
 .../ROOT/pages/hazelcast-multimap-component.adoc   |   6 +-
 .../ROOT/pages/hazelcast-queue-component.adoc      |   6 +-
 .../pages/hazelcast-replicatedmap-component.adoc   |   6 +-
 .../ROOT/pages/hazelcast-ringbuffer-component.adoc |   6 +-
 .../ROOT/pages/hazelcast-seda-component.adoc       |   6 +-
 .../ROOT/pages/hazelcast-set-component.adoc        |   6 +-
 .../ROOT/pages/hazelcast-topic-component.adoc      |   6 +-
 .../modules/ROOT/pages/hbase-component.adoc        |   6 +-
 .../modules/ROOT/pages/hdfs-component.adoc         |   6 +-
 .../modules/ROOT/pages/hipchat-component.adoc      |   6 +-
 .../modules/ROOT/pages/http-component.adoc         |   6 +-
 .../ROOT/pages/iec60870-client-component.adoc      |   6 +-
 .../ROOT/pages/iec60870-server-component.adoc      |   6 +-
 .../modules/ROOT/pages/ignite-cache-component.adoc |   6 +-
 .../ROOT/pages/ignite-compute-component.adoc       |   6 +-
 .../ROOT/pages/ignite-events-component.adoc        |   6 +-
 .../modules/ROOT/pages/ignite-idgen-component.adoc |   6 +-
 .../ROOT/pages/ignite-messaging-component.adoc     |   6 +-
 .../modules/ROOT/pages/ignite-queue-component.adoc |   6 +-
 .../modules/ROOT/pages/ignite-set-component.adoc   |   6 +-
 .../modules/ROOT/pages/infinispan-component.adoc   |   6 +-
 .../modules/ROOT/pages/influxdb-component.adoc     |   6 +-
 .../modules/ROOT/pages/iota-component.adoc         |   6 +-
 .../modules/ROOT/pages/ipfs-component.adoc         |   6 +-
 .../modules/ROOT/pages/irc-component.adoc          |   6 +-
 .../modules/ROOT/pages/ironmq-component.adoc       |   6 +-
 .../modules/ROOT/pages/jbpm-component.adoc         |   6 +-
 .../modules/ROOT/pages/jcache-component.adoc       |   6 +-
 .../modules/ROOT/pages/jclouds-component.adoc      |   6 +-
 .../modules/ROOT/pages/jcr-component.adoc          |   6 +-
 .../modules/ROOT/pages/jdbc-component.adoc         |   6 +-
 .../modules/ROOT/pages/jetty-component.adoc        |   6 +-
 .../modules/ROOT/pages/jgroups-component.adoc      |   6 +-
 .../modules/ROOT/pages/jgroups-raft-component.adoc |   6 +-
 .../modules/ROOT/pages/jing-component.adoc         |   6 +-
 .../modules/ROOT/pages/jira-component.adoc         |   6 +-
 .../modules/ROOT/pages/jms-component.adoc          |   6 +-
 .../modules/ROOT/pages/jmx-component.adoc          |   6 +-
 .../modules/ROOT/pages/jolt-component.adoc         |   6 +-
 .../modules/ROOT/pages/jooq-component.adoc         |   6 +-
 .../modules/ROOT/pages/jpa-component.adoc          |   6 +-
 .../ROOT/pages/json-validator-component.adoc       |   6 +-
 .../modules/ROOT/pages/jt400-component.adoc        |   6 +-
 .../modules/ROOT/pages/kafka-component.adoc        |   6 +-
 .../pages/kubernetes-config-maps-component.adoc    |   6 +-
 .../pages/kubernetes-deployments-component.adoc    |   6 +-
 .../ROOT/pages/kubernetes-hpa-component.adoc       |   6 +-
 .../ROOT/pages/kubernetes-job-component.adoc       |   6 +-
 .../pages/kubernetes-namespaces-component.adoc     |   6 +-
 .../ROOT/pages/kubernetes-nodes-component.adoc     |   6 +-
 ...rnetes-persistent-volumes-claims-component.adoc |   6 +-
 .../kubernetes-persistent-volumes-component.adoc   |   6 +-
 .../ROOT/pages/kubernetes-pods-component.adoc      |   6 +-
 ...bernetes-replication-controllers-component.adoc |   6 +-
 .../kubernetes-resources-quota-component.adoc      |   6 +-
 .../ROOT/pages/kubernetes-secrets-component.adoc   |   6 +-
 .../kubernetes-service-accounts-component.adoc     |   6 +-
 .../ROOT/pages/kubernetes-services-component.adoc  |   6 +-
 .../modules/ROOT/pages/language-component.adoc     |   6 +-
 .../modules/ROOT/pages/ldap-component.adoc         |   6 +-
 .../modules/ROOT/pages/ldif-component.adoc         |   6 +-
 .../modules/ROOT/pages/linkedin-component.adoc     |   6 +-
 .../modules/ROOT/pages/log-component.adoc          |   6 +-
 .../modules/ROOT/pages/lpr-component.adoc          |   6 +-
 .../modules/ROOT/pages/lucene-component.adoc       |   6 +-
 .../modules/ROOT/pages/lumberjack-component.adoc   |   6 +-
 .../modules/ROOT/pages/mail-component.adoc         |   6 +-
 .../modules/ROOT/pages/master-component.adoc       |   6 +-
 .../modules/ROOT/pages/metrics-component.adoc      |   6 +-
 .../modules/ROOT/pages/micrometer-component.adoc   |   6 +-
 .../modules/ROOT/pages/milo-client-component.adoc  |   6 +-
 .../modules/ROOT/pages/milo-server-component.adoc  |   6 +-
 .../modules/ROOT/pages/mina-component.adoc         |   6 +-
 .../modules/ROOT/pages/mllp-component.adoc         |   6 +-
 .../modules/ROOT/pages/mock-component.adoc         |   3 +-
 .../modules/ROOT/pages/mongodb-component.adoc      |   6 +-
 .../ROOT/pages/mongodb-gridfs-component.adoc       |   6 +-
 .../modules/ROOT/pages/mqtt-component.adoc         |   6 +-
 .../modules/ROOT/pages/msv-component.adoc          |   6 +-
 .../modules/ROOT/pages/mustache-component.adoc     |   6 +-
 .../modules/ROOT/pages/mvel-component.adoc         |   6 +-
 .../modules/ROOT/pages/mvel-language.adoc          |   3 +-
 .../modules/ROOT/pages/mybatis-bean-component.adoc |   6 +-
 .../modules/ROOT/pages/mybatis-component.adoc      |   6 +-
 .../modules/ROOT/pages/nagios-component.adoc       |   6 +-
 .../modules/ROOT/pages/nats-component.adoc         |   6 +-
 .../modules/ROOT/pages/netty-component.adoc        |   6 +-
 .../modules/ROOT/pages/netty-http-component.adoc   |   6 +-
 .../modules/ROOT/pages/nsq-component.adoc          |   6 +-
 .../modules/ROOT/pages/olingo2-component.adoc      |   6 +-
 .../modules/ROOT/pages/olingo4-component.adoc      |   6 +-
 .../pages/openshift-build-configs-component.adoc   |   3 +-
 .../ROOT/pages/openshift-builds-component.adoc     |   3 +-
 .../ROOT/pages/openstack-cinder-component.adoc     |   6 +-
 .../ROOT/pages/openstack-glance-component.adoc     |   6 +-
 .../ROOT/pages/openstack-keystone-component.adoc   |   6 +-
 .../ROOT/pages/openstack-neutron-component.adoc    |   6 +-
 .../ROOT/pages/openstack-nova-component.adoc       |   6 +-
 .../ROOT/pages/openstack-swift-component.adoc      |   6 +-
 .../modules/ROOT/pages/optaplanner-component.adoc  |   6 +-
 .../modules/ROOT/pages/paho-component.adoc         |   6 +-
 .../modules/ROOT/pages/paxlogging-component.adoc   |   3 +-
 .../modules/ROOT/pages/pdf-component.adoc          |   6 +-
 .../ROOT/pages/pg-replication-slot-component.adoc  |   6 +-
 .../modules/ROOT/pages/pgevent-component.adoc      |   6 +-
 .../modules/ROOT/pages/properties-component.adoc   |   6 +-
 .../modules/ROOT/pages/pubnub-component.adoc       |   6 +-
 .../modules/ROOT/pages/pulsar-component.adoc       |   8 +-
 .../modules/ROOT/pages/quartz-component.adoc       |   6 +-
 .../modules/ROOT/pages/quickfix-component.adoc     |   6 +-
 .../modules/ROOT/pages/rabbitmq-component.adoc     |   6 +-
 .../ROOT/pages/reactive-streams-component.adoc     |   6 +-
 .../modules/ROOT/pages/ref-component.adoc          |   6 +-
 .../modules/ROOT/pages/rest-api-component.adoc     |   6 +-
 .../modules/ROOT/pages/rest-component.adoc         |   6 +-
 .../modules/ROOT/pages/rest-swagger-component.adoc |   6 +-
 .../modules/ROOT/pages/restlet-component.adoc      |   6 +-
 .../modules/ROOT/pages/rss-component.adoc          |   6 +-
 .../modules/ROOT/pages/rss-dataformat.adoc         |   3 +-
 .../modules/ROOT/pages/saga-component.adoc         |   6 +-
 .../modules/ROOT/pages/salesforce-component.adoc   |   6 +-
 .../ROOT/pages/sap-netweaver-component.adoc        |   6 +-
 .../modules/ROOT/pages/scheduler-component.adoc    |   6 +-
 .../modules/ROOT/pages/schematron-component.adoc   |   6 +-
 .../modules/ROOT/pages/scp-component.adoc          |   6 +-
 .../modules/ROOT/pages/seda-component.adoc         |   6 +-
 .../modules/ROOT/pages/service-component.adoc      |   6 +-
 .../modules/ROOT/pages/servicenow-component.adoc   |   6 +-
 .../modules/ROOT/pages/servlet-component.adoc      |   6 +-
 .../modules/ROOT/pages/sftp-component.adoc         |   3 +-
 .../modules/ROOT/pages/sip-component.adoc          |   6 +-
 .../modules/ROOT/pages/sjms-batch-component.adoc   |   6 +-
 .../modules/ROOT/pages/sjms-component.adoc         |   6 +-
 .../modules/ROOT/pages/sjms2-component.adoc        |   6 +-
 .../modules/ROOT/pages/slack-component.adoc        |   6 +-
 .../modules/ROOT/pages/smpp-component.adoc         |   6 +-
 .../modules/ROOT/pages/snmp-component.adoc         |   6 +-
 .../modules/ROOT/pages/solr-component.adoc         |   6 +-
 .../modules/ROOT/pages/soroush-component.adoc      |   6 +-
 .../modules/ROOT/pages/spark-component.adoc        |   6 +-
 .../modules/ROOT/pages/spark-rest-component.adoc   |   3 +-
 .../modules/ROOT/pages/splunk-component.adoc       |   6 +-
 .../modules/ROOT/pages/spring-batch-component.adoc |   6 +-
 .../modules/ROOT/pages/spring-event-component.adoc |   6 +-
 .../ROOT/pages/spring-integration-component.adoc   |   6 +-
 .../modules/ROOT/pages/spring-ldap-component.adoc  |   6 +-
 .../modules/ROOT/pages/spring-redis-component.adoc |   6 +-
 .../modules/ROOT/pages/spring-ws-component.adoc    |   6 +-
 .../modules/ROOT/pages/sql-component.adoc          |   6 +-
 .../modules/ROOT/pages/sql-stored-component.adoc   |   6 +-
 .../modules/ROOT/pages/ssh-component.adoc          |   6 +-
 .../modules/ROOT/pages/stax-component.adoc         |   6 +-
 .../modules/ROOT/pages/stomp-component.adoc        |   6 +-
 .../modules/ROOT/pages/stream-component.adoc       |   6 +-
 .../ROOT/pages/string-template-component.adoc      |   6 +-
 .../modules/ROOT/pages/stub-component.adoc         |   6 +-
 .../modules/ROOT/pages/telegram-component.adoc     |   6 +-
 .../modules/ROOT/pages/thrift-component.adoc       |   6 +-
 .../modules/ROOT/pages/thrift-dataformat.adoc      |   3 +-
 .../modules/ROOT/pages/tika-component.adoc         |   6 +-
 .../modules/ROOT/pages/timer-component.adoc        |   6 +-
 .../modules/ROOT/pages/twilio-component.adoc       |   6 +-
 .../pages/twitter-directmessage-component.adoc     |   6 +-
 .../ROOT/pages/twitter-search-component.adoc       |   6 +-
 .../ROOT/pages/twitter-timeline-component.adoc     |   6 +-
 .../modules/ROOT/pages/undertow-component.adoc     |   6 +-
 .../modules/ROOT/pages/validator-component.adoc    |   6 +-
 .../modules/ROOT/pages/velocity-component.adoc     |   6 +-
 .../modules/ROOT/pages/vertx-component.adoc        |   6 +-
 .../modules/ROOT/pages/vm-component.adoc           |   6 +-
 .../modules/ROOT/pages/weather-component.adoc      |   6 +-
 .../modules/ROOT/pages/web3j-component.adoc        |   6 +-
 .../modules/ROOT/pages/webhook-component.adoc      |   6 +-
 .../modules/ROOT/pages/websocket-component.adoc    |   6 +-
 .../ROOT/pages/websocket-jsr356-component.adoc     |   6 +-
 .../modules/ROOT/pages/wordpress-component.adoc    |   6 +-
 .../modules/ROOT/pages/xchange-component.adoc      |   6 +-
 .../modules/ROOT/pages/xmlsecurity-component.adoc  |   6 +-
 .../modules/ROOT/pages/xmpp-component.adoc         |   6 +-
 .../modules/ROOT/pages/xquery-component.adoc       |   6 +-
 .../modules/ROOT/pages/xquery-language.adoc        |   3 +-
 .../modules/ROOT/pages/xslt-component.adoc         |   6 +-
 .../modules/ROOT/pages/yammer-component.adoc       |   6 +-
 .../modules/ROOT/pages/zendesk-component.adoc      |   6 +-
 .../modules/ROOT/pages/zookeeper-component.adoc    |   6 +-
 .../ROOT/pages/zookeeper-master-component.adoc     |   6 +-
 parent/pom.xml                                     |   6 +-
 .../springboot/ActiveMQComponentConfiguration.java |  15 --
 .../ahc/springboot/AhcComponentConfiguration.java  |  15 --
 .../ws/springboot/WsComponentConfiguration.java    |  15 --
 .../springboot/AMQPComponentConfiguration.java     |  15 --
 .../springboot/ApnsComponentConfiguration.java     |  15 --
 .../as2/springboot/AS2ComponentConfiguration.java  |  15 --
 .../springboot/AsteriskComponentConfiguration.java |  15 --
 .../springboot/AtmosComponentConfiguration.java    |  15 --
 .../WebsocketComponentConfiguration.java           |  15 --
 .../springboot/AtomComponentConfiguration.java     |  15 --
 .../AtomixMapComponentConfiguration.java           |  15 --
 .../AtomixMessagingComponentConfiguration.java     |  15 --
 .../AtomixMultiMapComponentConfiguration.java      |  15 --
 .../AtomixQueueComponentConfiguration.java         |  15 --
 .../AtomixSetComponentConfiguration.java           |  15 --
 .../AtomixValueComponentConfiguration.java         |  15 --
 .../springboot/AvroComponentConfiguration.java     |  15 --
 .../cw/springboot/CwComponentConfiguration.java    |  15 --
 .../ddb/springboot/DdbComponentConfiguration.java  |  15 --
 .../DdbStreamComponentConfiguration.java           |  15 --
 .../ec2/springboot/EC2ComponentConfiguration.java  |  15 --
 .../ecs/springboot/ECSComponentConfiguration.java  |  15 --
 .../eks/springboot/EKSComponentConfiguration.java  |  15 --
 .../iam/springboot/IAMComponentConfiguration.java  |  15 --
 .../KinesisFirehoseComponentConfiguration.java     |  15 --
 .../springboot/KinesisComponentConfiguration.java  |  15 --
 .../kms/springboot/KMSComponentConfiguration.java  |  15 --
 .../springboot/LambdaComponentConfiguration.java   |  15 --
 .../mq/springboot/MQComponentConfiguration.java    |  15 --
 .../msk/springboot/MSKComponentConfiguration.java  |  15 --
 .../s3/springboot/S3ComponentConfiguration.java    |  15 --
 .../sdb/springboot/SdbComponentConfiguration.java  |  15 --
 .../ses/springboot/SesComponentConfiguration.java  |  15 --
 .../sns/springboot/SnsComponentConfiguration.java  |  15 --
 .../sqs/springboot/SqsComponentConfiguration.java  |  15 --
 .../swf/springboot/SWFComponentConfiguration.java  |  15 --
 .../BlobServiceComponentConfiguration.java         |  15 --
 .../QueueServiceComponentConfiguration.java        |  15 --
 .../springboot/BeanComponentConfiguration.java     |  15 --
 .../springboot/ClassComponentConfiguration.java    |  15 --
 .../BeanValidatorComponentConfiguration.java       |  15 --
 .../BeanstalkComponentConfiguration.java           |  15 --
 .../springboot/BonitaComponentConfiguration.java   |  15 --
 .../box/springboot/BoxComponentConfiguration.java  |  15 --
 .../BraintreeComponentConfiguration.java           |  15 --
 .../springboot/BrowseComponentConfiguration.java   |  15 --
 .../CaffeineCacheComponentConfiguration.java       |  15 --
 .../CaffeineLoadCacheComponentConfiguration.java   |  15 --
 .../CassandraComponentConfiguration.java           |  15 --
 .../ChatScriptComponentConfiguration.java          |  15 --
 .../springboot/ChunkComponentConfiguration.java    |  15 --
 .../cm/springboot/CMComponentConfiguration.java    |  15 --
 .../springboot/CMISComponentConfiguration.java     |  15 --
 .../springboot/CoAPComponentConfiguration.java     |  15 --
 .../springboot/CometdComponentConfiguration.java   |  15 --
 .../springboot/ConsulComponentConfiguration.java   |  15 --
 .../ControlBusComponentConfiguration.java          |  15 --
 .../springboot/CordaComponentConfiguration.java    |  15 --
 .../CouchbaseComponentConfiguration.java           |  15 --
 .../springboot/CouchDbComponentConfiguration.java  |  15 --
 .../CryptoCmsComponentConfiguration.java           |  15 --
 .../DigitalSignatureComponentConfiguration.java    |  15 --
 .../springboot/CxfRsComponentConfiguration.java    |  15 --
 .../cxf/springboot/CxfComponentConfiguration.java  |  15 --
 .../DataFormatComponentConfiguration.java          |  15 --
 .../springboot/DataSetComponentConfiguration.java  |  15 --
 .../DataSetTestComponentConfiguration.java         |  15 --
 .../DigitalOceanComponentConfiguration.java        |  15 --
 .../springboot/DirectComponentConfiguration.java   |  15 --
 .../springboot/DirectVmComponentConfiguration.java |  15 --
 .../DisruptorComponentConfiguration.java           |  15 --
 .../DisruptorVmComponentConfiguration.java         |  15 --
 .../dns/springboot/DnsComponentConfiguration.java  |  15 --
 .../springboot/DockerComponentConfiguration.java   |  15 --
 .../springboot/DozerComponentConfiguration.java    |  15 --
 .../springboot/DrillComponentConfiguration.java    |  15 --
 .../springboot/DropboxComponentConfiguration.java  |  15 --
 .../springboot/EhcacheComponentConfiguration.java  |  15 --
 .../ElasticsearchComponentConfiguration.java       |  15 --
 .../springboot/ElsqlComponentConfiguration.java    |  15 --
 .../springboot/EtcdComponentConfiguration.java     |  15 --
 .../springboot/ExecComponentConfiguration.java     |  15 --
 .../springboot/FacebookComponentConfiguration.java |  15 --
 .../springboot/FhirComponentConfiguration.java     |  15 --
 .../springboot/FileComponentConfiguration.java     |  15 --
 .../FileWatchComponentConfiguration.java           |  15 --
 .../springboot/FlatpackComponentConfiguration.java |  15 --
 .../springboot/FlinkComponentConfiguration.java    |  15 --
 .../fop/springboot/FopComponentConfiguration.java  |  15 --
 .../FreemarkerComponentConfiguration.java          |  15 --
 .../springboot/FtpComponentConfiguration.java      |  15 --
 .../springboot/FtpsComponentConfiguration.java     |  15 --
 .../springboot/SftpComponentConfiguration.java     |  15 --
 .../springboot/GangliaComponentConfiguration.java  |  15 --
 .../springboot/GeoCoderComponentConfiguration.java |  15 --
 .../git/springboot/GitComponentConfiguration.java  |  15 --
 .../springboot/GitHubComponentConfiguration.java   |  15 --
 .../GoogleBigQueryComponentConfiguration.java      |  15 --
 .../GoogleBigQuerySQLComponentConfiguration.java   |  15 --
 .../GoogleCalendarComponentConfiguration.java      |  15 --
 ...GoogleCalendarStreamComponentConfiguration.java |  15 --
 .../GoogleDriveComponentConfiguration.java         |  15 --
 .../GoogleMailComponentConfiguration.java          |  15 --
 .../GoogleMailStreamComponentConfiguration.java    |  15 --
 .../GooglePubsubComponentConfiguration.java        |  15 --
 .../GoogleSheetsComponentConfiguration.java        |  15 --
 .../GoogleSheetsStreamComponentConfiguration.java  |  15 --
 .../springboot/GoraComponentConfiguration.java     |  15 --
 .../springboot/GrpcComponentConfiguration.java     |  15 --
 .../GuavaEventBusComponentConfiguration.java       |  15 --
 ...azelcastAtomicnumberComponentConfiguration.java |  15 --
 .../HazelcastInstanceComponentConfiguration.java   |  15 --
 .../HazelcastListComponentConfiguration.java       |  15 --
 .../HazelcastMapComponentConfiguration.java        |  15 --
 .../HazelcastMultimapComponentConfiguration.java   |  15 --
 .../HazelcastQueueComponentConfiguration.java      |  15 --
 ...zelcastReplicatedmapComponentConfiguration.java |  15 --
 .../HazelcastRingbufferComponentConfiguration.java |  15 --
 .../HazelcastSedaComponentConfiguration.java       |  15 --
 .../HazelcastSetComponentConfiguration.java        |  15 --
 .../HazelcastTopicComponentConfiguration.java      |  15 --
 .../springboot/HBaseComponentConfiguration.java    |  15 --
 .../springboot/HdfsComponentConfiguration.java     |  15 --
 .../springboot/HipchatComponentConfiguration.java  |  15 --
 .../springboot/HttpComponentConfiguration.java     |  15 --
 .../springboot/ClientComponentConfiguration.java   |  15 --
 .../springboot/ServerComponentConfiguration.java   |  15 --
 .../IgniteCacheComponentConfiguration.java         |  15 --
 .../IgniteComputeComponentConfiguration.java       |  15 --
 .../IgniteEventsComponentConfiguration.java        |  15 --
 .../IgniteIdGenComponentConfiguration.java         |  15 --
 .../IgniteMessagingComponentConfiguration.java     |  15 --
 .../IgniteQueueComponentConfiguration.java         |  15 --
 .../IgniteSetComponentConfiguration.java           |  15 --
 .../InfinispanComponentConfiguration.java          |  15 --
 .../springboot/InfluxDbComponentConfiguration.java |  15 --
 .../springboot/IOTAComponentConfiguration.java     |  15 --
 .../springboot/IPFSComponentConfiguration.java     |  15 --
 .../irc/springboot/IrcComponentConfiguration.java  |  15 --
 .../springboot/IronMQComponentConfiguration.java   |  15 --
 .../springboot/JBPMComponentConfiguration.java     |  15 --
 .../springboot/JCacheComponentConfiguration.java   |  15 --
 .../springboot/JcloudsComponentConfiguration.java  |  15 --
 .../jcr/springboot/JcrComponentConfiguration.java  |  15 --
 .../springboot/JdbcComponentConfiguration.java     |  15 --
 .../JettyHttpComponentConfiguration9.java          |  15 --
 .../JGroupsRaftComponentConfiguration.java         |  15 --
 .../springboot/JGroupsComponentConfiguration.java  |  15 --
 .../springboot/JingComponentConfiguration.java     |  15 --
 .../springboot/JiraComponentConfiguration.java     |  15 --
 .../jms/springboot/JmsComponentConfiguration.java  |  15 --
 .../jmx/springboot/JMXComponentConfiguration.java  |  15 --
 .../springboot/JoltComponentConfiguration.java     |  15 --
 .../springboot/JooqComponentConfiguration.java     |  15 --
 .../jpa/springboot/JpaComponentConfiguration.java  |  15 --
 .../scp/springboot/ScpComponentConfiguration.java  |  15 --
 .../JsonValidatorComponentConfiguration.java       |  15 --
 .../springboot/Jt400ComponentConfiguration.java    |  15 --
 .../springboot/KafkaComponentConfiguration.java    |  15 --
 ...KubernetesConfigMapsComponentConfiguration.java |  15 --
 ...ubernetesDeploymentsComponentConfiguration.java |  15 --
 .../KubernetesHPAComponentConfiguration.java       |  15 --
 .../KubernetesJobComponentConfiguration.java       |  15 --
 ...KubernetesNamespacesComponentConfiguration.java |  15 --
 .../KubernetesNodesComponentConfiguration.java     |  15 --
 ...tesPersistentVolumesComponentConfiguration.java |  15 --
 ...sistentVolumesClaimsComponentConfiguration.java |  15 --
 .../KubernetesPodsComponentConfiguration.java      |  15 --
 ...plicationControllersComponentConfiguration.java |  15 --
 ...rnetesResourcesQuotaComponentConfiguration.java |  15 --
 .../KubernetesSecretsComponentConfiguration.java   |  15 --
 ...netesServiceAccountsComponentConfiguration.java |  15 --
 .../KubernetesServicesComponentConfiguration.java  |  15 --
 ...penshiftBuildConfigsComponentConfiguration.java |  15 --
 .../OpenshiftBuildsComponentConfiguration.java     |  15 --
 .../springboot/LanguageComponentConfiguration.java |  15 --
 .../springboot/LdapComponentConfiguration.java     |  15 --
 .../springboot/LdifComponentConfiguration.java     |  15 --
 .../springboot/LinkedInComponentConfiguration.java |  15 --
 .../log/springboot/LogComponentConfiguration.java  |  15 --
 .../springboot/LuceneComponentConfiguration.java   |  15 --
 .../LumberjackComponentConfiguration.java          |  15 --
 .../springboot/MailComponentConfiguration.java     |  15 --
 .../springboot/MasterComponentConfiguration.java   |  15 --
 .../springboot/MetricsComponentConfiguration.java  |  15 --
 .../MicrometerComponentConfiguration.java          |  15 --
 .../MiloClientComponentConfiguration.java          |  15 --
 .../MiloServerComponentConfiguration.java          |  15 --
 .../springboot/Mina2ComponentConfiguration.java    |  15 --
 .../springboot/MllpComponentConfiguration.java     |  15 --
 .../springboot/MockComponentConfiguration.java     |  15 --
 .../springboot/GridFsComponentConfiguration.java   |  15 --
 .../springboot/MongoDbComponentConfiguration.java  |  15 --
 .../springboot/MQTTComponentConfiguration.java     |  15 --
 .../msv/springboot/MsvComponentConfiguration.java  |  15 --
 .../springboot/MustacheComponentConfiguration.java |  15 --
 .../springboot/MvelComponentConfiguration.java     |  15 --
 .../MyBatisBeanComponentConfiguration.java         |  15 --
 .../springboot/MyBatisComponentConfiguration.java  |  15 --
 .../springboot/NagiosComponentConfiguration.java   |  15 --
 .../springboot/NatsComponentConfiguration.java     |  15 --
 .../NettyHttpComponentConfiguration.java           |  15 --
 .../springboot/NettyComponentConfiguration.java    |  15 --
 .../nsq/springboot/NsqComponentConfiguration.java  |  15 --
 .../springboot/Olingo2ComponentConfiguration.java  |  15 --
 .../springboot/Olingo4ComponentConfiguration.java  |  15 --
 .../springboot/CinderComponentConfiguration.java   |  15 --
 .../springboot/GlanceComponentConfiguration.java   |  15 --
 .../springboot/KeystoneComponentConfiguration.java |  15 --
 .../springboot/NeutronComponentConfiguration.java  |  15 --
 .../springboot/NovaComponentConfiguration.java     |  15 --
 .../springboot/SwiftComponentConfiguration.java    |  15 --
 .../OptaPlannerComponentConfiguration.java         |  15 --
 .../springboot/PahoComponentConfiguration.java     |  15 --
 .../pdf/springboot/PdfComponentConfiguration.java  |  15 --
 .../PgReplicationSlotComponentConfiguration.java   |  15 --
 .../springboot/PgEventComponentConfiguration.java  |  15 --
 .../springboot/PrinterComponentConfiguration.java  |  15 --
 .../PropertiesComponentConfiguration.java          |  15 --
 .../springboot/PubNubComponentConfiguration.java   |  15 --
 .../springboot/PulsarComponentConfiguration.java   |  15 --
 .../springboot/QuartzComponentConfiguration.java   |  15 --
 .../QuickfixjComponentConfiguration.java           |  15 --
 .../springboot/RabbitMQComponentConfiguration.java |  15 --
 .../ReactiveStreamsComponentConfiguration.java     |  15 --
 .../ref/springboot/RefComponentConfiguration.java  |  15 --
 .../springboot/RestApiComponentConfiguration.java  |  15 --
 .../springboot/RestComponentConfiguration.java     |  15 --
 .../RestSwaggerComponentConfiguration.java         |  15 --
 .../springboot/RestletComponentConfiguration.java  |  15 --
 .../rss/springboot/RssComponentConfiguration.java  |  15 --
 .../springboot/SagaComponentConfiguration.java     |  15 --
 .../SalesforceComponentConfiguration.java          |  15 --
 .../NetWeaverComponentConfiguration.java           |  15 --
 .../springboot/XQueryComponentConfiguration.java   |  15 --
 .../SchedulerComponentConfiguration.java           |  15 --
 .../SchematronComponentConfiguration.java          |  15 --
 .../springboot/SedaComponentConfiguration.java     |  15 --
 .../springboot/ServiceComponentConfiguration.java  |  15 --
 .../ServiceNowComponentConfiguration.java          |  15 --
 .../springboot/ServletComponentConfiguration.java  |  15 --
 .../sip/springboot/SipComponentConfiguration.java  |  15 --
 .../SjmsBatchComponentConfiguration.java           |  15 --
 .../springboot/SjmsComponentConfiguration.java     |  15 --
 .../springboot/Sjms2ComponentConfiguration.java    |  15 --
 .../springboot/SlackComponentConfiguration.java    |  15 --
 .../springboot/SmppComponentConfiguration.java     |  15 --
 .../springboot/SnmpComponentConfiguration.java     |  15 --
 .../springboot/SolrComponentConfiguration.java     |  15 --
 .../SoroushBotComponentConfiguration.java          |  15 --
 .../springboot/SparkComponentConfiguration.java    |  15 --
 .../springboot/SplunkComponentConfiguration.java   |  15 --
 .../SpringBatchComponentConfiguration.java         |  15 --
 .../SpringIntegrationComponentConfiguration.java   |  15 --
 .../SpringLdapComponentConfiguration.java          |  15 --
 .../springboot/RedisComponentConfiguration.java    |  15 --
 .../springboot/EventComponentConfiguration.java    |  15 --
 .../SpringWebserviceComponentConfiguration.java    |  15 --
 .../sql/springboot/SqlComponentConfiguration.java  |  15 --
 .../SqlStoredComponentConfiguration.java           |  15 --
 .../ssh/springboot/SshComponentConfiguration.java  |  15 --
 .../springboot/StAXComponentConfiguration.java     |  15 --
 .../springboot/StompComponentConfiguration.java    |  15 --
 .../springboot/StreamComponentConfiguration.java   |  15 --
 .../StringTemplateComponentConfiguration.java      |  15 --
 .../springboot/StubComponentConfiguration.java     |  15 --
 .../springboot/TelegramComponentConfiguration.java |  15 --
 .../springboot/ThriftComponentConfiguration.java   |  15 --
 .../springboot/TikaComponentConfiguration.java     |  15 --
 .../springboot/TimerComponentConfiguration.java    |  15 --
 .../springboot/TwilioComponentConfiguration.java   |  15 --
 ...TwitterDirectMessageComponentConfiguration.java |  15 --
 .../TwitterSearchComponentConfiguration.java       |  15 --
 .../TwitterTimelineComponentConfiguration.java     |  15 --
 .../springboot/UndertowComponentConfiguration.java |  15 --
 .../ValidatorComponentConfiguration.java           |  15 --
 .../springboot/VelocityComponentConfiguration.java |  15 --
 .../springboot/VertxComponentConfiguration.java    |  15 --
 .../vm/springboot/VmComponentConfiguration.java    |  15 --
 .../springboot/WeatherComponentConfiguration.java  |  15 --
 .../springboot/Web3jComponentConfiguration.java    |  15 --
 .../springboot/WebhookComponentConfiguration.java  |  15 --
 .../JSR356WebSocketComponentConfiguration.java     |  15 --
 .../WebsocketComponentConfiguration.java           |  15 --
 .../WordpressComponentConfiguration.java           |  15 --
 .../springboot/XChangeComponentConfiguration.java  |  15 --
 .../XmlSignatureComponentConfiguration.java        |  15 --
 .../springboot/XmppComponentConfiguration.java     |  15 --
 .../springboot/XsltComponentConfiguration.java     |  15 --
 .../springboot/YammerComponentConfiguration.java   |  15 --
 .../springboot/ZendeskComponentConfiguration.java  |  15 --
 .../springboot/MasterComponentConfiguration.java   |  15 --
 .../ZooKeeperComponentConfiguration.java           |  15 --
 .../camel-spring-boot-dependencies/pom.xml         |  56 +++---
 pom.xml                                            |   2 +-
 .../tools/apt/AbstractTypeConverterGenerator.java  |   7 +-
 .../camel/tools/apt/ConstantProviderProcessor.java | 130 +++++++++++++
 .../apt/CoreEipAnnotationProcessorHelper.java      |  80 ++++++--
 .../camel/tools/apt/ModelAnnotationProcessor.java  |  62 ++++--
 .../tools/apt/PropertyPlaceholderGenerator.java    | 209 +++++++++++++++++++++
 .../tools/apt/SpringAnnotationProcessorHelper.java |   3 +-
 .../services/javax.annotation.processing.Processor |   1 +
 ...ubServiceFactory.java => ConstantProvider.java} |   2 +-
 931 files changed, 1901 insertions(+), 7075 deletions(-)
 copy core/camel-api/src/main/java/org/apache/camel/spi/{NamespaceAware.java => PropertyPlaceholderConfigurer.java} (53%)
 create mode 100644 core/camel-core/src/main/java/org/apache/camel/model/DefinitionPropertyPlaceholderConfigurer.java
 copy components/camel-reactive-executor-vertx/src/test/java/org/apache/camel/reactive/SimpleMockTest.java => core/camel-core/src/test/java/org/apache/camel/processor/SimpleMockPlaceholderTest.java (76%)
 delete mode 100644 core/camel-support/src/main/java/org/apache/camel/support/PropertyPlaceholdersHelper.java
 create mode 100644 tooling/apt/src/main/java/org/apache/camel/tools/apt/ConstantProviderProcessor.java
 create mode 100644 tooling/apt/src/main/java/org/apache/camel/tools/apt/PropertyPlaceholderGenerator.java
 copy tooling/spi-annotations/src/main/java/org/apache/camel/spi/annotations/{SubServiceFactory.java => ConstantProvider.java} (96%)


[camel] 16/21: CAMEL-13850: Source code generate ExchangeConstantProvider so we can do fast lookup of its constant values without reflection

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

davsclaus pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git

commit f14ba3f1c4c61e31ac613b2afaee1dfef74b8707
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Tue Aug 13 18:11:40 2019 +0200

    CAMEL-13850: Source code generate ExchangeConstantProvider so we can do fast lookup of its constant values without reflection
---
 core/camel-api/pom.xml                             |  18 +++
 .../src/main/java/org/apache/camel/Exchange.java   |   2 +
 .../camel/tools/apt/ConstantProviderProcessor.java | 130 +++++++++++++++++++++
 .../services/javax.annotation.processing.Processor |   1 +
 .../camel/spi/annotations/ConstantProvider.java    |  32 +++++
 5 files changed, 183 insertions(+)

diff --git a/core/camel-api/pom.xml b/core/camel-api/pom.xml
index 04a797b..54157b5 100644
--- a/core/camel-api/pom.xml
+++ b/core/camel-api/pom.xml
@@ -219,6 +219,24 @@
             </build>
         </profile>
 
+        <profile>
+            <id>apt</id>
+            <activation>
+                <activeByDefault>true</activeByDefault>
+            </activation>
+
+            <dependencies>
+
+                <!-- enable the APT processor -->
+                <dependency>
+                    <groupId>org.apache.camel</groupId>
+                    <artifactId>apt</artifactId>
+                    <scope>provided</scope>
+                </dependency>
+
+            </dependencies>
+        </profile>
+
         <!-- skip management tests on AIX as it hangs CI servers -->
         <profile>
             <id>aix</id>
diff --git a/core/camel-api/src/main/java/org/apache/camel/Exchange.java b/core/camel-api/src/main/java/org/apache/camel/Exchange.java
index 1042154..90be5bf2 100644
--- a/core/camel-api/src/main/java/org/apache/camel/Exchange.java
+++ b/core/camel-api/src/main/java/org/apache/camel/Exchange.java
@@ -22,6 +22,7 @@ import java.util.Map;
 
 import org.apache.camel.spi.Synchronization;
 import org.apache.camel.spi.UnitOfWork;
+import org.apache.camel.spi.annotations.ConstantProvider;
 
 /**
  * An Exchange is the message container holding the information during the entire routing of
@@ -68,6 +69,7 @@ import org.apache.camel.spi.UnitOfWork;
  * See this <a href="http://camel.apache.org/using-getin-or-getout-methods-on-exchange.html">FAQ entry</a> 
  * for more details.
  */
+@ConstantProvider("org.apache.camel.ExchangeConstantProvider")
 public interface Exchange {
 
     String AUTHENTICATION                   = "CamelAuthentication";
diff --git a/tooling/apt/src/main/java/org/apache/camel/tools/apt/ConstantProviderProcessor.java b/tooling/apt/src/main/java/org/apache/camel/tools/apt/ConstantProviderProcessor.java
new file mode 100644
index 0000000..fa93112
--- /dev/null
+++ b/tooling/apt/src/main/java/org/apache/camel/tools/apt/ConstantProviderProcessor.java
@@ -0,0 +1,130 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.tools.apt;
+
+import java.io.Writer;
+import java.util.HashSet;
+import java.util.Map;
+import java.util.Set;
+import java.util.TreeMap;
+import javax.annotation.processing.RoundEnvironment;
+import javax.annotation.processing.SupportedAnnotationTypes;
+import javax.lang.model.element.Element;
+import javax.lang.model.element.TypeElement;
+import javax.lang.model.element.VariableElement;
+import javax.lang.model.type.TypeMirror;
+import javax.lang.model.util.ElementFilter;
+import javax.tools.Diagnostic;
+import javax.tools.JavaFileObject;
+
+import org.apache.camel.spi.annotations.ConstantProvider;
+import org.apache.camel.tools.apt.helper.IOHelper;
+
+import static org.apache.camel.tools.apt.AnnotationProcessorHelper.dumpExceptionToErrorFile;
+import static org.apache.camel.tools.apt.helper.Strings.canonicalClassName;
+
+@SupportedAnnotationTypes({"org.apache.camel.spi.annotations.ConstantProvider"})
+public class ConstantProviderProcessor extends AbstractCamelAnnotationProcessor {
+
+    boolean acceptClass(Element element) {
+        return true;
+    }
+
+    @Override
+    protected void doProcess(Set<? extends TypeElement> annotations, RoundEnvironment roundEnv) throws Exception {
+        TypeElement constantAnnotationType = this.processingEnv.getElementUtils().getTypeElement("org.apache.camel.spi.annotations.ConstantProvider");
+        Set<? extends Element> elements = roundEnv.getElementsAnnotatedWith(constantAnnotationType);
+
+        Map<String, Element> constantClasses = new TreeMap<>();
+        for (Element element : elements) {
+            if (element instanceof TypeElement) {
+                TypeElement te = (TypeElement) element;
+
+                // we only support top-level classes (not inner classes)
+                if (!te.getNestingKind().isNested() && acceptClass(te)) {
+                    final String javaTypeName = canonicalClassName(te.getQualifiedName().toString());
+                    constantClasses.put(javaTypeName, element);
+                }
+            }
+        }
+
+        // skip all converter classes from core as we just want to use the optimized TypeConverterLoader files
+        constantClasses.forEach((k, v) -> {
+            String fqn = v.getAnnotation(ConstantProvider.class).value();
+            Map<String, String> fields = new TreeMap<>(String::compareToIgnoreCase);
+
+            Set<Element> set = new HashSet<>(v.getEnclosedElements());
+            for (VariableElement field : ElementFilter.fieldsIn(set)) {
+                TypeMirror fieldType = field.asType();
+                String fullTypeClassName = fieldType.toString();
+                if (String.class.getName().equals(fullTypeClassName)) {
+                    String name = field.getSimpleName().toString();
+                    String text = (String) field.getConstantValue();
+                    fields.put(name, text);
+                    dumpExceptionToErrorFile("camel-apt-error.log", "Name: " + field.getSimpleName().toString() + "=" + text, null);
+                }
+            }
+
+            if (!fields.isEmpty()) {
+                generateConstantProviderClass(fqn, fields);
+            }
+        });
+    }
+
+    private void generateConstantProviderClass(String fqn, Map<String, String> fields) {
+        String pn = fqn.substring(0, fqn.lastIndexOf('.'));
+        String cn = fqn.substring(fqn.lastIndexOf('.') + 1);
+
+        Writer w = null;
+        try {
+            JavaFileObject src = processingEnv.getFiler().createSourceFile(fqn);
+            w = src.openWriter();
+
+            w.write("/* Generated by org.apache.camel:apt */\n");
+            w.write("package " + pn + ";\n");
+            w.write("\n");
+            w.write("import java.util.HashMap;\n");
+            w.write("import java.util.Map;\n");
+            w.write("\n");
+            w.write("/**\n");
+            w.write(" * Source code generated by org.apache.camel:apt\n");
+            w.write(" */\n");
+            w.write("public class " + cn + " {\n");
+            w.write("\n");
+            w.write("    private static final Map<String, String> MAP;\n");
+            w.write("    static {\n");
+            w.write("        Map<String, String> map = new HashMap<>(" + fields.size() + ");\n");
+            for (Map.Entry<String, String> entry : fields.entrySet()) {
+                w.write("        map.put(\"" + entry.getKey() + "\", \"" + entry.getValue() + "\");\n");
+            }
+            w.write("        MAP = map;\n");
+            w.write("    }\n");
+            w.write("\n");
+            w.write("    public static String provider(String key) {\n");
+            w.write("        return MAP.get(key);\n");
+            w.write("    }\n");
+            w.write("}\n");
+            w.write("\n");
+        } catch (Exception e) {
+            processingEnv.getMessager().printMessage(Diagnostic.Kind.ERROR, "Unable to generate source code file: " + fqn + ": " + e.getMessage());
+            dumpExceptionToErrorFile("camel-apt-error.log", "Unable to generate source code file: " + fqn, e);
+        } finally {
+            IOHelper.close(w);
+        }
+    }
+
+}
\ No newline at end of file
diff --git a/tooling/apt/src/main/resources/META-INF/services/javax.annotation.processing.Processor b/tooling/apt/src/main/resources/META-INF/services/javax.annotation.processing.Processor
index 73db54b..fc74786 100644
--- a/tooling/apt/src/main/resources/META-INF/services/javax.annotation.processing.Processor
+++ b/tooling/apt/src/main/resources/META-INF/services/javax.annotation.processing.Processor
@@ -19,6 +19,7 @@
 org.apache.camel.tools.apt.ModelAnnotationProcessor
 org.apache.camel.tools.apt.EndpointAnnotationProcessor
 org.apache.camel.tools.apt.SpiProcessor
+org.apache.camel.tools.apt.ConstantProviderProcessor
 org.apache.camel.tools.apt.TypeConverterProcessor
 org.apache.camel.tools.apt.TypeConverterLoaderGenerator
 
diff --git a/tooling/spi-annotations/src/main/java/org/apache/camel/spi/annotations/ConstantProvider.java b/tooling/spi-annotations/src/main/java/org/apache/camel/spi/annotations/ConstantProvider.java
new file mode 100644
index 0000000..1a93df6
--- /dev/null
+++ b/tooling/spi-annotations/src/main/java/org/apache/camel/spi/annotations/ConstantProvider.java
@@ -0,0 +1,32 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.spi.annotations;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+@Retention(RetentionPolicy.RUNTIME)
+@Documented
+@Target({ElementType.TYPE })
+public @interface ConstantProvider {
+
+    String value();
+
+}


[camel] 08/21: CAMEL-13850: Optimize model classes to provide changeable properties that support property placeholders to avoid reflection. Work in progress.

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

davsclaus pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git

commit c2fb87f3315a2ae353f82b93b89454076daddccc
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Tue Aug 13 08:24:33 2019 +0200

    CAMEL-13850: Optimize model classes to provide changeable properties that support property placeholders to avoid reflection. Work in progress.
---
 .../org/apache/camel/reifier/ProcessorReifier.java |  4 +-
 .../apt/CoreEipAnnotationProcessorHelper.java      | 51 ++++++++++++----------
 2 files changed, 30 insertions(+), 25 deletions(-)

diff --git a/core/camel-core/src/main/java/org/apache/camel/reifier/ProcessorReifier.java b/core/camel-core/src/main/java/org/apache/camel/reifier/ProcessorReifier.java
index 460443e..5298219 100644
--- a/core/camel-core/src/main/java/org/apache/camel/reifier/ProcessorReifier.java
+++ b/core/camel-core/src/main/java/org/apache/camel/reifier/ProcessorReifier.java
@@ -113,7 +113,9 @@ public abstract class ProcessorReifier<T extends ProcessorDefinition<?>> {
 
     private static final Map<Class<?>, Function<ProcessorDefinition<?>, ProcessorReifier<? extends ProcessorDefinition<?>>>> PROCESSORS;
     static {
-        Map<Class<?>, Function<ProcessorDefinition<?>, ProcessorReifier<? extends ProcessorDefinition<?>>>> map = new HashMap<>();
+        // NOTE: if adding a new class then update the initial capacity of the HashMap
+        Map<Class<?>, Function<ProcessorDefinition<?>, ProcessorReifier<? extends ProcessorDefinition<?>>>> map
+                = new HashMap<>(65);
         map.put(AggregateDefinition.class, AggregateReifier::new);
         map.put(BeanDefinition.class, BeanReifier::new);
         map.put(CatchDefinition.class, CatchReifier::new);
diff --git a/tooling/apt/src/main/java/org/apache/camel/tools/apt/CoreEipAnnotationProcessorHelper.java b/tooling/apt/src/main/java/org/apache/camel/tools/apt/CoreEipAnnotationProcessorHelper.java
index fc00956..6b49614 100644
--- a/tooling/apt/src/main/java/org/apache/camel/tools/apt/CoreEipAnnotationProcessorHelper.java
+++ b/tooling/apt/src/main/java/org/apache/camel/tools/apt/CoreEipAnnotationProcessorHelper.java
@@ -18,7 +18,6 @@ package org.apache.camel.tools.apt;
 
 import java.io.PrintWriter;
 import java.io.Writer;
-import java.util.Collections;
 import java.util.Comparator;
 import java.util.HashSet;
 import java.util.LinkedHashSet;
@@ -46,7 +45,6 @@ import javax.xml.bind.annotation.XmlRootElement;
 import javax.xml.bind.annotation.XmlType;
 import javax.xml.bind.annotation.XmlValue;
 
-import jdk.nashorn.internal.ir.debug.ClassHistogramElement;
 import org.apache.camel.spi.AsPredicate;
 import org.apache.camel.spi.Metadata;
 import org.apache.camel.tools.apt.helper.IOHelper;
@@ -54,7 +52,6 @@ import org.apache.camel.tools.apt.helper.JsonSchemaHelper;
 import org.apache.camel.tools.apt.helper.Strings;
 
 import static org.apache.camel.tools.apt.AnnotationProcessorHelper.dumpExceptionToErrorFile;
-import static org.apache.camel.tools.apt.AnnotationProcessorHelper.error;
 import static org.apache.camel.tools.apt.AnnotationProcessorHelper.findJavaDoc;
 import static org.apache.camel.tools.apt.AnnotationProcessorHelper.findTypeElement;
 import static org.apache.camel.tools.apt.AnnotationProcessorHelper.findTypeElementChildren;
@@ -68,7 +65,9 @@ import static org.apache.camel.tools.apt.helper.Strings.safeNull;
 
 /**
  * Process all camel-core's model classes (EIPs and DSL) and generate json
- * schema documentation
+ * schema documentation and for some models java source code is generated
+ * which allows for faster property placeholder resolution at runtime; without the
+ * overhead of using reflections.
  */
 public class CoreEipAnnotationProcessorHelper {
 
@@ -130,19 +129,18 @@ public class CoreEipAnnotationProcessorHelper {
         }
 
         // write json schema and property placeholder provider
-        processFile(processingEnv, packageName, fileName, writer -> writeJSonSchemeDocumentation(processingEnv, writer,
+        processFile(processingEnv, packageName, fileName, writer -> writeJSonSchemeAndPropertyPlaceholderProvider(processingEnv, writer,
                 roundEnv, classElement, rootElement, javaTypeName, name, propertyPlaceholderDefinitions));
 
-        // if last then generate
+        // if last then generate source code for helper that contains all the generated property placeholder providers
+        // (this allows fast property placeholders at runtime without reflection overhead)
         if (last) {
-            // lets sort themfirst
             writePropertyPlaceholderDefinitionsHelper(processingEnv, roundEnv, propertyPlaceholderDefinitions);
         }
     }
 
-    // TODO: rename this 
-    protected void writeJSonSchemeDocumentation(ProcessingEnvironment processingEnv, PrintWriter writer, RoundEnvironment roundEnv, TypeElement classElement,
-                                                XmlRootElement rootElement, String javaTypeName, String modelName, Set<String> propertyPlaceholderDefinitions) {
+    protected void writeJSonSchemeAndPropertyPlaceholderProvider(ProcessingEnvironment processingEnv, PrintWriter writer, RoundEnvironment roundEnv, TypeElement classElement,
+                                                                 XmlRootElement rootElement, String javaTypeName, String modelName, Set<String> propertyPlaceholderDefinitions) {
         // gather eip information
         EipModel eipModel = findEipModelProperties(processingEnv, roundEnv, classElement, javaTypeName, modelName);
 
@@ -156,17 +154,19 @@ public class CoreEipAnnotationProcessorHelper {
         eipModel.setInput(hasInput(processingEnv, roundEnv, classElement));
         eipModel.setOutput(hasOutput(eipModel, eipOptions));
 
+        // write json schema file
         String json = createParameterJsonSchema(eipModel, eipOptions);
         writer.println(json);
 
-        // write property placeholder source code
-        writePropertyPlaceholderProviderSource(processingEnv, writer, roundEnv, classElement, eipModel, eipOptions, propertyPlaceholderDefinitions);
+        // generate property placeholder provider java source code
+        generatePropertyPlaceholderProviderSource(processingEnv, writer, roundEnv, classElement, eipModel, eipOptions, propertyPlaceholderDefinitions);
     }
 
-    protected void writePropertyPlaceholderProviderSource(ProcessingEnvironment processingEnv, PrintWriter writer, RoundEnvironment roundEnv, TypeElement classElement,
-                                                          EipModel eipModel, Set<EipOption> options, Set<String> propertyPlaceholderDefinitions) {
+    protected void generatePropertyPlaceholderProviderSource(ProcessingEnvironment processingEnv, PrintWriter writer, RoundEnvironment roundEnv, TypeElement classElement,
+                                                             EipModel eipModel, Set<EipOption> options, Set<String> propertyPlaceholderDefinitions) {
 
-        // the following are valid class elements which we want to generate
+        // not ever model classes support property placeholders as this has been limited to mainly Camel routes
+        // so filter out unwanted models
         boolean rest = classElement.getQualifiedName().toString().startsWith("org.apache.camel.model.rest");
         boolean processor = hasSuperClass(processingEnv, roundEnv, classElement, "org.apache.camel.model.ProcessorDefinition");
         boolean language = hasSuperClass(processingEnv, roundEnv, classElement, "org.apache.camel.model.language.ExpressionDefinition");
@@ -238,7 +238,7 @@ public class CoreEipAnnotationProcessorHelper {
             for (EipOption option : options) {
                 if ("java.lang.String".equals(option.getType())) {
                     found = true;
-                    String getOrSet = sanitizeOptionName(def, option);
+                    String getOrSet = sanitizePropertyPlaceholderOptionName(def, option);
                     getOrSet = Character.toUpperCase(getOrSet.charAt(0)) + getOrSet.substring(1);
                     w.write("        readPlaceholders.put(\"" + option.getName() + "\", definition::get" + getOrSet + ");\n");
                     w.write("        writePlaceholders.put(\"" + option.getName() + "\", definition::set" + getOrSet + ");\n");
@@ -270,8 +270,11 @@ public class CoreEipAnnotationProcessorHelper {
         }
     }
 
-    public String sanitizeOptionName(String def, EipOption option) {
-        // some elements have different setter/getter names vs the xml dsl
+    /**
+     * Some models have different setter/getter names vs the xml name (eg as defined in @XmlAttribute).
+     * So we need to correct this using this method.
+     */
+    public String sanitizePropertyPlaceholderOptionName(String def, EipOption option) {
         if ("SimpleExpression".equals(def) || "JsonPathExpression".equals(def)) {
             if ("resultType".equals(option.getName())) {
                 return "resultTypeName";
@@ -336,7 +339,7 @@ public class CoreEipAnnotationProcessorHelper {
             w.write("\n");
             w.write("    private static final Map<Class, Function<Object, DefinitionPropertyPlaceholderConfigurable>> MAP;\n");
             w.write("    static {\n");
-            w.write("        Map<Class, Function<Object, DefinitionPropertyPlaceholderConfigurable>> map = new HashMap<>();\n");
+            w.write("        Map<Class, Function<Object, DefinitionPropertyPlaceholderConfigurable>> map = new HashMap<>(" + propertyPlaceholderDefinitions.size() + ");\n");
             for (String def : propertyPlaceholderDefinitions) {
                 String cn = def.substring(def.lastIndexOf('.') + 1);
                 w.write("        map.put(" + cn + ".class, " + cn + "PropertyPlaceholderProvider::new);\n");
@@ -1501,19 +1504,19 @@ public class CoreEipAnnotationProcessorHelper {
 
         @Override
         public int compare(EipOption o1, EipOption o2) {
-            int weigth = weigth(o1);
-            int weigth2 = weigth(o2);
+            int weight = weight(o1);
+            int weight2 = weight(o2);
 
-            if (weigth == weigth2) {
+            if (weight == weight2) {
                 // keep the current order
                 return 1;
             } else {
                 // sort according to weight
-                return weigth2 - weigth;
+                return weight2 - weight;
             }
         }
 
-        private int weigth(EipOption o) {
+        private int weight(EipOption o) {
             String name = o.getName();
 
             // these should be first


[camel] 03/21: CAMEL-13850: Optimize model classes to provide changeable properties that support property placeholders to avoid reflection. Work in progress.

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

davsclaus pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git

commit a8397b97f36b80979ba2aacce6556d4aa8e7caab
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Mon Aug 12 18:00:21 2019 +0200

    CAMEL-13850: Optimize model classes to provide changeable properties that support property placeholders to avoid reflection. Work in progress.
---
 .../model/DefinitionPropertiesProviderHelper.java  |  18 ++-
 ...DefinitionPropertyPlaceholderConfigurable.java} |  14 +-
 .../model/FromDefinitionPropertiesProvider.java    |  50 -------
 .../model/LogDefinitionPropertiesProvider.java     |  56 --------
 .../camel/model/OptionalIdentifiedDefinition.java  |   2 +-
 .../camel/model/ProcessorDefinitionHelper.java     |  36 +----
 .../java/org/apache/camel/model/ToDefinition.java  |   3 +-
 .../model/ToDefinitionPropertiesProvider.java      |  50 -------
 .../apt/CoreEipAnnotationProcessorHelper.java      | 158 +++++++++++++++++++++
 9 files changed, 182 insertions(+), 205 deletions(-)

diff --git a/core/camel-core/src/main/java/org/apache/camel/model/DefinitionPropertiesProviderHelper.java b/core/camel-core/src/main/java/org/apache/camel/model/DefinitionPropertiesProviderHelper.java
index 7da3ffd..86cb92e 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/DefinitionPropertiesProviderHelper.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/DefinitionPropertiesProviderHelper.java
@@ -21,19 +21,23 @@ import java.util.Map;
 import java.util.Optional;
 import java.util.function.Function;
 
+import org.apache.camel.model.placeholder.FromDefinitionPropertyPlaceholderProvider;
+import org.apache.camel.model.placeholder.LogDefinitionPropertyPlaceholderProvider;
+import org.apache.camel.model.placeholder.ToDefinitionPropertyPlaceholderProvider;
+
 public class DefinitionPropertiesProviderHelper {
 
-    private static final Map<Class, Function<Object, PropertyPlaceholderAware>> MAP;
+    private static final Map<Class, Function<Object, DefinitionPropertyPlaceholderConfigurable>> MAP;
     static {
-        Map<Class, Function<Object, PropertyPlaceholderAware>> map = new HashMap<>();
-        map.put(FromDefinition.class, FromDefinitionPropertiesProvider::new);
-        map.put(LogDefinition.class, LogDefinitionPropertiesProvider::new);
-        map.put(ToDefinition.class, ToDefinitionPropertiesProvider::new);
+        Map<Class, Function<Object, DefinitionPropertyPlaceholderConfigurable>> map = new HashMap<>();
+        map.put(FromDefinition.class, FromDefinitionPropertyPlaceholderProvider::new);
+        map.put(LogDefinition.class, LogDefinitionPropertyPlaceholderProvider::new);
+        map.put(ToDefinition.class, ToDefinitionPropertyPlaceholderProvider::new);
         MAP = map;
     }
 
-    public static Optional<PropertyPlaceholderAware> provider(Object definition) {
-        Function<Object, PropertyPlaceholderAware> func = MAP.get(definition.getClass());
+    public static Optional<DefinitionPropertyPlaceholderConfigurable> provider(Object definition) {
+        Function<Object, DefinitionPropertyPlaceholderConfigurable> func = MAP.get(definition.getClass());
         if (func != null) {
             return Optional.of(func.apply(definition));
         }
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/PropertyPlaceholderAware.java b/core/camel-core/src/main/java/org/apache/camel/model/DefinitionPropertyPlaceholderConfigurable.java
similarity index 75%
rename from core/camel-core/src/main/java/org/apache/camel/model/PropertyPlaceholderAware.java
rename to core/camel-core/src/main/java/org/apache/camel/model/DefinitionPropertyPlaceholderConfigurable.java
index c4fb8b7..9c82f6b 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/PropertyPlaceholderAware.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/DefinitionPropertyPlaceholderConfigurable.java
@@ -22,24 +22,28 @@ import java.util.function.Supplier;
 
 import org.apache.camel.CamelContext;
 
-// TODO: Rename interface
-public interface PropertyPlaceholderAware {
+/**
+ * To be used for configuring property placeholder options on the EIP models.
+ */
+public interface DefinitionPropertyPlaceholderConfigurable {
 
     /**
      * Gets the options on the model definition which supports property placeholders and can be resolved.
+     * This will be all the string based options.
      *
      * @return key/values of options
      */
     default Map<String, Supplier<String>> getReadPropertyPlaceholderOptions(CamelContext camelContext) {
-        PropertyPlaceholderAware aware = DefinitionPropertiesProviderHelper.provider(this).orElse(null);
+        DefinitionPropertyPlaceholderConfigurable aware = DefinitionPropertiesProviderHelper.provider(this).orElse(null);
         return aware != null ? aware.getReadPropertyPlaceholderOptions(camelContext) : null;
     }
 
     /**
-     * To update an existing property using the function with the ket/value and returning the changed value
+     * To update an existing property using the function with the key/value and returning the changed value
+     * This will be all the string based options.
      */
     default Map<String, Consumer<String>> getWritePropertyPlaceholderOptions(CamelContext camelContext) {
-        PropertyPlaceholderAware aware = DefinitionPropertiesProviderHelper.provider(this).orElse(null);
+        DefinitionPropertyPlaceholderConfigurable aware = DefinitionPropertiesProviderHelper.provider(this).orElse(null);
         return aware != null ? aware.getWritePropertyPlaceholderOptions(camelContext) : null;
     }
 
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/FromDefinitionPropertiesProvider.java b/core/camel-core/src/main/java/org/apache/camel/model/FromDefinitionPropertiesProvider.java
deleted file mode 100644
index 5953f84..0000000
--- a/core/camel-core/src/main/java/org/apache/camel/model/FromDefinitionPropertiesProvider.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- * <p>
- * http://www.apache.org/licenses/LICENSE-2.0
- * <p>
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.model;
-
-import java.util.HashMap;
-import java.util.Map;
-import java.util.function.Consumer;
-import java.util.function.Supplier;
-
-import org.apache.camel.CamelContext;
-
-public class FromDefinitionPropertiesProvider implements PropertyPlaceholderAware {
-
-    private final FromDefinition definition;
-    private final Map<String, Supplier<String>> readPlaceholders = new HashMap<>();
-    private final Map<String, Consumer<String>> writePlaceholders = new HashMap<>();
-
-    public FromDefinitionPropertiesProvider(Object obj) {
-        this.definition = (FromDefinition) obj;
-
-        readPlaceholders.put("id", definition::getId);
-        readPlaceholders.put("uri", definition::getUri);
-        writePlaceholders.put("id", definition::setId);
-        writePlaceholders.put("uri", definition::setUri);
-    }
-
-    @Override
-    public Map<String, Supplier<String>> getReadPropertyPlaceholderOptions(CamelContext camelContext) {
-        return readPlaceholders;
-    }
-
-    @Override
-    public Map<String, Consumer<String>> getWritePropertyPlaceholderOptions(CamelContext camelContext) {
-        return writePlaceholders;
-    }
-}
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/LogDefinitionPropertiesProvider.java b/core/camel-core/src/main/java/org/apache/camel/model/LogDefinitionPropertiesProvider.java
deleted file mode 100644
index a60ffa8..0000000
--- a/core/camel-core/src/main/java/org/apache/camel/model/LogDefinitionPropertiesProvider.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- * <p>
- * http://www.apache.org/licenses/LICENSE-2.0
- * <p>
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.model;
-
-import java.util.HashMap;
-import java.util.Map;
-import java.util.function.Consumer;
-import java.util.function.Supplier;
-
-import org.apache.camel.CamelContext;
-
-public class LogDefinitionPropertiesProvider implements PropertyPlaceholderAware {
-
-    private final LogDefinition definition;
-    private final Map<String, Supplier<String>> readPlaceholders = new HashMap<>();
-    private final Map<String, Consumer<String>> writePlaceholders = new HashMap<>();
-
-    public LogDefinitionPropertiesProvider(Object obj) {
-        this.definition = (LogDefinition) obj;
-
-        readPlaceholders.put("id", definition::getId);
-        readPlaceholders.put("message", definition::getMessage);
-        readPlaceholders.put("logName", definition::getLogName);
-        readPlaceholders.put("marker", definition::getMarker);
-        readPlaceholders.put("loggerRef", definition::getLoggerRef);
-        writePlaceholders.put("id", definition::setId);
-        writePlaceholders.put("message", definition::setMessage);
-        writePlaceholders.put("logName", definition::setLogName);
-        writePlaceholders.put("marker", definition::setMarker);
-        writePlaceholders.put("loggerRef", definition::setLoggerRef);
-    }
-
-    @Override
-    public Map<String, Supplier<String>> getReadPropertyPlaceholderOptions(CamelContext camelContext) {
-        return readPlaceholders;
-    }
-
-    @Override
-    public Map<String, Consumer<String>> getWritePropertyPlaceholderOptions(CamelContext camelContext) {
-        return writePlaceholders;
-    }
-}
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/OptionalIdentifiedDefinition.java b/core/camel-core/src/main/java/org/apache/camel/model/OptionalIdentifiedDefinition.java
index 5f520f5..9ca6bff 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/OptionalIdentifiedDefinition.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/OptionalIdentifiedDefinition.java
@@ -31,7 +31,7 @@ import org.apache.camel.spi.NodeIdFactory;
 @XmlType(name = "optionalIdentifiedDefinition")
 @XmlAccessorType(XmlAccessType.PROPERTY)
 // must use XmlAccessType.PROPERTY which is required by camel-spring / camel-blueprint for their namespace parsers
-public abstract class OptionalIdentifiedDefinition<T extends OptionalIdentifiedDefinition<T>> implements NamedNode, PropertyPlaceholderAware {
+public abstract class OptionalIdentifiedDefinition<T extends OptionalIdentifiedDefinition<T>> implements NamedNode, DefinitionPropertyPlaceholderConfigurable {
 
     private String id;
     private Boolean customId;
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/ProcessorDefinitionHelper.java b/core/camel-core/src/main/java/org/apache/camel/model/ProcessorDefinitionHelper.java
index ff809f6..b57f51a 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/ProcessorDefinitionHelper.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/ProcessorDefinitionHelper.java
@@ -28,18 +28,12 @@ import java.util.concurrent.ExecutorService;
 import java.util.concurrent.ScheduledExecutorService;
 import java.util.function.Consumer;
 import java.util.function.Supplier;
-import javax.xml.namespace.QName;
 
 import org.apache.camel.CamelContext;
-import org.apache.camel.Exchange;
 import org.apache.camel.NamedNode;
 import org.apache.camel.spi.ExecutorServiceManager;
-import org.apache.camel.spi.PropertiesComponent;
 import org.apache.camel.spi.RouteContext;
-import org.apache.camel.support.IntrospectionSupport;
-import org.apache.camel.support.PropertyBindingSupport;
 import org.apache.camel.util.ObjectHelper;
-import org.apache.camel.util.StringHelper;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -655,32 +649,6 @@ public final class ProcessorDefinitionHelper {
         });
     }
 
-    @Deprecated
-    private static void addRestoreAction(final CamelContext context, final Object target, final Map<String, Object> properties) {
-        if (properties.isEmpty()) {
-            return;
-        }
-
-        RestoreAction restoreAction = CURRENT_RESTORE_ACTION.get();
-        if (restoreAction == null) {
-            return;
-        }
-
-        restoreAction.actions.add(new Runnable() {
-            @Override
-            public void run() {
-                try {
-                    // do not use property placeholders as we want to preserve the text as-is when we restore
-                    PropertyBindingSupport.build()
-                            .withPlaceholder(false).withNesting(false).withReference(false)
-                            .bind(context, target, properties);
-                } catch (Exception e) {
-                    LOG.warn("Cannot restore definition properties. This exception is ignored.", e);
-                }
-            }
-        });
-    }
-
     public static void addPropertyPlaceholdersChangeRevertAction(Runnable action) {
         RestoreAction restoreAction = CURRENT_RESTORE_ACTION.get();
         if (restoreAction == null) {
@@ -706,11 +674,11 @@ public final class ProcessorDefinitionHelper {
         LOG.trace("Resolving property placeholders for: {}", definition);
 
         // only do this for models that supports property placeholders
-        if (!(definition instanceof PropertyPlaceholderAware)) {
+        if (!(definition instanceof DefinitionPropertyPlaceholderConfigurable)) {
             return;
         }
 
-        PropertyPlaceholderAware ppa = (PropertyPlaceholderAware) definition;
+        DefinitionPropertyPlaceholderConfigurable ppa = (DefinitionPropertyPlaceholderConfigurable) definition;
 
         // find all getter/setter which we can use for property placeholders
         Map<String, String> changedProperties = new HashMap<>();
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/ToDefinition.java b/core/camel-core/src/main/java/org/apache/camel/model/ToDefinition.java
index 3a0ba35..10b61d8 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/ToDefinition.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/ToDefinition.java
@@ -18,7 +18,6 @@ package org.apache.camel.model;
 
 import java.util.HashMap;
 import java.util.Map;
-import java.util.function.BiFunction;
 import java.util.function.Consumer;
 import java.util.function.Supplier;
 import javax.xml.bind.annotation.XmlAccessType;
@@ -39,7 +38,7 @@ import org.apache.camel.spi.PropertiesComponent;
 @Metadata(label = "eip,endpoint,routing")
 @XmlRootElement(name = "to")
 @XmlAccessorType(XmlAccessType.FIELD)
-public class ToDefinition extends SendDefinition<ToDefinition> implements PropertyPlaceholderAware {
+public class ToDefinition extends SendDefinition<ToDefinition> implements DefinitionPropertyPlaceholderConfigurable {
     @XmlAttribute
     private ExchangePattern pattern;
 
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/ToDefinitionPropertiesProvider.java b/core/camel-core/src/main/java/org/apache/camel/model/ToDefinitionPropertiesProvider.java
deleted file mode 100644
index e0e64a5..0000000
--- a/core/camel-core/src/main/java/org/apache/camel/model/ToDefinitionPropertiesProvider.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- * <p>
- * http://www.apache.org/licenses/LICENSE-2.0
- * <p>
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.model;
-
-import java.util.HashMap;
-import java.util.Map;
-import java.util.function.Consumer;
-import java.util.function.Supplier;
-
-import org.apache.camel.CamelContext;
-
-public class ToDefinitionPropertiesProvider implements PropertyPlaceholderAware {
-
-    private final ToDefinition definition;
-    private final Map<String, Supplier<String>> readPlaceholders = new HashMap<>();
-    private final Map<String, Consumer<String>> writePlaceholders = new HashMap<>();
-
-    public ToDefinitionPropertiesProvider(Object obj) {
-        this.definition = (ToDefinition) obj;
-
-        readPlaceholders.put("id", definition::getId);
-        readPlaceholders.put("uri", definition::getUri);
-        writePlaceholders.put("id", definition::setId);
-        writePlaceholders.put("uri", definition::setUri);
-    }
-
-    @Override
-    public Map<String, Supplier<String>> getReadPropertyPlaceholderOptions(CamelContext camelContext) {
-        return readPlaceholders;
-    }
-
-    @Override
-    public Map<String, Consumer<String>> getWritePropertyPlaceholderOptions(CamelContext camelContext) {
-        return writePlaceholders;
-    }
-}
diff --git a/tooling/apt/src/main/java/org/apache/camel/tools/apt/CoreEipAnnotationProcessorHelper.java b/tooling/apt/src/main/java/org/apache/camel/tools/apt/CoreEipAnnotationProcessorHelper.java
index df08f15..edb48d7 100644
--- a/tooling/apt/src/main/java/org/apache/camel/tools/apt/CoreEipAnnotationProcessorHelper.java
+++ b/tooling/apt/src/main/java/org/apache/camel/tools/apt/CoreEipAnnotationProcessorHelper.java
@@ -17,12 +17,14 @@
 package org.apache.camel.tools.apt;
 
 import java.io.PrintWriter;
+import java.io.Writer;
 import java.util.Comparator;
 import java.util.HashSet;
 import java.util.LinkedHashSet;
 import java.util.List;
 import java.util.Set;
 import java.util.TreeSet;
+import java.util.function.Consumer;
 import java.util.stream.Collectors;
 
 import javax.annotation.processing.ProcessingEnvironment;
@@ -34,6 +36,8 @@ import javax.lang.model.element.VariableElement;
 import javax.lang.model.type.TypeMirror;
 import javax.lang.model.util.ElementFilter;
 import javax.lang.model.util.Elements;
+import javax.tools.Diagnostic;
+import javax.tools.JavaFileObject;
 import javax.xml.bind.annotation.XmlAttribute;
 import javax.xml.bind.annotation.XmlElement;
 import javax.xml.bind.annotation.XmlElementRef;
@@ -42,11 +46,15 @@ import javax.xml.bind.annotation.XmlRootElement;
 import javax.xml.bind.annotation.XmlType;
 import javax.xml.bind.annotation.XmlValue;
 
+import jdk.nashorn.internal.ir.debug.ClassHistogramElement;
 import org.apache.camel.spi.AsPredicate;
 import org.apache.camel.spi.Metadata;
+import org.apache.camel.tools.apt.helper.IOHelper;
 import org.apache.camel.tools.apt.helper.JsonSchemaHelper;
 import org.apache.camel.tools.apt.helper.Strings;
 
+import static org.apache.camel.tools.apt.AnnotationProcessorHelper.dumpExceptionToErrorFile;
+import static org.apache.camel.tools.apt.AnnotationProcessorHelper.error;
 import static org.apache.camel.tools.apt.AnnotationProcessorHelper.findJavaDoc;
 import static org.apache.camel.tools.apt.AnnotationProcessorHelper.findTypeElement;
 import static org.apache.camel.tools.apt.AnnotationProcessorHelper.findTypeElementChildren;
@@ -124,6 +132,7 @@ public class CoreEipAnnotationProcessorHelper {
         processFile(processingEnv, packageName, fileName, writer -> writeJSonSchemeDocumentation(processingEnv, writer, roundEnv, classElement, rootElement, javaTypeName, name));
     }
 
+
     protected void writeJSonSchemeDocumentation(ProcessingEnvironment processingEnv, PrintWriter writer, RoundEnvironment roundEnv, TypeElement classElement,
                                                 XmlRootElement rootElement, String javaTypeName, String modelName) {
         // gather eip information
@@ -141,6 +150,155 @@ public class CoreEipAnnotationProcessorHelper {
 
         String json = createParameterJsonSchema(eipModel, eipOptions);
         writer.println(json);
+
+        // write property placeholder source code
+        writePropertyPlaceholderProviderSource(processingEnv, writer, roundEnv, classElement, eipModel, eipOptions);
+    }
+
+    protected void writePropertyPlaceholderProviderSource(ProcessingEnvironment processingEnv, PrintWriter writer, RoundEnvironment roundEnv, TypeElement classElement,
+                                                          EipModel eipModel, Set<EipOption> options) {
+
+        // the following are valid class elements which we want to generate
+        boolean rest = classElement.getQualifiedName().toString().startsWith("org.apache.camel.model.rest");
+        boolean processor = hasSuperClass(processingEnv, roundEnv, classElement, "org.apache.camel.model.ProcessorDefinition");
+        boolean language = hasSuperClass(processingEnv, roundEnv, classElement, "org.apache.camel.model.language.ExpressionDefinition");
+        boolean dataformat = hasSuperClass(processingEnv, roundEnv, classElement, "org.apache.camel.model.DataFormatDefinition");
+
+        if (!rest && !processor && !language && !dataformat) {
+            return;
+        }
+
+        TypeElement parent = findTypeElement(processingEnv, roundEnv, "org.apache.camel.model.DefinitionPropertyPlaceholderConfigurable");
+        String def = classElement.getSimpleName().toString();
+        String fqnDef = classElement.getQualifiedName().toString();
+        String cn = def + "PropertyPlaceholderProvider";
+        String fqn = "org.apache.camel.model.placeholder." + cn;
+
+        doWritePropertyPlaceholderProviderSource(processingEnv, parent, def, fqnDef, cn, fqn, options);
+
+        // we also need to generate from when we generate route as from can also configure property placeholders
+        if ("RouteDefinition".equals(def)) {
+            def = "FromDefinition";
+            fqnDef = "org.apache.camel.model.FromDefinition";
+            cn = "FromDefinitionPropertyPlaceholderProvider";
+            fqn = "org.apache.camel.model.placeholder.FromDefinitionPropertyPlaceholderProvider";
+
+            options.clear();
+            options.add(new EipOption("id", null, null, "java.lang.String", false, null, null, false, null, false, null, false, null, false));
+            options.add(new EipOption("uri", null, null, "java.lang.String", false, null, null, false, null, false, null, false, null, false));
+
+            doWritePropertyPlaceholderProviderSource(processingEnv, parent, def, fqnDef, cn, fqn, options);
+        }
+    }
+
+    private void doWritePropertyPlaceholderProviderSource(ProcessingEnvironment processingEnv, TypeElement parent,
+                                                          String def, String fqnDef, String cn, String fqn,
+                                                          Set<EipOption> options) {
+
+        Writer w = null;
+        try {
+            JavaFileObject src = processingEnv.getFiler().createSourceFile(fqn, parent);
+            w = src.openWriter();
+
+            w.write("/* Generated by camel-apt */\n");
+            w.write("package org.apache.camel.model.placeholder;\n");
+            w.write("\n");
+            w.write("import java.util.HashMap;\n");
+            w.write("import java.util.Map;\n");
+            w.write("import java.util.function.Consumer;\n");
+            w.write("import java.util.function.Supplier;\n");
+            w.write("\n");
+            w.write("import org.apache.camel.CamelContext;\n");
+            w.write("import " + fqnDef + ";\n");
+            w.write("import org.apache.camel.model.DefinitionPropertyPlaceholderConfigurable;\n");
+            w.write("\n");
+            w.write("public class " + cn + " implements DefinitionPropertyPlaceholderConfigurable {\n");
+            w.write("\n");
+            w.write("    private final Map<String, Supplier<String>> readPlaceholders = new HashMap<>();\n");
+            w.write("    private final Map<String, Consumer<String>> writePlaceholders = new HashMap<>();\n");
+            w.write("\n");
+
+            // add constructor
+            w.write("    public " + cn + "(Object obj) {\n");
+            w.write("        " + def + " definition = (" + def + ") obj;\n");
+            w.write("\n");
+
+            // only include string types as they are the only ones we can use for property placeholders
+            boolean found = false;
+            for (EipOption option : options) {
+                if ("java.lang.String".equals(option.getType())) {
+                    found = true;
+                    String getOrSet = sanitizeOptionName(def, option);
+                    getOrSet = Character.toUpperCase(getOrSet.charAt(0)) + getOrSet.substring(1);
+                    w.write("        readPlaceholders.put(\"" + option.getName() + "\", definition::get" + getOrSet + ");\n");
+                    w.write("        writePlaceholders.put(\"" + option.getName() + "\", definition::set" + getOrSet + ");\n");
+                }
+            }
+            if (!found) {
+                w.write("\n");
+            }
+
+            w.write("    }\n");
+            w.write("\n");
+            w.write("    @Override\n");
+            w.write("    public Map<String, Supplier<String>> getReadPropertyPlaceholderOptions(CamelContext camelContext) {\n");
+            w.write("        return readPlaceholders;\n");
+            w.write("    }\n");
+            w.write("\n");
+            w.write("    @Override\n");
+            w.write("    public Map<String, Consumer<String>> getWritePropertyPlaceholderOptions(CamelContext camelContext) {\n");
+            w.write("        return writePlaceholders;\n");
+            w.write("    }\n");
+            w.write("\n");
+            w.write("}\n");
+            w.write("\n");
+        } catch (Exception e) {
+            processingEnv.getMessager().printMessage(Diagnostic.Kind.ERROR, "Unable to process annotated elements in " + getClass().getSimpleName() + ": " + e.getMessage());
+            dumpExceptionToErrorFile("camel-apt-error.log", "Error processing annotation in " + getClass().getSimpleName(), e);
+        } finally {
+            IOHelper.close(w);
+        }
+    }
+
+    public String sanitizeOptionName(String def, EipOption option) {
+        // some elements have different setter/getter names vs the xml dsl
+        if ("SimpleExpression".equals(def) || "JsonPathExpression".equals(def)) {
+            if ("resultType".equals(option.getName())) {
+                return "resultTypeName";
+            }
+        } else if ("EnrichDefinition".equals(def) || "PollEnrichDefinition".equals(def) || "ClaimCheckDefinition".equals(def)) {
+            if ("strategyRef".equals(option.getName())) {
+                return "aggregationStrategyRef";
+            } else if ("strategyMethodName".equals(option.getName())) {
+                return "aggregationStrategyMethodName";
+            } else if ("strategyMethodAllowNull".equals(option.getName())) {
+                return "aggregationStrategyMethodAllowNull";
+            }
+        } else if ("MethodCallExpression".equals(def)) {
+            if ("beanType".equals(option.getName())) {
+                return "beanTypeName";
+            }
+        } else if ("XPathExpression".equals(def)) {
+            if ("documentType".equals(option.getName())) {
+                return "documentTypeName";
+            } else if ("resultType".equals(option.getName())) {
+                return "resultTypeName";
+            }
+        } else if ("WireTapDefinition".equals(def)) {
+            if ("processorRef".equals(option.getName())) {
+                return "newExchangeProcessorRef";
+            }
+        } else if ("TidyMarkupDataFormat".equals(def)) {
+            if ("dataObjectType".equals(option.getName())) {
+                return "dataObjectTypeName";
+            }
+        } else if ("BindyDataFormat".equals(def)) {
+            if ("classType".equals(option.getName())) {
+                return "classTypeAsString";
+            }
+        }
+
+        return option.getName();
     }
 
     public String createParameterJsonSchema(EipModel eipModel, Set<EipOption> options) {


[camel] 14/21: CAMEL-13850: Remove resolvePropertyPlaceholders on DefaultComponent as this is already supported via camel main, spring boot and other means. This avoid reflection overhead on bootstrap.

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

davsclaus pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git

commit cf12f9c23bd82d0f8c6f0558c1e0445bb1da897e
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Tue Aug 13 13:12:07 2019 +0200

    CAMEL-13850: Remove resolvePropertyPlaceholders on DefaultComponent as this is already supported via camel main, spring boot and other means. This avoid reflection overhead on bootstrap.
---
 MIGRATION.md                                       |  3 +
 .../org/apache/camel/support/DefaultComponent.java | 31 ---------
 .../camel/support/PropertyPlaceholdersHelper.java  | 80 ----------------------
 3 files changed, 3 insertions(+), 111 deletions(-)

diff --git a/MIGRATION.md b/MIGRATION.md
index a182b1e..eb7b949 100644
--- a/MIGRATION.md
+++ b/MIGRATION.md
@@ -382,6 +382,9 @@ The `Component` and `DataFormat` interfaces now extend `Service` as components a
 
 The class `FactoryFinder` has changed its API to use `Optional` as return types instead of throwing checked `FactoryNotFoundException` or `ClassNotFoundException` etc.
 
+The option `resolvePropertyPlaceholders` on all the components has been removed,
+as property placeholders is already supported via Camel Main, Camel Spring Boot and other means.
+
 #### camel-test
 
 If you are using camel-test and override the `createRegistry` method, for example to register beans from the `JndiRegisty` class, then this is no longer necessary, and instead
diff --git a/core/camel-support/src/main/java/org/apache/camel/support/DefaultComponent.java b/core/camel-support/src/main/java/org/apache/camel/support/DefaultComponent.java
index ce0f8a8..7d4b73d 100644
--- a/core/camel-support/src/main/java/org/apache/camel/support/DefaultComponent.java
+++ b/core/camel-support/src/main/java/org/apache/camel/support/DefaultComponent.java
@@ -34,7 +34,6 @@ import org.apache.camel.Endpoint;
 import org.apache.camel.ResolveEndpointFailedException;
 import org.apache.camel.component.extension.ComponentExtension;
 import org.apache.camel.spi.Metadata;
-import org.apache.camel.spi.PropertiesComponent;
 import org.apache.camel.support.service.ServiceSupport;
 import org.apache.camel.util.ObjectHelper;
 import org.apache.camel.util.URISupport;
@@ -55,9 +54,6 @@ public abstract class DefaultComponent extends ServiceSupport implements Compone
 
     private CamelContext camelContext;
 
-    @Metadata(label = "advanced", defaultValue = "true",
-        description = "Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders.")
-    private boolean resolvePropertyPlaceholders = true;
     @Metadata(label = "advanced",
         description = "Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities")
     private boolean basicPropertyBinding;
@@ -230,22 +226,6 @@ public abstract class DefaultComponent extends ServiceSupport implements Compone
     }
 
     /**
-     * Whether the component should resolve property placeholders on itself when starting.
-     * Only properties which are of String type can use property placeholders.
-     */
-    public void setResolvePropertyPlaceholders(boolean resolvePropertyPlaceholders) {
-        this.resolvePropertyPlaceholders = resolvePropertyPlaceholders;
-    }
-
-    /**
-     * Whether the component should resolve property placeholders on itself when starting.
-     * Only properties which are of String type can use property placeholders.
-     */
-    public boolean isResolvePropertyPlaceholders() {
-        return resolvePropertyPlaceholders;
-    }
-
-    /**
      * Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities.
      */
     public boolean isBasicPropertyBinding() {
@@ -340,17 +320,6 @@ public abstract class DefaultComponent extends ServiceSupport implements Compone
     @Override
     protected void doStart() throws Exception {
         ObjectHelper.notNull(getCamelContext(), "camelContext");
-
-        if (isResolvePropertyPlaceholders()) {
-            // only resolve property placeholders if its in use
-            PropertiesComponent existing = camelContext.getPropertiesComponent(false);
-            if (existing != null) {
-                log.debug("Resolving property placeholders on component: {}", this);
-                PropertyPlaceholdersHelper.resolvePropertyPlaceholders(camelContext, this);
-            } else {
-                log.debug("Cannot resolve property placeholders on component: {} as PropertiesComponent is not in use", this);
-            }
-        }
     }
 
     @Override
diff --git a/core/camel-support/src/main/java/org/apache/camel/support/PropertyPlaceholdersHelper.java b/core/camel-support/src/main/java/org/apache/camel/support/PropertyPlaceholdersHelper.java
deleted file mode 100644
index 84e44e9..0000000
--- a/core/camel-support/src/main/java/org/apache/camel/support/PropertyPlaceholdersHelper.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.support;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.apache.camel.CamelContext;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public final class PropertyPlaceholdersHelper {
-
-    private static final Logger LOG = LoggerFactory.getLogger(PropertyPlaceholdersHelper.class);
-
-    private PropertyPlaceholdersHelper() {
-    }
-
-    /**
-     * Inspects the given definition and resolves any property placeholders from its properties.
-     * <p/>
-     * This implementation will check all the getter/setter pairs on this instance and for all the values
-     * (which is a String type) will be property placeholder resolved.
-     *
-     * @param camelContext the Camel context
-     * @param object   the object
-     * @throws Exception is thrown if property placeholders was used and there was an error resolving them
-     * @see CamelContext#resolvePropertyPlaceholders(String)
-     * @see org.apache.camel.spi.PropertiesComponent
-     */
-    public static void resolvePropertyPlaceholders(CamelContext camelContext, Object object) throws Exception {
-        LOG.trace("Resolving property placeholders for: {}", object);
-
-        // TODO: Like ProcessorDefinitionHelper we want to avoid reflection
-
-        // find all getter/setter which we can use for property placeholders
-        Map<String, Object> properties = new HashMap<>();
-        IntrospectionSupport.getProperties(object, properties, null);
-
-        if (!properties.isEmpty()) {
-            LOG.trace("There are {} properties on: {}", properties.size(), object);
-            // lookup and resolve properties for String based properties
-            for (Map.Entry<String, Object> entry : properties.entrySet()) {
-                // the name is always a String
-                String name = entry.getKey();
-                Object value = entry.getValue();
-                if (value instanceof String) {
-                    // value must be a String, as a String is the key for a property placeholder
-                    String text = (String) value;
-                    text = camelContext.resolvePropertyPlaceholders(text);
-                    if (text != value) {
-                        // invoke setter as the text has changed
-                        boolean changed = IntrospectionSupport.setProperty(camelContext.getTypeConverter(), object, name, text);
-                        if (!changed) {
-                            throw new IllegalArgumentException("No setter to set property: " + name + " to: " + text + " on: " + object);
-                        }
-                        if (LOG.isDebugEnabled()) {
-                            LOG.debug("Changed property [{}] from: {} to: {}", name, value, text);
-                        }
-                    }
-                }
-            }
-        }
-    }
-
-}


[camel] 02/21: CAMEL-13850: Optimize model classes to provide changeable properties that support property placeholders to avoid reflection. Work in progress.

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

davsclaus pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git

commit 1c2875720f826535ae2b7f111b657126fa00b6fa
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Mon Aug 12 15:02:46 2019 +0200

    CAMEL-13850: Optimize model classes to provide changeable properties that support property placeholders to avoid reflection. Work in progress.
---
 .../model/DefinitionPropertiesProviderHelper.java  | 43 +++++++++++++++++
 .../org/apache/camel/model/FromDefinition.java     | 18 +------
 .../model/FromDefinitionPropertiesProvider.java    | 50 +++++++++++++++++++
 .../java/org/apache/camel/model/LogDefinition.java | 29 +----------
 .../model/LogDefinitionPropertiesProvider.java     | 56 ++++++++++++++++++++++
 .../camel/model/OptionalIdentifiedDefinition.java  |  2 +-
 .../camel/model/ProcessorDefinitionHelper.java     |  1 +
 .../camel/model/PropertyPlaceholderAware.java      | 12 ++++-
 ...re.java => ToDefinitionPropertiesProvider.java} | 34 ++++++++-----
 9 files changed, 186 insertions(+), 59 deletions(-)

diff --git a/core/camel-core/src/main/java/org/apache/camel/model/DefinitionPropertiesProviderHelper.java b/core/camel-core/src/main/java/org/apache/camel/model/DefinitionPropertiesProviderHelper.java
new file mode 100644
index 0000000..7da3ffd
--- /dev/null
+++ b/core/camel-core/src/main/java/org/apache/camel/model/DefinitionPropertiesProviderHelper.java
@@ -0,0 +1,43 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ * <p>
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * <p>
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.model;
+
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Optional;
+import java.util.function.Function;
+
+public class DefinitionPropertiesProviderHelper {
+
+    private static final Map<Class, Function<Object, PropertyPlaceholderAware>> MAP;
+    static {
+        Map<Class, Function<Object, PropertyPlaceholderAware>> map = new HashMap<>();
+        map.put(FromDefinition.class, FromDefinitionPropertiesProvider::new);
+        map.put(LogDefinition.class, LogDefinitionPropertiesProvider::new);
+        map.put(ToDefinition.class, ToDefinitionPropertiesProvider::new);
+        MAP = map;
+    }
+
+    public static Optional<PropertyPlaceholderAware> provider(Object definition) {
+        Function<Object, PropertyPlaceholderAware> func = MAP.get(definition.getClass());
+        if (func != null) {
+            return Optional.of(func.apply(definition));
+        }
+        return Optional.empty();
+    }
+
+}
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/FromDefinition.java b/core/camel-core/src/main/java/org/apache/camel/model/FromDefinition.java
index 6d61c6d..fb4d762 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/FromDefinition.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/FromDefinition.java
@@ -37,7 +37,7 @@ import org.apache.camel.spi.Metadata;
 @Metadata(label = "eip,endpoint,routing")
 @XmlRootElement(name = "from")
 @XmlAccessorType(XmlAccessType.FIELD)
-public class FromDefinition extends OptionalIdentifiedDefinition<FromDefinition> implements PropertyPlaceholderAware, EndpointRequiredDefinition {
+public class FromDefinition extends OptionalIdentifiedDefinition<FromDefinition> implements EndpointRequiredDefinition {
     @XmlAttribute @Metadata(required = true)
     private String uri;
     @XmlTransient
@@ -45,14 +45,7 @@ public class FromDefinition extends OptionalIdentifiedDefinition<FromDefinition>
     @XmlTransient
     private EndpointConsumerBuilder endpointConsumerBuilder;
 
-    private final Map<String, Supplier<String>> readPlaceholders = new HashMap<>();
-    private final Map<String, Consumer<String>> writePlaceholders = new HashMap<>();
-
     public FromDefinition() {
-        readPlaceholders.put("id", this::getId);
-        readPlaceholders.put("uri", this::getUri);
-        writePlaceholders.put("id", this::setId);
-        writePlaceholders.put("uri", this::setUri);
     }
 
     public FromDefinition(String uri) {
@@ -150,13 +143,4 @@ public class FromDefinition extends OptionalIdentifiedDefinition<FromDefinition>
         this.uri = null;
     }
 
-    @Override
-    public Map<String, Supplier<String>> getReadPropertyPlaceholderOptions(CamelContext camelContext) {
-        return readPlaceholders;
-    }
-
-    @Override
-    public Map<String, Consumer<String>> getWritePropertyPlaceholderOptions(CamelContext camelContext) {
-        return writePlaceholders;
-    }
 }
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/FromDefinitionPropertiesProvider.java b/core/camel-core/src/main/java/org/apache/camel/model/FromDefinitionPropertiesProvider.java
new file mode 100644
index 0000000..5953f84
--- /dev/null
+++ b/core/camel-core/src/main/java/org/apache/camel/model/FromDefinitionPropertiesProvider.java
@@ -0,0 +1,50 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ * <p>
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * <p>
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.model;
+
+import java.util.HashMap;
+import java.util.Map;
+import java.util.function.Consumer;
+import java.util.function.Supplier;
+
+import org.apache.camel.CamelContext;
+
+public class FromDefinitionPropertiesProvider implements PropertyPlaceholderAware {
+
+    private final FromDefinition definition;
+    private final Map<String, Supplier<String>> readPlaceholders = new HashMap<>();
+    private final Map<String, Consumer<String>> writePlaceholders = new HashMap<>();
+
+    public FromDefinitionPropertiesProvider(Object obj) {
+        this.definition = (FromDefinition) obj;
+
+        readPlaceholders.put("id", definition::getId);
+        readPlaceholders.put("uri", definition::getUri);
+        writePlaceholders.put("id", definition::setId);
+        writePlaceholders.put("uri", definition::setUri);
+    }
+
+    @Override
+    public Map<String, Supplier<String>> getReadPropertyPlaceholderOptions(CamelContext camelContext) {
+        return readPlaceholders;
+    }
+
+    @Override
+    public Map<String, Consumer<String>> getWritePropertyPlaceholderOptions(CamelContext camelContext) {
+        return writePlaceholders;
+    }
+}
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/LogDefinition.java b/core/camel-core/src/main/java/org/apache/camel/model/LogDefinition.java
index 62281e5..fb84545 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/LogDefinition.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/LogDefinition.java
@@ -16,17 +16,12 @@
  */
 package org.apache.camel.model;
 
-import java.util.HashMap;
-import java.util.Map;
-import java.util.function.Consumer;
-import java.util.function.Supplier;
 import javax.xml.bind.annotation.XmlAccessType;
 import javax.xml.bind.annotation.XmlAccessorType;
 import javax.xml.bind.annotation.XmlAttribute;
 import javax.xml.bind.annotation.XmlRootElement;
 import javax.xml.bind.annotation.XmlTransient;
 
-import org.apache.camel.CamelContext;
 import org.apache.camel.LoggingLevel;
 import org.apache.camel.spi.Metadata;
 import org.slf4j.Logger;
@@ -37,7 +32,7 @@ import org.slf4j.Logger;
 @Metadata(label = "eip,configuration")
 @XmlRootElement(name = "log")
 @XmlAccessorType(XmlAccessType.FIELD)
-public class LogDefinition extends NoOutputDefinition<LogDefinition> implements PropertyPlaceholderAware {
+public class LogDefinition extends NoOutputDefinition<LogDefinition> {
 
     @XmlAttribute(required = true)
     private String message;
@@ -52,20 +47,7 @@ public class LogDefinition extends NoOutputDefinition<LogDefinition> implements
     @XmlTransient
     private Logger logger;
 
-    private final Map<String, Supplier<String>> readPlaceholders = new HashMap<>();
-    private final Map<String, Consumer<String>> writePlaceholders = new HashMap<>();
-
     public LogDefinition() {
-        readPlaceholders.put("id", this::getId);
-        readPlaceholders.put("message", this::getMessage);
-        readPlaceholders.put("logName", this::getLogName);
-        readPlaceholders.put("marker", this::getMarker);
-        readPlaceholders.put("loggerRef", this::getLoggerRef);
-        writePlaceholders.put("id", this::setId);
-        writePlaceholders.put("message", this::setMessage);
-        writePlaceholders.put("logName", this::setLogName);
-        writePlaceholders.put("marker", this::setMarker);
-        writePlaceholders.put("loggerRef", this::setLoggerRef);
     }
 
     public LogDefinition(String message) {
@@ -156,13 +138,4 @@ public class LogDefinition extends NoOutputDefinition<LogDefinition> implements
         this.logger = logger;
     }
 
-    @Override
-    public Map<String, Supplier<String>> getReadPropertyPlaceholderOptions(CamelContext camelContext) {
-        return readPlaceholders;
-    }
-
-    @Override
-    public Map<String, Consumer<String>> getWritePropertyPlaceholderOptions(CamelContext camelContext) {
-        return writePlaceholders;
-    }
 }
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/LogDefinitionPropertiesProvider.java b/core/camel-core/src/main/java/org/apache/camel/model/LogDefinitionPropertiesProvider.java
new file mode 100644
index 0000000..a60ffa8
--- /dev/null
+++ b/core/camel-core/src/main/java/org/apache/camel/model/LogDefinitionPropertiesProvider.java
@@ -0,0 +1,56 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ * <p>
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * <p>
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.model;
+
+import java.util.HashMap;
+import java.util.Map;
+import java.util.function.Consumer;
+import java.util.function.Supplier;
+
+import org.apache.camel.CamelContext;
+
+public class LogDefinitionPropertiesProvider implements PropertyPlaceholderAware {
+
+    private final LogDefinition definition;
+    private final Map<String, Supplier<String>> readPlaceholders = new HashMap<>();
+    private final Map<String, Consumer<String>> writePlaceholders = new HashMap<>();
+
+    public LogDefinitionPropertiesProvider(Object obj) {
+        this.definition = (LogDefinition) obj;
+
+        readPlaceholders.put("id", definition::getId);
+        readPlaceholders.put("message", definition::getMessage);
+        readPlaceholders.put("logName", definition::getLogName);
+        readPlaceholders.put("marker", definition::getMarker);
+        readPlaceholders.put("loggerRef", definition::getLoggerRef);
+        writePlaceholders.put("id", definition::setId);
+        writePlaceholders.put("message", definition::setMessage);
+        writePlaceholders.put("logName", definition::setLogName);
+        writePlaceholders.put("marker", definition::setMarker);
+        writePlaceholders.put("loggerRef", definition::setLoggerRef);
+    }
+
+    @Override
+    public Map<String, Supplier<String>> getReadPropertyPlaceholderOptions(CamelContext camelContext) {
+        return readPlaceholders;
+    }
+
+    @Override
+    public Map<String, Consumer<String>> getWritePropertyPlaceholderOptions(CamelContext camelContext) {
+        return writePlaceholders;
+    }
+}
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/OptionalIdentifiedDefinition.java b/core/camel-core/src/main/java/org/apache/camel/model/OptionalIdentifiedDefinition.java
index dd0c216..5f520f5 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/OptionalIdentifiedDefinition.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/OptionalIdentifiedDefinition.java
@@ -31,7 +31,7 @@ import org.apache.camel.spi.NodeIdFactory;
 @XmlType(name = "optionalIdentifiedDefinition")
 @XmlAccessorType(XmlAccessType.PROPERTY)
 // must use XmlAccessType.PROPERTY which is required by camel-spring / camel-blueprint for their namespace parsers
-public abstract class OptionalIdentifiedDefinition<T extends OptionalIdentifiedDefinition<T>> implements NamedNode {
+public abstract class OptionalIdentifiedDefinition<T extends OptionalIdentifiedDefinition<T>> implements NamedNode, PropertyPlaceholderAware {
 
     private String id;
     private Boolean customId;
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/ProcessorDefinitionHelper.java b/core/camel-core/src/main/java/org/apache/camel/model/ProcessorDefinitionHelper.java
index 280965b..ff809f6 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/ProcessorDefinitionHelper.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/ProcessorDefinitionHelper.java
@@ -721,6 +721,7 @@ public final class ProcessorDefinitionHelper {
             if (LOG.isTraceEnabled()) {
                 LOG.trace("There are {} properties on: {}", readProperties.size(), definition);
             }
+
             // lookup and resolve properties for String based properties
             for (Map.Entry<String, Supplier<String>> entry : readProperties.entrySet()) {
                 String name = entry.getKey();
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/PropertyPlaceholderAware.java b/core/camel-core/src/main/java/org/apache/camel/model/PropertyPlaceholderAware.java
index 9bc6b4a..c4fb8b7 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/PropertyPlaceholderAware.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/PropertyPlaceholderAware.java
@@ -22,6 +22,7 @@ import java.util.function.Supplier;
 
 import org.apache.camel.CamelContext;
 
+// TODO: Rename interface
 public interface PropertyPlaceholderAware {
 
     /**
@@ -29,10 +30,17 @@ public interface PropertyPlaceholderAware {
      *
      * @return key/values of options
      */
-    Map<String, Supplier<String>> getReadPropertyPlaceholderOptions(CamelContext camelContext);
+    default Map<String, Supplier<String>> getReadPropertyPlaceholderOptions(CamelContext camelContext) {
+        PropertyPlaceholderAware aware = DefinitionPropertiesProviderHelper.provider(this).orElse(null);
+        return aware != null ? aware.getReadPropertyPlaceholderOptions(camelContext) : null;
+    }
 
     /**
      * To update an existing property using the function with the ket/value and returning the changed value
      */
-    Map<String, Consumer<String>> getWritePropertyPlaceholderOptions(CamelContext camelContext);
+    default Map<String, Consumer<String>> getWritePropertyPlaceholderOptions(CamelContext camelContext) {
+        PropertyPlaceholderAware aware = DefinitionPropertiesProviderHelper.provider(this).orElse(null);
+        return aware != null ? aware.getWritePropertyPlaceholderOptions(camelContext) : null;
+    }
+
 }
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/PropertyPlaceholderAware.java b/core/camel-core/src/main/java/org/apache/camel/model/ToDefinitionPropertiesProvider.java
similarity index 50%
copy from core/camel-core/src/main/java/org/apache/camel/model/PropertyPlaceholderAware.java
copy to core/camel-core/src/main/java/org/apache/camel/model/ToDefinitionPropertiesProvider.java
index 9bc6b4a..e0e64a5 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/PropertyPlaceholderAware.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/ToDefinitionPropertiesProvider.java
@@ -16,23 +16,35 @@
  */
 package org.apache.camel.model;
 
+import java.util.HashMap;
 import java.util.Map;
 import java.util.function.Consumer;
 import java.util.function.Supplier;
 
 import org.apache.camel.CamelContext;
 
-public interface PropertyPlaceholderAware {
+public class ToDefinitionPropertiesProvider implements PropertyPlaceholderAware {
 
-    /**
-     * Gets the options on the model definition which supports property placeholders and can be resolved.
-     *
-     * @return key/values of options
-     */
-    Map<String, Supplier<String>> getReadPropertyPlaceholderOptions(CamelContext camelContext);
+    private final ToDefinition definition;
+    private final Map<String, Supplier<String>> readPlaceholders = new HashMap<>();
+    private final Map<String, Consumer<String>> writePlaceholders = new HashMap<>();
 
-    /**
-     * To update an existing property using the function with the ket/value and returning the changed value
-     */
-    Map<String, Consumer<String>> getWritePropertyPlaceholderOptions(CamelContext camelContext);
+    public ToDefinitionPropertiesProvider(Object obj) {
+        this.definition = (ToDefinition) obj;
+
+        readPlaceholders.put("id", definition::getId);
+        readPlaceholders.put("uri", definition::getUri);
+        writePlaceholders.put("id", definition::setId);
+        writePlaceholders.put("uri", definition::setUri);
+    }
+
+    @Override
+    public Map<String, Supplier<String>> getReadPropertyPlaceholderOptions(CamelContext camelContext) {
+        return readPlaceholders;
+    }
+
+    @Override
+    public Map<String, Consumer<String>> getWritePropertyPlaceholderOptions(CamelContext camelContext) {
+        return writePlaceholders;
+    }
 }


[camel] 18/21: CAMEL-13850: Source code generate ExchangeConstantProvider so we can do fast lookup of its constant values without reflection

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

davsclaus pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git

commit f6cf229afd684f82e86912170399c76e5e2bddc1
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Tue Aug 13 18:34:48 2019 +0200

    CAMEL-13850: Source code generate ExchangeConstantProvider so we can do fast lookup of its constant values without reflection
---
 .../org/apache/camel/tools/apt/PropertyPlaceholderGenerator.java     | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/tooling/apt/src/main/java/org/apache/camel/tools/apt/PropertyPlaceholderGenerator.java b/tooling/apt/src/main/java/org/apache/camel/tools/apt/PropertyPlaceholderGenerator.java
index 2cfec56..9855474 100644
--- a/tooling/apt/src/main/java/org/apache/camel/tools/apt/PropertyPlaceholderGenerator.java
+++ b/tooling/apt/src/main/java/org/apache/camel/tools/apt/PropertyPlaceholderGenerator.java
@@ -28,7 +28,10 @@ import org.apache.camel.tools.apt.helper.IOHelper;
 
 import static org.apache.camel.tools.apt.AnnotationProcessorHelper.dumpExceptionToErrorFile;
 
-public class PropertyPlaceholderGenerator {
+public final class PropertyPlaceholderGenerator {
+
+    private PropertyPlaceholderGenerator() {
+    }
 
     public static void generatePropertyPlaceholderProviderSource(ProcessingEnvironment processingEnv, TypeElement parent,
                                                                  String def, String fqnDef, String cn, String fqn,


[camel] 12/21: CAMEL-13850: Optimize model classes to provide changeable properties that support property placeholders to avoid reflection. Work in progress.

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

davsclaus pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git

commit 59309b7c1d1116ad658f0b436abefd3e4b786f19
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Tue Aug 13 09:03:36 2019 +0200

    CAMEL-13850: Optimize model classes to provide changeable properties that support property placeholders to avoid reflection. Work in progress.
---
 .../apt/CoreEipAnnotationProcessorHelper.java      | 180 +-----------------
 .../tools/apt/PropertyPlaceholderGenerator.java    | 206 +++++++++++++++++++++
 2 files changed, 212 insertions(+), 174 deletions(-)

diff --git a/tooling/apt/src/main/java/org/apache/camel/tools/apt/CoreEipAnnotationProcessorHelper.java b/tooling/apt/src/main/java/org/apache/camel/tools/apt/CoreEipAnnotationProcessorHelper.java
index 93f57a0..f003530 100644
--- a/tooling/apt/src/main/java/org/apache/camel/tools/apt/CoreEipAnnotationProcessorHelper.java
+++ b/tooling/apt/src/main/java/org/apache/camel/tools/apt/CoreEipAnnotationProcessorHelper.java
@@ -17,7 +17,6 @@
 package org.apache.camel.tools.apt;
 
 import java.io.PrintWriter;
-import java.io.Writer;
 import java.util.Comparator;
 import java.util.HashSet;
 import java.util.LinkedHashSet;
@@ -35,8 +34,6 @@ import javax.lang.model.element.VariableElement;
 import javax.lang.model.type.TypeMirror;
 import javax.lang.model.util.ElementFilter;
 import javax.lang.model.util.Elements;
-import javax.tools.Diagnostic;
-import javax.tools.JavaFileObject;
 import javax.xml.bind.annotation.XmlAttribute;
 import javax.xml.bind.annotation.XmlElement;
 import javax.xml.bind.annotation.XmlElementRef;
@@ -47,17 +44,16 @@ import javax.xml.bind.annotation.XmlValue;
 
 import org.apache.camel.spi.AsPredicate;
 import org.apache.camel.spi.Metadata;
-import org.apache.camel.tools.apt.helper.IOHelper;
 import org.apache.camel.tools.apt.helper.JsonSchemaHelper;
 import org.apache.camel.tools.apt.helper.Strings;
 
-import static org.apache.camel.tools.apt.AnnotationProcessorHelper.dumpExceptionToErrorFile;
 import static org.apache.camel.tools.apt.AnnotationProcessorHelper.findJavaDoc;
 import static org.apache.camel.tools.apt.AnnotationProcessorHelper.findTypeElement;
 import static org.apache.camel.tools.apt.AnnotationProcessorHelper.findTypeElementChildren;
 import static org.apache.camel.tools.apt.AnnotationProcessorHelper.hasSuperClass;
 import static org.apache.camel.tools.apt.AnnotationProcessorHelper.implementsInterface;
 import static org.apache.camel.tools.apt.AnnotationProcessorHelper.processFile;
+import static org.apache.camel.tools.apt.PropertyPlaceholderGenerator.generatePropertyPlaceholderDefinitionsHelper;
 import static org.apache.camel.tools.apt.helper.JsonSchemaHelper.sanitizeDescription;
 import static org.apache.camel.tools.apt.helper.Strings.canonicalClassName;
 import static org.apache.camel.tools.apt.helper.Strings.isNullOrEmpty;
@@ -135,7 +131,7 @@ public class CoreEipAnnotationProcessorHelper {
         // if last then generate source code for helper that contains all the generated property placeholder providers
         // (this allows fast property placeholders at runtime without reflection overhead)
         if (last) {
-            writePropertyPlaceholderDefinitionsHelper(processingEnv, roundEnv, propertyPlaceholderDefinitions);
+            generatePropertyPlaceholderDefinitionsHelper(processingEnv, roundEnv, propertyPlaceholderDefinitions);
         }
     }
 
@@ -182,7 +178,7 @@ public class CoreEipAnnotationProcessorHelper {
         String cn = def + "PropertyPlaceholderProvider";
         String fqn = "org.apache.camel.model.placeholder." + cn;
 
-        doWritePropertyPlaceholderProviderSource(processingEnv, parent, def, fqnDef, cn, fqn, options);
+        PropertyPlaceholderGenerator.generatePropertyPlaceholderProviderSource(processingEnv, parent, def, fqnDef, cn, fqn, options);
         propertyPlaceholderDefinitions.add(fqnDef);
 
         // we also need to generate from when we generate route as from can also configure property placeholders
@@ -196,175 +192,11 @@ public class CoreEipAnnotationProcessorHelper {
             options.add(new EipOption("id", null, null, "java.lang.String", false, null, null, false, null, false, null, false, null, false));
             options.add(new EipOption("uri", null, null, "java.lang.String", false, null, null, false, null, false, null, false, null, false));
 
-            doWritePropertyPlaceholderProviderSource(processingEnv, parent, def, fqnDef, cn, fqn, options);
+            PropertyPlaceholderGenerator.generatePropertyPlaceholderProviderSource(processingEnv, parent, def, fqnDef, cn, fqn, options);
             propertyPlaceholderDefinitions.add(fqnDef);
         }
     }
 
-    private void doWritePropertyPlaceholderProviderSource(ProcessingEnvironment processingEnv, TypeElement parent,
-                                                          String def, String fqnDef, String cn, String fqn,
-                                                          Set<EipOption> options) {
-
-        Writer w = null;
-        try {
-            JavaFileObject src = processingEnv.getFiler().createSourceFile(fqn, parent);
-            w = src.openWriter();
-
-            w.write("/* Generated by camel-apt */\n");
-            w.write("package org.apache.camel.model.placeholder;\n");
-            w.write("\n");
-            w.write("import java.util.HashMap;\n");
-            w.write("import java.util.Map;\n");
-            w.write("import java.util.function.Consumer;\n");
-            w.write("import java.util.function.Supplier;\n");
-            w.write("\n");
-            w.write("import org.apache.camel.CamelContext;\n");
-            w.write("import " + fqnDef + ";\n");
-            w.write("import org.apache.camel.spi.PropertyPlaceholderConfigurer;\n");
-            w.write("\n");
-            w.write("public class " + cn + " implements PropertyPlaceholderConfigurer {\n");
-            w.write("\n");
-            w.write("    private final Map<String, Supplier<String>> readPlaceholders = new HashMap<>();\n");
-            w.write("    private final Map<String, Consumer<String>> writePlaceholders = new HashMap<>();\n");
-            w.write("\n");
-
-            // add constructor
-            w.write("    public " + cn + "(Object obj) {\n");
-            w.write("        " + def + " definition = (" + def + ") obj;\n");
-            w.write("\n");
-
-            // only include string types as they are the only ones we can use for property placeholders
-            boolean found = false;
-            for (EipOption option : options) {
-                if ("java.lang.String".equals(option.getType())) {
-                    found = true;
-                    String getOrSet = sanitizePropertyPlaceholderOptionName(def, option);
-                    getOrSet = Character.toUpperCase(getOrSet.charAt(0)) + getOrSet.substring(1);
-                    w.write("        readPlaceholders.put(\"" + option.getName() + "\", definition::get" + getOrSet + ");\n");
-                    w.write("        writePlaceholders.put(\"" + option.getName() + "\", definition::set" + getOrSet + ");\n");
-                }
-            }
-            if (!found) {
-                w.write("\n");
-            }
-
-            w.write("    }\n");
-            w.write("\n");
-            w.write("    @Override\n");
-            w.write("    public Map<String, Supplier<String>> getReadPropertyPlaceholderOptions(CamelContext camelContext) {\n");
-            w.write("        return readPlaceholders;\n");
-            w.write("    }\n");
-            w.write("\n");
-            w.write("    @Override\n");
-            w.write("    public Map<String, Consumer<String>> getWritePropertyPlaceholderOptions(CamelContext camelContext) {\n");
-            w.write("        return writePlaceholders;\n");
-            w.write("    }\n");
-            w.write("\n");
-            w.write("}\n");
-            w.write("\n");
-        } catch (Exception e) {
-            processingEnv.getMessager().printMessage(Diagnostic.Kind.ERROR, "Unable to process annotated elements in " + getClass().getSimpleName() + ": " + e.getMessage());
-            dumpExceptionToErrorFile("camel-apt-error.log", "Error processing annotation in " + getClass().getSimpleName(), e);
-        } finally {
-            IOHelper.close(w);
-        }
-    }
-
-    /**
-     * Some models have different setter/getter names vs the xml name (eg as defined in @XmlAttribute).
-     * So we need to correct this using this method.
-     */
-    public String sanitizePropertyPlaceholderOptionName(String def, EipOption option) {
-        if ("SimpleExpression".equals(def) || "JsonPathExpression".equals(def)) {
-            if ("resultType".equals(option.getName())) {
-                return "resultTypeName";
-            }
-        } else if ("EnrichDefinition".equals(def) || "PollEnrichDefinition".equals(def) || "ClaimCheckDefinition".equals(def)) {
-            if ("strategyRef".equals(option.getName())) {
-                return "aggregationStrategyRef";
-            } else if ("strategyMethodName".equals(option.getName())) {
-                return "aggregationStrategyMethodName";
-            } else if ("strategyMethodAllowNull".equals(option.getName())) {
-                return "aggregationStrategyMethodAllowNull";
-            }
-        } else if ("MethodCallExpression".equals(def)) {
-            if ("beanType".equals(option.getName())) {
-                return "beanTypeName";
-            }
-        } else if ("XPathExpression".equals(def)) {
-            if ("documentType".equals(option.getName())) {
-                return "documentTypeName";
-            } else if ("resultType".equals(option.getName())) {
-                return "resultTypeName";
-            }
-        } else if ("WireTapDefinition".equals(def)) {
-            if ("processorRef".equals(option.getName())) {
-                return "newExchangeProcessorRef";
-            }
-        } else if ("TidyMarkupDataFormat".equals(def)) {
-            if ("dataObjectType".equals(option.getName())) {
-                return "dataObjectTypeName";
-            }
-        } else if ("BindyDataFormat".equals(def)) {
-            if ("classType".equals(option.getName())) {
-                return "classTypeAsString";
-            }
-        }
-
-        return option.getName();
-    }
-
-    private void writePropertyPlaceholderDefinitionsHelper(ProcessingEnvironment processingEnv, RoundEnvironment roundEnv,
-                                                           Set<String> propertyPlaceholderDefinitions) {
-        Writer w = null;
-        try {
-            JavaFileObject src = processingEnv.getFiler().createSourceFile("org.apache.camel.model.placeholder.DefinitionPropertiesPlaceholderProviderHelper");
-            w = src.openWriter();
-
-            w.write("/* Generated by camel-apt */\n");
-            w.write("package org.apache.camel.model.placeholder;\n");
-            w.write("\n");
-            w.write("import java.util.HashMap;\n");
-            w.write("import java.util.Map;\n");
-            w.write("import java.util.Optional;\n");
-            w.write("import java.util.function.Function;\n");
-            w.write("import java.util.function.Supplier;\n");
-            w.write("\n");
-            w.write("import org.apache.camel.spi.PropertyPlaceholderConfigurer;\n");
-            for (String def : propertyPlaceholderDefinitions) {
-                w.write("import " + def + ";\n");
-            }
-            w.write("\n");
-            w.write("public class DefinitionPropertiesPlaceholderProviderHelper {\n");
-            w.write("\n");
-            w.write("    private static final Map<Class, Function<Object, PropertyPlaceholderConfigurer>> MAP;\n");
-            w.write("    static {\n");
-            w.write("        Map<Class, Function<Object, PropertyPlaceholderConfigurer>> map = new HashMap<>(" + propertyPlaceholderDefinitions.size() + ");\n");
-            for (String def : propertyPlaceholderDefinitions) {
-                String cn = def.substring(def.lastIndexOf('.') + 1);
-                w.write("        map.put(" + cn + ".class, " + cn + "PropertyPlaceholderProvider::new);\n");
-            }
-            w.write("        MAP = map;\n");
-            w.write("    }\n");
-            w.write("\n");
-            w.write("    public static Optional<PropertyPlaceholderConfigurer> provider(Object definition) {\n");
-            w.write("        Function<Object, PropertyPlaceholderConfigurer> func = MAP.get(definition.getClass());\n");
-            w.write("        if (func != null) {\n");
-            w.write("            return Optional.of(func.apply(definition));\n");
-            w.write("        }\n");
-            w.write("        return Optional.empty();\n");
-            w.write("    }\n");
-            w.write("\n");
-            w.write("}\n");
-            w.write("\n");
-        } catch (Exception e) {
-            processingEnv.getMessager().printMessage(Diagnostic.Kind.ERROR, "Unable to process annotated elements in " + getClass().getSimpleName() + ": " + e.getMessage());
-            dumpExceptionToErrorFile("camel-apt-error.log", "Error processing annotation in " + getClass().getSimpleName(), e);
-        } finally {
-            IOHelper.close(w);
-        }
-    }
-
     public String createParameterJsonSchema(EipModel eipModel, Set<EipOption> options) {
         StringBuilder buffer = new StringBuilder("{");
         // eip model
@@ -1277,7 +1109,7 @@ public class CoreEipAnnotationProcessorHelper {
         return false;
     }
 
-    private static final class EipModel {
+    public static final class EipModel {
 
         private String name;
         private String title;
@@ -1379,7 +1211,7 @@ public class CoreEipAnnotationProcessorHelper {
         }
     }
 
-    private static final class EipOption {
+    public static final class EipOption {
 
         private String name;
         private String displayName;
diff --git a/tooling/apt/src/main/java/org/apache/camel/tools/apt/PropertyPlaceholderGenerator.java b/tooling/apt/src/main/java/org/apache/camel/tools/apt/PropertyPlaceholderGenerator.java
new file mode 100644
index 0000000..263f86e
--- /dev/null
+++ b/tooling/apt/src/main/java/org/apache/camel/tools/apt/PropertyPlaceholderGenerator.java
@@ -0,0 +1,206 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.tools.apt;
+
+import java.io.Writer;
+import java.util.Set;
+import javax.annotation.processing.ProcessingEnvironment;
+import javax.annotation.processing.RoundEnvironment;
+import javax.lang.model.element.TypeElement;
+import javax.tools.Diagnostic;
+import javax.tools.JavaFileObject;
+
+import org.apache.camel.tools.apt.helper.IOHelper;
+
+import static org.apache.camel.tools.apt.AnnotationProcessorHelper.dumpExceptionToErrorFile;
+
+public class PropertyPlaceholderGenerator {
+
+    public static void generatePropertyPlaceholderProviderSource(ProcessingEnvironment processingEnv, TypeElement parent,
+                                                                 String def, String fqnDef, String cn, String fqn,
+                                                                 Set<CoreEipAnnotationProcessorHelper.EipOption> options) {
+
+        Writer w = null;
+        try {
+            JavaFileObject src = processingEnv.getFiler().createSourceFile(fqn, parent);
+            w = src.openWriter();
+
+            w.write("/* Generated by camel-apt */\n");
+            w.write("package org.apache.camel.model.placeholder;\n");
+            w.write("\n");
+            w.write("import java.util.HashMap;\n");
+            w.write("import java.util.Map;\n");
+            w.write("import java.util.function.Consumer;\n");
+            w.write("import java.util.function.Supplier;\n");
+            w.write("\n");
+            w.write("import org.apache.camel.CamelContext;\n");
+            w.write("import " + fqnDef + ";\n");
+            w.write("import org.apache.camel.spi.PropertyPlaceholderConfigurer;\n");
+            w.write("\n");
+            w.write("/**\n");
+            w.write(" * Source code generated by org.apache.camel:apt\n");
+            w.write(" */\n");
+            w.write("public class " + cn + " implements PropertyPlaceholderConfigurer {\n");
+            w.write("\n");
+            w.write("    private final Map<String, Supplier<String>> readPlaceholders = new HashMap<>();\n");
+            w.write("    private final Map<String, Consumer<String>> writePlaceholders = new HashMap<>();\n");
+            w.write("\n");
+
+            // add constructor
+            w.write("    public " + cn + "(Object obj) {\n");
+            w.write("        " + def + " definition = (" + def + ") obj;\n");
+            w.write("\n");
+
+            // only include string types as they are the only ones we can use for property placeholders
+            boolean found = false;
+            for (CoreEipAnnotationProcessorHelper.EipOption option : options) {
+                if ("java.lang.String".equals(option.getType())) {
+                    found = true;
+                    String getOrSet = sanitizePropertyPlaceholderOptionName(def, option);
+                    getOrSet = Character.toUpperCase(getOrSet.charAt(0)) + getOrSet.substring(1);
+                    w.write("        readPlaceholders.put(\"" + option.getName() + "\", definition::get" + getOrSet + ");\n");
+                    w.write("        writePlaceholders.put(\"" + option.getName() + "\", definition::set" + getOrSet + ");\n");
+                }
+            }
+            if (!found) {
+                w.write("\n");
+            }
+
+            w.write("    }\n");
+            w.write("\n");
+            w.write("    @Override\n");
+            w.write("    public Map<String, Supplier<String>> getReadPropertyPlaceholderOptions(CamelContext camelContext) {\n");
+            w.write("        return readPlaceholders;\n");
+            w.write("    }\n");
+            w.write("\n");
+            w.write("    @Override\n");
+            w.write("    public Map<String, Consumer<String>> getWritePropertyPlaceholderOptions(CamelContext camelContext) {\n");
+            w.write("        return writePlaceholders;\n");
+            w.write("    }\n");
+            w.write("\n");
+            w.write("}\n");
+            w.write("\n");
+        } catch (Exception e) {
+            processingEnv.getMessager().printMessage(Diagnostic.Kind.ERROR, "Unable to generate source code file: " + fqn + ": " + e.getMessage());
+            dumpExceptionToErrorFile("camel-apt-error.log", "Unable to generate source code file: " + fqn, e);
+        } finally {
+            IOHelper.close(w);
+        }
+    }
+
+    public static void generatePropertyPlaceholderDefinitionsHelper(ProcessingEnvironment processingEnv, RoundEnvironment roundEnv,
+                                                                    Set<String> propertyPlaceholderDefinitions) {
+
+        String fqn = "org.apache.camel.model.placeholder.DefinitionPropertiesPlaceholderProviderHelper";
+
+        Writer w = null;
+        try {
+            JavaFileObject src = processingEnv.getFiler().createSourceFile(fqn);
+            w = src.openWriter();
+
+            w.write("/* Generated by camel-apt */\n");
+            w.write("package org.apache.camel.model.placeholder;\n");
+            w.write("\n");
+            w.write("import java.util.HashMap;\n");
+            w.write("import java.util.Map;\n");
+            w.write("import java.util.Optional;\n");
+            w.write("import java.util.function.Function;\n");
+            w.write("import java.util.function.Supplier;\n");
+            w.write("\n");
+            w.write("import org.apache.camel.spi.PropertyPlaceholderConfigurer;\n");
+            for (String def : propertyPlaceholderDefinitions) {
+                w.write("import " + def + ";\n");
+            }
+            w.write("\n");
+            w.write("/**\n");
+            w.write(" * Source code generated by org.apache.camel:apt\n");
+            w.write(" */\n");
+            w.write("public class DefinitionPropertiesPlaceholderProviderHelper {\n");
+            w.write("\n");
+            w.write("    private static final Map<Class, Function<Object, PropertyPlaceholderConfigurer>> MAP;\n");
+            w.write("    static {\n");
+            w.write("        Map<Class, Function<Object, PropertyPlaceholderConfigurer>> map = new HashMap<>(" + propertyPlaceholderDefinitions.size() + ");\n");
+            for (String def : propertyPlaceholderDefinitions) {
+                String cn = def.substring(def.lastIndexOf('.') + 1);
+                w.write("        map.put(" + cn + ".class, " + cn + "PropertyPlaceholderProvider::new);\n");
+            }
+            w.write("        MAP = map;\n");
+            w.write("    }\n");
+            w.write("\n");
+            w.write("    public static Optional<PropertyPlaceholderConfigurer> provider(Object definition) {\n");
+            w.write("        Function<Object, PropertyPlaceholderConfigurer> func = MAP.get(definition.getClass());\n");
+            w.write("        if (func != null) {\n");
+            w.write("            return Optional.of(func.apply(definition));\n");
+            w.write("        }\n");
+            w.write("        return Optional.empty();\n");
+            w.write("    }\n");
+            w.write("\n");
+            w.write("}\n");
+            w.write("\n");
+        } catch (Exception e) {
+            processingEnv.getMessager().printMessage(Diagnostic.Kind.ERROR, "Unable to generate source code file: " + fqn + ": " + e.getMessage());
+            dumpExceptionToErrorFile("camel-apt-error.log", "Unable to generate source code file: " + fqn, e);
+        } finally {
+            IOHelper.close(w);
+        }
+    }
+
+    /**
+     * Some models have different setter/getter names vs the xml name (eg as defined in @XmlAttribute).
+     * So we need to correct this using this method.
+     */
+    private static String sanitizePropertyPlaceholderOptionName(String def, CoreEipAnnotationProcessorHelper.EipOption option) {
+        if ("SimpleExpression".equals(def) || "JsonPathExpression".equals(def)) {
+            if ("resultType".equals(option.getName())) {
+                return "resultTypeName";
+            }
+        } else if ("EnrichDefinition".equals(def) || "PollEnrichDefinition".equals(def) || "ClaimCheckDefinition".equals(def)) {
+            if ("strategyRef".equals(option.getName())) {
+                return "aggregationStrategyRef";
+            } else if ("strategyMethodName".equals(option.getName())) {
+                return "aggregationStrategyMethodName";
+            } else if ("strategyMethodAllowNull".equals(option.getName())) {
+                return "aggregationStrategyMethodAllowNull";
+            }
+        } else if ("MethodCallExpression".equals(def)) {
+            if ("beanType".equals(option.getName())) {
+                return "beanTypeName";
+            }
+        } else if ("XPathExpression".equals(def)) {
+            if ("documentType".equals(option.getName())) {
+                return "documentTypeName";
+            } else if ("resultType".equals(option.getName())) {
+                return "resultTypeName";
+            }
+        } else if ("WireTapDefinition".equals(def)) {
+            if ("processorRef".equals(option.getName())) {
+                return "newExchangeProcessorRef";
+            }
+        } else if ("TidyMarkupDataFormat".equals(def)) {
+            if ("dataObjectType".equals(option.getName())) {
+                return "dataObjectTypeName";
+            }
+        } else if ("BindyDataFormat".equals(def)) {
+            if ("classType".equals(option.getName())) {
+                return "classTypeAsString";
+            }
+        }
+
+        return option.getName();
+    }
+
+}


[camel] 07/21: CAMEL-13850: Optimize model classes to provide changeable properties that support property placeholders to avoid reflection. Work in progress.

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

davsclaus pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git

commit 99836d9f16e1e453490e12a5096cc37108f4e085
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Tue Aug 13 06:12:37 2019 +0200

    CAMEL-13850: Optimize model classes to provide changeable properties that support property placeholders to avoid reflection. Work in progress.
---
 .../camel/model/ProcessorDefinitionHelper.java     | 81 +++++++---------------
 .../org/apache/camel/reifier/ChoiceReifier.java    |  3 -
 .../org/apache/camel/reifier/ProcessorReifier.java | 12 ----
 ...RouteWithConstantFieldFromExchangeFailTest.java |  1 +
 4 files changed, 25 insertions(+), 72 deletions(-)

diff --git a/core/camel-core/src/main/java/org/apache/camel/model/ProcessorDefinitionHelper.java b/core/camel-core/src/main/java/org/apache/camel/model/ProcessorDefinitionHelper.java
index 439ffbe..69e06b3 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/ProcessorDefinitionHelper.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/ProcessorDefinitionHelper.java
@@ -32,6 +32,7 @@ import java.util.function.Supplier;
 import javax.xml.namespace.QName;
 
 import org.apache.camel.CamelContext;
+import org.apache.camel.Exchange;
 import org.apache.camel.NamedNode;
 import org.apache.camel.RuntimeCamelException;
 import org.apache.camel.spi.ExecutorServiceManager;
@@ -40,6 +41,7 @@ import org.apache.camel.spi.RouteContext;
 import org.apache.camel.support.IntrospectionSupport;
 import org.apache.camel.support.PropertyBindingSupport;
 import org.apache.camel.util.ObjectHelper;
+import org.apache.camel.util.StringHelper;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -668,7 +670,10 @@ public final class ProcessorDefinitionHelper {
      * Inspects the given definition and resolves any property placeholders from its properties.
      * <p/>
      * This implementation will check all the getter/setter pairs on this instance and for all the values
-     * (which is a String type) will be property placeholder resolved. The definition should implement {@link OtherAttributesAware}
+     * (which is a String type) will be property placeholder resolved.
+     * Additional properties are also resolved if the definition implements {@link OtherAttributesAware}.
+     * Also known constant fields on {@link Exchange} is replaced with their actual constant value, eg
+     * <tt>Exchange.FILE_NAME</tt> is replaced with <tt>CamelFileName</tt>.
      *
      * @param camelContext the Camel context
      * @param definition   the definition which should implement {@link OtherAttributesAware}
@@ -692,12 +697,12 @@ public final class ProcessorDefinitionHelper {
         Map<String, Supplier<String>> readProperties = ppa.getReadPropertyPlaceholderOptions(camelContext);
         Map<String, Consumer<String>> writeProperties = ppa.getWritePropertyPlaceholderOptions(camelContext);
 
-        // processor's may have additional placeholder properties (can typically be used by the XML DSL to
+        // definitions may have additional placeholder properties (can typically be used by the XML DSL to
         // allow to configure using placeholders for properties that are not xs:string types)
-        if (definition instanceof ProcessorDefinition) {
-            ProcessorDefinition pd = (ProcessorDefinition) definition;
+        if (definition instanceof OtherAttributesAware) {
+            OtherAttributesAware ooa = (OtherAttributesAware) definition;
 
-            if (pd.getOtherAttributes() != null && !pd.getOtherAttributes().isEmpty()) {
+            if (ooa.getOtherAttributes() != null && !ooa.getOtherAttributes().isEmpty()) {
                 Map<String, Supplier<String>> extraRead = new HashMap<>();
                 if (readProperties != null && !readProperties.isEmpty()) {
                     extraRead.putAll(readProperties);
@@ -707,7 +712,7 @@ public final class ProcessorDefinitionHelper {
                     extraWrite.putAll(writeProperties);
                 }
 
-                Map<QName, Object> other = pd.getOtherAttributes();
+                Map<QName, Object> other = ooa.getOtherAttributes();
                 other.forEach((k, v) -> {
                     if (Constants.PLACEHOLDER_QNAME.equals(k.getNamespaceURI())) {
                         if (v instanceof String) {
@@ -757,6 +762,19 @@ public final class ProcessorDefinitionHelper {
                 String name = entry.getKey();
                 String value = entry.getValue().get();
                 String text = camelContext.resolvePropertyPlaceholders(value);
+
+                // is the value a known field (currently we only support constants from Exchange.class)
+                if (text != null && text.startsWith("Exchange.")) {
+                    String field = StringHelper.after(text, "Exchange.");
+                    // TODO: Avoid reflection via fields
+                    String constant = ObjectHelper.lookupConstantFieldValue(Exchange.class, field);
+                    if (constant != null) {
+                        text = constant;
+                    } else {
+                        throw new IllegalArgumentException("Constant field with name: " + field + " not found on Exchange.class");
+                    }
+                }
+
                 if (!Objects.equals(text, value)) {
                     writeProperties.get(name).accept(text);
                     changedProperties.put(name, value);
@@ -769,55 +787,4 @@ public final class ProcessorDefinitionHelper {
         addRestoreAction(writeProperties, changedProperties);
     }
 
-    /**
-     * Inspects the given definition and resolves known fields
-     * <p/>
-     * This implementation will check all the getter/setter pairs on this instance and for all the values
-     * (which is a String type) will check if it refers to a known field (such as on Exchange).
-     *
-     * @param camelContext the camel context
-     * @param definition   the definition
-     */
-    public static void resolveKnownConstantFields(CamelContext camelContext, Object definition) throws Exception {
-        LOG.trace("Resolving known fields for: {}", definition);
-
-        // TODO: implement this
-/*
-        // find all String getter/setter
-        Map<String, Object> properties = new HashMap<>();
-        IntrospectionSupport.getProperties(definition, properties, null);
-
-        Map<String, Object> changedProperties = new HashMap<>();
-        if (!properties.isEmpty()) {
-            LOG.trace("There are {} properties on: {}", properties.size(), definition);
-
-            // lookup and resolve known constant fields for String based properties
-            for (Map.Entry<String, Object> entry : properties.entrySet()) {
-                String name = entry.getKey();
-                Object value = entry.getValue();
-                if (value instanceof String) {
-                    // we can only resolve String typed values
-                    String text = (String) value;
-
-                    // is the value a known field (currently we only support constants from Exchange.class)
-                    if (text.startsWith("Exchange.")) {
-                        String field = StringHelper.after(text, "Exchange.");
-                        String constant = ObjectHelper.lookupConstantFieldValue(Exchange.class, field);
-                        if (constant != null) {
-                            // invoke setter as the text has changed
-                            IntrospectionSupport.setProperty(camelContext, definition, name, constant);
-                            changedProperties.put(name, value);
-                            if (LOG.isDebugEnabled()) {
-                                LOG.debug("Changed property [{}] from: {} to: {}", name, value, constant);
-                            }
-                        } else {
-                            throw new IllegalArgumentException("Constant field with name: " + field + " not found on Exchange.class");
-                        }
-                    }
-                }
-            }
-        }
-        addRestoreAction(camelContext, definition, changedProperties);*/
-    }
-
 }
diff --git a/core/camel-core/src/main/java/org/apache/camel/reifier/ChoiceReifier.java b/core/camel-core/src/main/java/org/apache/camel/reifier/ChoiceReifier.java
index e8b8461..8524fa9 100644
--- a/core/camel-core/src/main/java/org/apache/camel/reifier/ChoiceReifier.java
+++ b/core/camel-core/src/main/java/org/apache/camel/reifier/ChoiceReifier.java
@@ -66,9 +66,6 @@ public class ChoiceReifier extends ProcessorReifier<ChoiceDefinition> {
             if (exp != null) {
                 // resolve properties before we create the processor
                 ProcessorDefinitionHelper.resolvePropertyPlaceholders(routeContext.getCamelContext(), exp);
-
-                // resolve constant fields (eg Exchange.FILE_NAME)
-                ProcessorDefinitionHelper.resolveKnownConstantFields(routeContext.getCamelContext(), exp);
             }
 
             FilterProcessor filter = (FilterProcessor) createProcessor(routeContext, whenClause);
diff --git a/core/camel-core/src/main/java/org/apache/camel/reifier/ProcessorReifier.java b/core/camel-core/src/main/java/org/apache/camel/reifier/ProcessorReifier.java
index 8f4a253..460443e 100644
--- a/core/camel-core/src/main/java/org/apache/camel/reifier/ProcessorReifier.java
+++ b/core/camel-core/src/main/java/org/apache/camel/reifier/ProcessorReifier.java
@@ -446,9 +446,6 @@ public abstract class ProcessorReifier<T extends ProcessorDefinition<?>> {
             // resolve properties before we create the processor
             ProcessorDefinitionHelper.resolvePropertyPlaceholders(routeContext.getCamelContext(), output);
 
-            // resolve constant fields (eg Exchange.FILE_NAME)
-            ProcessorDefinitionHelper.resolveKnownConstantFields(routeContext.getCamelContext(), output);
-
             // also resolve properties and constant fields on embedded expressions
             ProcessorDefinition<?> me = (ProcessorDefinition<?>) output;
             if (me instanceof ExpressionNode) {
@@ -457,9 +454,6 @@ public abstract class ProcessorReifier<T extends ProcessorDefinition<?>> {
                 if (expressionDefinition != null) {
                     // resolve properties before we create the processor
                     ProcessorDefinitionHelper.resolvePropertyPlaceholders(routeContext.getCamelContext(), expressionDefinition);
-
-                    // resolve constant fields (eg Exchange.FILE_NAME)
-                    ProcessorDefinitionHelper.resolveKnownConstantFields(routeContext.getCamelContext(), expressionDefinition);
                 }
             }
 
@@ -529,9 +523,6 @@ public abstract class ProcessorReifier<T extends ProcessorDefinition<?>> {
         // resolve properties before we create the processor
         ProcessorDefinitionHelper.resolvePropertyPlaceholders(routeContext.getCamelContext(), definition);
 
-        // resolve constant fields (eg Exchange.FILE_NAME)
-        ProcessorDefinitionHelper.resolveKnownConstantFields(routeContext.getCamelContext(), definition);
-
         // also resolve properties and constant fields on embedded expressions
         ProcessorDefinition<?> me = definition;
         if (me instanceof ExpressionNode) {
@@ -540,9 +531,6 @@ public abstract class ProcessorReifier<T extends ProcessorDefinition<?>> {
             if (expressionDefinition != null) {
                 // resolve properties before we create the processor
                 ProcessorDefinitionHelper.resolvePropertyPlaceholders(routeContext.getCamelContext(), expressionDefinition);
-
-                // resolve constant fields (eg Exchange.FILE_NAME)
-                ProcessorDefinitionHelper.resolveKnownConstantFields(routeContext.getCamelContext(), expressionDefinition);
             }
         }
 
diff --git a/core/camel-core/src/test/java/org/apache/camel/processor/RouteWithConstantFieldFromExchangeFailTest.java b/core/camel-core/src/test/java/org/apache/camel/processor/RouteWithConstantFieldFromExchangeFailTest.java
index 669aeef..fed484d 100644
--- a/core/camel-core/src/test/java/org/apache/camel/processor/RouteWithConstantFieldFromExchangeFailTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/processor/RouteWithConstantFieldFromExchangeFailTest.java
@@ -15,6 +15,7 @@
  * limitations under the License.
  */
 package org.apache.camel.processor;
+
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.builder.RouteBuilder;
 import org.junit.Before;


[camel] 09/21: CAMEL-13850: Fixed CS

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

davsclaus pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git

commit bc066492abd82eaa8d8c9e4ec47e9d2fc5ba16e6
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Tue Aug 13 08:35:59 2019 +0200

    CAMEL-13850: Fixed CS
---
 .../camel/model/DefinitionPropertyPlaceholderConfigurable.java | 10 ++++------
 1 file changed, 4 insertions(+), 6 deletions(-)

diff --git a/core/camel-core/src/main/java/org/apache/camel/model/DefinitionPropertyPlaceholderConfigurable.java b/core/camel-core/src/main/java/org/apache/camel/model/DefinitionPropertyPlaceholderConfigurable.java
index 16520e3..1209972 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/DefinitionPropertyPlaceholderConfigurable.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/DefinitionPropertyPlaceholderConfigurable.java
@@ -1,13 +1,13 @@
-/**
+/*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
  * this work for additional information regarding copyright ownership.
  * The ASF licenses this file to You under the Apache License, Version 2.0
  * (the "License"); you may not use this file except in compliance with
  * the License.  You may obtain a copy of the License at
- * <p>
- * http://www.apache.org/licenses/LICENSE-2.0
- * <p>
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -16,14 +16,12 @@
  */
 package org.apache.camel.model;
 
-import java.util.HashMap;
 import java.util.Map;
 import java.util.function.Consumer;
 import java.util.function.Supplier;
 
 import org.apache.camel.CamelContext;
 import org.apache.camel.model.placeholder.DefinitionPropertiesPlaceholderProviderHelper;
-import org.apache.camel.spi.PropertiesComponent;
 
 /**
  * To be used for configuring property placeholder options on the EIP models.


[camel] 15/21: CAMEL-13850: Remove resolvePropertyPlaceholders on DefaultComponent as this is already supported via camel main, spring boot and other means. This avoid reflection overhead on bootstrap.

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

davsclaus pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git

commit 6701fa4dc5966cb48ec04a578a450a8155faaeb2
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Tue Aug 13 15:54:56 2019 +0200

    CAMEL-13850: Remove resolvePropertyPlaceholders on DefaultComponent as this is already supported via camel main, spring boot and other means. This avoid reflection overhead on bootstrap.
---
 .../camel-activemq/src/main/docs/activemq-component.adoc  |  6 ++----
 .../camel-ahc-ws/src/main/docs/ahc-ws-component.adoc      |  6 ++----
 components/camel-ahc/src/main/docs/ahc-component.adoc     |  6 ++----
 components/camel-amqp/src/main/docs/amqp-component.adoc   |  6 ++----
 components/camel-apns/src/main/docs/apns-component.adoc   |  6 ++----
 .../camel-as2-component/src/main/docs/as2-component.adoc  |  6 ++----
 .../camel-asterisk/src/main/docs/asterisk-component.adoc  |  6 ++----
 components/camel-atmos/src/main/docs/atmos-component.adoc |  6 ++----
 .../src/main/docs/atmosphere-websocket-component.adoc     |  6 ++----
 components/camel-atom/src/main/docs/atom-component.adoc   |  6 ++----
 .../camel-atomix/src/main/docs/atomix-map-component.adoc  |  6 ++----
 .../src/main/docs/atomix-messaging-component.adoc         |  6 ++----
 .../src/main/docs/atomix-multimap-component.adoc          |  6 ++----
 .../src/main/docs/atomix-queue-component.adoc             |  6 ++----
 .../camel-atomix/src/main/docs/atomix-set-component.adoc  |  6 ++----
 .../src/main/docs/atomix-value-component.adoc             |  6 ++----
 components/camel-avro/src/main/docs/avro-component.adoc   |  6 ++----
 components/camel-avro/src/main/docs/avro-dataformat.adoc  |  3 +--
 .../camel-aws-cw/src/main/docs/aws-cw-component.adoc      |  6 ++----
 .../camel-aws-ddb/src/main/docs/aws-ddb-component.adoc    |  6 ++----
 .../src/main/docs/aws-ddbstream-component.adoc            |  6 ++----
 .../camel-aws-ec2/src/main/docs/aws-ec2-component.adoc    |  6 ++----
 .../camel-aws-ecs/src/main/docs/aws-ecs-component.adoc    |  6 ++----
 .../camel-aws-eks/src/main/docs/aws-eks-component.adoc    |  6 ++----
 .../camel-aws-iam/src/main/docs/aws-iam-component.adoc    |  6 ++----
 .../src/main/docs/aws-kinesis-component.adoc              |  6 ++----
 .../src/main/docs/aws-kinesis-firehose-component.adoc     |  6 ++----
 .../camel-aws-kms/src/main/docs/aws-kms-component.adoc    |  6 ++----
 .../src/main/docs/aws-lambda-component.adoc               |  6 ++----
 .../camel-aws-mq/src/main/docs/aws-mq-component.adoc      |  6 ++----
 .../camel-aws-msk/src/main/docs/aws-msk-component.adoc    |  6 ++----
 .../camel-aws-s3/src/main/docs/aws-s3-component.adoc      |  6 ++----
 .../camel-aws-sdb/src/main/docs/aws-sdb-component.adoc    |  6 ++----
 .../camel-aws-ses/src/main/docs/aws-ses-component.adoc    |  6 ++----
 .../camel-aws-sns/src/main/docs/aws-sns-component.adoc    |  6 ++----
 .../camel-aws-sqs/src/main/docs/aws-sqs-component.adoc    |  6 ++----
 .../camel-aws-swf/src/main/docs/aws-swf-component.adoc    |  6 ++----
 .../camel-azure/src/main/docs/azure-blob-component.adoc   |  6 ++----
 .../camel-azure/src/main/docs/azure-queue-component.adoc  |  6 ++----
 .../src/main/docs/bean-validator-component.adoc           |  6 ++----
 components/camel-bean/src/main/docs/bean-component.adoc   |  3 +--
 components/camel-bean/src/main/docs/class-component.adoc  |  3 +--
 .../src/main/docs/beanstalk-component.adoc                |  6 ++----
 .../camel-bonita/src/main/docs/bonita-component.adoc      |  6 ++----
 .../camel-box-component/src/main/docs/box-component.adoc  |  6 ++----
 .../src/main/docs/braintree-component.adoc                |  6 ++----
 .../camel-browse/src/main/docs/browse-component.adoc      |  6 ++----
 .../src/main/docs/caffeine-cache-component.adoc           |  6 ++----
 .../src/main/docs/caffeine-loadcache-component.adoc       |  6 ++----
 .../camel-cassandraql/src/main/docs/cql-component.adoc    |  6 ++----
 .../src/main/docs/chatscript-component.adoc               |  6 ++----
 components/camel-chunk/src/main/docs/chunk-component.adoc |  6 ++----
 .../camel-cm-sms/src/main/docs/cm-sms-component.adoc      |  6 ++----
 components/camel-cmis/src/main/docs/cmis-component.adoc   |  6 ++----
 components/camel-coap/src/main/docs/coap-component.adoc   |  6 ++----
 .../camel-cometd/src/main/docs/cometd-component.adoc      |  6 ++----
 .../camel-consul/src/main/docs/consul-component.adoc      |  6 ++----
 .../src/main/docs/controlbus-component.adoc               |  6 ++----
 components/camel-corda/src/main/docs/corda-component.adoc |  6 ++----
 .../src/main/docs/couchbase-component.adoc                |  6 ++----
 .../camel-couchdb/src/main/docs/couchdb-component.adoc    |  6 ++----
 .../src/main/docs/crypto-cms-component.adoc               |  6 ++----
 .../camel-crypto/src/main/docs/crypto-component.adoc      |  6 ++----
 .../camel-crypto/src/main/docs/crypto-dataformat.adoc     |  3 +--
 components/camel-cxf/src/main/docs/cxf-component.adoc     |  6 ++----
 components/camel-cxf/src/main/docs/cxfrs-component.adoc   |  6 ++----
 .../src/main/docs/dataformat-component.adoc               |  6 ++----
 .../camel-dataset/src/main/docs/dataset-component.adoc    |  6 ++----
 .../src/main/docs/dataset-test-component.adoc             |  6 ++----
 .../src/main/docs/digitalocean-component.adoc             |  6 ++----
 .../camel-direct/src/main/docs/direct-component.adoc      |  6 ++----
 .../camel-directvm/src/main/docs/direct-vm-component.adoc |  3 +--
 .../src/main/docs/disruptor-component.adoc                |  7 ++-----
 components/camel-dns/src/main/docs/dns-component.adoc     |  6 ++----
 .../camel-docker/src/main/docs/docker-component.adoc      |  6 ++----
 components/camel-dozer/src/main/docs/dozer-component.adoc |  6 ++----
 components/camel-drill/src/main/docs/drill-component.adoc |  6 ++----
 .../camel-dropbox/src/main/docs/dropbox-component.adoc    |  6 ++----
 .../camel-ehcache/src/main/docs/ehcache-component.adoc    |  6 ++----
 .../src/main/docs/elasticsearch-rest-component.adoc       |  6 ++----
 components/camel-elsql/src/main/docs/elsql-component.adoc |  6 ++----
 components/camel-etcd/src/main/docs/etcd-component.adoc   |  6 ++----
 .../src/main/docs/eventadmin-component.adoc               |  3 +--
 components/camel-exec/src/main/docs/exec-component.adoc   |  6 ++----
 .../camel-facebook/src/main/docs/facebook-component.adoc  |  6 ++----
 .../src/main/docs/fhir-component.adoc                     |  6 ++----
 .../src/main/docs/file-watch-component.adoc               |  6 ++----
 components/camel-file/src/main/docs/file-component.adoc   |  6 ++----
 .../camel-flatpack/src/main/docs/flatpack-component.adoc  |  6 ++----
 .../camel-flatpack/src/main/docs/flatpack-dataformat.adoc |  3 +--
 components/camel-flink/src/main/docs/flink-component.adoc |  6 ++----
 components/camel-fop/src/main/docs/fop-component.adoc     |  6 ++----
 .../src/main/docs/freemarker-component.adoc               |  6 ++----
 components/camel-ftp/src/main/docs/ftp-component.adoc     |  6 ++----
 components/camel-ftp/src/main/docs/ftps-component.adoc    |  6 ++----
 components/camel-ftp/src/main/docs/sftp-component.adoc    |  3 +--
 .../camel-ganglia/src/main/docs/ganglia-component.adoc    |  6 ++----
 .../camel-geocoder/src/main/docs/geocoder-component.adoc  |  6 ++----
 components/camel-git/src/main/docs/git-component.adoc     |  6 ++----
 .../camel-github/src/main/docs/github-component.adoc      |  6 ++----
 .../src/main/docs/google-bigquery-component.adoc          |  6 ++----
 .../src/main/docs/google-bigquery-sql-component.adoc      |  6 ++----
 .../src/main/docs/google-calendar-component.adoc          |  6 ++----
 .../src/main/docs/google-calendar-stream-component.adoc   |  6 ++----
 .../src/main/docs/google-drive-component.adoc             |  6 ++----
 .../src/main/docs/google-mail-component.adoc              |  6 ++----
 .../src/main/docs/google-mail-stream-component.adoc       |  6 ++----
 .../src/main/docs/google-pubsub-component.adoc            |  6 ++----
 .../src/main/docs/google-sheets-component.adoc            |  6 ++----
 .../src/main/docs/google-sheets-stream-component.adoc     |  6 ++----
 components/camel-gora/src/main/docs/gora-component.adoc   |  6 ++----
 components/camel-grape/src/main/docs/grape-component.adoc |  3 +--
 components/camel-grpc/src/main/docs/grpc-component.adoc   |  6 ++----
 .../src/main/docs/guava-eventbus-component.adoc           |  6 ++----
 .../src/main/docs/hazelcast-atomicvalue-component.adoc    |  6 ++----
 .../src/main/docs/hazelcast-instance-component.adoc       |  6 ++----
 .../src/main/docs/hazelcast-list-component.adoc           |  6 ++----
 .../src/main/docs/hazelcast-map-component.adoc            |  6 ++----
 .../src/main/docs/hazelcast-multimap-component.adoc       |  6 ++----
 .../src/main/docs/hazelcast-queue-component.adoc          |  6 ++----
 .../src/main/docs/hazelcast-replicatedmap-component.adoc  |  6 ++----
 .../src/main/docs/hazelcast-ringbuffer-component.adoc     |  6 ++----
 .../src/main/docs/hazelcast-seda-component.adoc           |  6 ++----
 .../src/main/docs/hazelcast-set-component.adoc            |  6 ++----
 .../src/main/docs/hazelcast-topic-component.adoc          |  6 ++----
 components/camel-hbase/src/main/docs/hbase-component.adoc |  6 ++----
 components/camel-hdfs/src/main/docs/hdfs-component.adoc   |  6 ++----
 .../camel-hipchat/src/main/docs/hipchat-component.adoc    |  6 ++----
 components/camel-http/src/main/docs/http-component.adoc   |  6 ++----
 .../src/main/docs/iec60870-client-component.adoc          |  6 ++----
 .../src/main/docs/iec60870-server-component.adoc          |  6 ++----
 .../src/main/docs/ignite-cache-component.adoc             |  6 ++----
 .../src/main/docs/ignite-compute-component.adoc           |  6 ++----
 .../src/main/docs/ignite-events-component.adoc            |  6 ++----
 .../src/main/docs/ignite-idgen-component.adoc             |  6 ++----
 .../src/main/docs/ignite-messaging-component.adoc         |  6 ++----
 .../src/main/docs/ignite-queue-component.adoc             |  6 ++----
 .../camel-ignite/src/main/docs/ignite-set-component.adoc  |  6 ++----
 .../src/main/docs/infinispan-component.adoc               |  6 ++----
 .../camel-influxdb/src/main/docs/influxdb-component.adoc  |  6 ++----
 components/camel-iota/src/main/docs/iota-component.adoc   |  6 ++----
 components/camel-ipfs/src/main/docs/ipfs-component.adoc   |  6 ++----
 components/camel-irc/src/main/docs/irc-component.adoc     |  6 ++----
 .../camel-ironmq/src/main/docs/ironmq-component.adoc      |  6 ++----
 components/camel-jbpm/src/main/docs/jbpm-component.adoc   |  6 ++----
 .../camel-jcache/src/main/docs/jcache-component.adoc      |  6 ++----
 .../camel-jclouds/src/main/docs/jclouds-component.adoc    |  6 ++----
 components/camel-jcr/src/main/docs/jcr-component.adoc     |  6 ++----
 components/camel-jdbc/src/main/docs/jdbc-component.adoc   |  6 ++----
 components/camel-jetty/src/main/docs/jetty-component.adoc |  6 ++----
 .../src/main/docs/jgroups-raft-component.adoc             |  6 ++----
 .../camel-jgroups/src/main/docs/jgroups-component.adoc    |  6 ++----
 components/camel-jing/src/main/docs/jing-component.adoc   |  6 ++----
 components/camel-jira/src/main/docs/jira-component.adoc   |  6 ++----
 components/camel-jmx/src/main/docs/jmx-component.adoc     |  6 ++----
 components/camel-jolt/src/main/docs/jolt-component.adoc   |  6 ++----
 components/camel-jooq/src/main/docs/jooq-component.adoc   |  6 ++----
 components/camel-jpa/src/main/docs/jpa-component.adoc     |  6 ++----
 components/camel-jsch/src/main/docs/scp-component.adoc    |  6 ++----
 .../src/main/docs/json-validator-component.adoc           |  6 ++----
 components/camel-jt400/src/main/docs/jt400-component.adoc |  6 ++----
 components/camel-kafka/src/main/docs/kafka-component.adoc |  6 ++----
 .../src/main/docs/kubernetes-config-maps-component.adoc   |  6 ++----
 .../src/main/docs/kubernetes-deployments-component.adoc   |  6 ++----
 .../src/main/docs/kubernetes-hpa-component.adoc           |  6 ++----
 .../src/main/docs/kubernetes-job-component.adoc           |  6 ++----
 .../src/main/docs/kubernetes-namespaces-component.adoc    |  6 ++----
 .../src/main/docs/kubernetes-nodes-component.adoc         |  6 ++----
 .../kubernetes-persistent-volumes-claims-component.adoc   |  6 ++----
 .../docs/kubernetes-persistent-volumes-component.adoc     |  6 ++----
 .../src/main/docs/kubernetes-pods-component.adoc          |  6 ++----
 .../kubernetes-replication-controllers-component.adoc     |  6 ++----
 .../main/docs/kubernetes-resources-quota-component.adoc   |  6 ++----
 .../src/main/docs/kubernetes-secrets-component.adoc       |  6 ++----
 .../main/docs/kubernetes-service-accounts-component.adoc  |  6 ++----
 .../src/main/docs/kubernetes-services-component.adoc      |  6 ++----
 .../src/main/docs/openshift-build-configs-component.adoc  |  3 +--
 .../src/main/docs/openshift-builds-component.adoc         |  3 +--
 .../camel-language/src/main/docs/language-component.adoc  |  6 ++----
 components/camel-ldap/src/main/docs/ldap-component.adoc   |  6 ++----
 components/camel-ldif/src/main/docs/ldif-component.adoc   |  6 ++----
 .../src/main/docs/linkedin-component.adoc                 |  6 ++----
 components/camel-log/src/main/docs/log-component.adoc     |  6 ++----
 .../camel-lucene/src/main/docs/lucene-component.adoc      |  6 ++----
 .../src/main/docs/lumberjack-component.adoc               |  6 ++----
 components/camel-mail/src/main/docs/mail-component.adoc   |  6 ++----
 .../camel-master/src/main/docs/master-component.adoc      |  6 ++----
 .../camel-metrics/src/main/docs/metrics-component.adoc    |  6 ++----
 .../src/main/docs/micrometer-component.adoc               |  6 ++----
 .../camel-milo/src/main/docs/milo-client-component.adoc   |  6 ++----
 .../camel-milo/src/main/docs/milo-server-component.adoc   |  6 ++----
 components/camel-mina/src/main/docs/mina-component.adoc   |  6 ++----
 components/camel-mllp/src/main/docs/mllp-component.adoc   |  6 ++----
 components/camel-mock/src/main/docs/mock-component.adoc   |  3 +--
 .../src/main/docs/mongodb-gridfs-component.adoc           |  6 ++----
 .../camel-mongodb/src/main/docs/mongodb-component.adoc    |  6 ++----
 components/camel-mqtt/src/main/docs/mqtt-component.adoc   |  6 ++----
 components/camel-msv/src/main/docs/msv-component.adoc     |  6 ++----
 .../camel-mustache/src/main/docs/mustache-component.adoc  |  6 ++----
 components/camel-mvel/src/main/docs/mvel-component.adoc   |  6 ++----
 components/camel-mvel/src/main/docs/mvel-language.adoc    |  3 +--
 .../src/main/docs/mybatis-bean-component.adoc             |  6 ++----
 .../camel-mybatis/src/main/docs/mybatis-component.adoc    |  6 ++----
 .../camel-nagios/src/main/docs/nagios-component.adoc      |  6 ++----
 components/camel-nats/src/main/docs/nats-component.adoc   |  6 ++----
 .../src/main/docs/netty-http-component.adoc               |  6 ++----
 components/camel-netty/src/main/docs/netty-component.adoc |  6 ++----
 components/camel-nsq/src/main/docs/nsq-component.adoc     |  6 ++----
 .../src/main/docs/olingo2-component.adoc                  |  6 ++----
 .../src/main/docs/olingo4-component.adoc                  |  6 ++----
 .../src/main/docs/openstack-cinder-component.adoc         |  6 ++----
 .../src/main/docs/openstack-glance-component.adoc         |  6 ++----
 .../src/main/docs/openstack-keystone-component.adoc       |  6 ++----
 .../src/main/docs/openstack-neutron-component.adoc        |  6 ++----
 .../src/main/docs/openstack-nova-component.adoc           |  6 ++----
 .../src/main/docs/openstack-swift-component.adoc          |  6 ++----
 .../src/main/docs/optaplanner-component.adoc              |  6 ++----
 components/camel-paho/src/main/docs/paho-component.adoc   |  6 ++----
 .../src/main/docs/paxlogging-component.adoc               |  3 +--
 components/camel-pdf/src/main/docs/pdf-component.adoc     |  6 ++----
 .../src/main/docs/pg-replication-slot-component.adoc      |  6 ++----
 .../camel-pgevent/src/main/docs/pgevent-component.adoc    |  6 ++----
 components/camel-printer/src/main/docs/lpr-component.adoc |  6 ++----
 .../camel-pubnub/src/main/docs/pubnub-component.adoc      |  6 ++----
 .../camel-quartz/src/main/docs/quartz-component.adoc      |  6 ++----
 .../camel-quickfix/src/main/docs/quickfix-component.adoc  |  6 ++----
 .../camel-rabbitmq/src/main/docs/rabbitmq-component.adoc  |  6 ++----
 .../src/main/docs/reactive-streams-component.adoc         |  6 ++----
 components/camel-ref/src/main/docs/ref-component.adoc     |  6 ++----
 .../src/main/docs/rest-swagger-component.adoc             |  6 ++----
 .../camel-rest/src/main/docs/rest-api-component.adoc      |  6 ++----
 components/camel-rest/src/main/docs/rest-component.adoc   |  6 ++----
 .../camel-restlet/src/main/docs/restlet-component.adoc    |  6 ++----
 components/camel-rss/src/main/docs/rss-component.adoc     |  6 ++----
 components/camel-rss/src/main/docs/rss-dataformat.adoc    |  3 +--
 components/camel-saga/src/main/docs/saga-component.adoc   |  6 ++----
 .../src/main/docs/salesforce-component.adoc               |  6 ++----
 .../src/main/docs/sap-netweaver-component.adoc            |  6 ++----
 .../camel-saxon/src/main/docs/xquery-component.adoc       |  6 ++----
 components/camel-saxon/src/main/docs/xquery-language.adoc |  3 +--
 .../src/main/docs/scheduler-component.adoc                |  6 ++----
 .../src/main/docs/schematron-component.adoc               |  6 ++----
 components/camel-seda/src/main/docs/seda-component.adoc   |  6 ++----
 .../camel-service/src/main/docs/service-component.adoc    |  6 ++----
 .../src/main/docs/servicenow-component.adoc               |  6 ++----
 .../camel-servlet/src/main/docs/servlet-component.adoc    |  6 ++----
 components/camel-sip/src/main/docs/sip-component.adoc     |  6 ++----
 .../camel-sjms/src/main/docs/sjms-batch-component.adoc    |  6 ++----
 components/camel-sjms/src/main/docs/sjms-component.adoc   |  6 ++----
 components/camel-sjms2/src/main/docs/sjms2-component.adoc |  6 ++----
 components/camel-slack/src/main/docs/slack-component.adoc |  6 ++----
 components/camel-smpp/src/main/docs/smpp-component.adoc   |  6 ++----
 components/camel-snmp/src/main/docs/snmp-component.adoc   |  6 ++----
 components/camel-solr/src/main/docs/solr-component.adoc   |  6 ++----
 .../camel-soroush/src/main/docs/soroush-component.adoc    |  6 ++----
 .../src/main/docs/spark-rest-component.adoc               |  3 +--
 components/camel-spark/src/main/docs/spark-component.adoc |  6 ++----
 .../camel-splunk/src/main/docs/splunk-component.adoc      |  6 ++----
 .../src/main/docs/spring-batch-component.adoc             |  6 ++----
 .../src/main/docs/spring-integration-component.adoc       |  6 ++----
 .../src/main/docs/spring-ldap-component.adoc              |  6 ++----
 .../src/main/docs/spring-redis-component.adoc             |  6 ++----
 .../src/main/docs/spring-ws-component.adoc                |  6 ++----
 .../src/main/docs/spring-event-component.adoc             |  6 ++----
 components/camel-sql/src/main/docs/sql-component.adoc     |  6 ++----
 .../camel-sql/src/main/docs/sql-stored-component.adoc     |  6 ++----
 components/camel-ssh/src/main/docs/ssh-component.adoc     |  6 ++----
 components/camel-stax/src/main/docs/stax-component.adoc   |  6 ++----
 components/camel-stomp/src/main/docs/stomp-component.adoc |  6 ++----
 .../camel-stream/src/main/docs/stream-component.adoc      |  6 ++----
 .../src/main/docs/string-template-component.adoc          |  6 ++----
 components/camel-stub/src/main/docs/stub-component.adoc   |  6 ++----
 .../camel-telegram/src/main/docs/telegram-component.adoc  |  6 ++----
 .../camel-thrift/src/main/docs/thrift-component.adoc      |  6 ++----
 .../camel-thrift/src/main/docs/thrift-dataformat.adoc     |  3 +--
 components/camel-tika/src/main/docs/tika-component.adoc   |  6 ++----
 components/camel-timer/src/main/docs/timer-component.adoc |  6 ++----
 .../camel-twilio/src/main/docs/twilio-component.adoc      |  6 ++----
 .../src/main/docs/twitter-directmessage-component.adoc    |  6 ++----
 .../src/main/docs/twitter-search-component.adoc           |  6 ++----
 .../src/main/docs/twitter-timeline-component.adoc         |  6 ++----
 .../camel-undertow/src/main/docs/undertow-component.adoc  |  6 ++----
 .../src/main/docs/validator-component.adoc                |  6 ++----
 .../camel-velocity/src/main/docs/velocity-component.adoc  |  6 ++----
 components/camel-vertx/src/main/docs/vertx-component.adoc |  6 ++----
 components/camel-vm/src/main/docs/vm-component.adoc       |  6 ++----
 .../camel-weather/src/main/docs/weather-component.adoc    |  6 ++----
 components/camel-web3j/src/main/docs/web3j-component.adoc |  6 ++----
 .../camel-webhook/src/main/docs/webhook-component.adoc    |  6 ++----
 .../src/main/docs/websocket-jsr356-component.adoc         |  6 ++----
 .../src/main/docs/websocket-component.adoc                |  6 ++----
 .../src/main/docs/wordpress-component.adoc                |  6 ++----
 .../camel-xchange/src/main/docs/xchange-component.adoc    |  6 ++----
 .../src/main/docs/xmlsecurity-component.adoc              |  6 ++----
 components/camel-xmpp/src/main/docs/xmpp-component.adoc   |  6 ++----
 components/camel-xslt/src/main/docs/xslt-component.adoc   |  6 ++----
 .../camel-yammer/src/main/docs/yammer-component.adoc      |  6 ++----
 .../camel-zendesk/src/main/docs/zendesk-component.adoc    |  6 ++----
 .../src/main/docs/zookeeper-master-component.adoc         |  6 ++----
 .../src/main/docs/zookeeper-component.adoc                |  6 ++----
 .../components/modules/ROOT/pages/activemq-component.adoc |  6 ++----
 docs/components/modules/ROOT/pages/ahc-component.adoc     |  6 ++----
 docs/components/modules/ROOT/pages/ahc-ws-component.adoc  |  6 ++----
 docs/components/modules/ROOT/pages/amqp-component.adoc    |  6 ++----
 docs/components/modules/ROOT/pages/apns-component.adoc    |  6 ++----
 docs/components/modules/ROOT/pages/as2-component.adoc     |  6 ++----
 .../components/modules/ROOT/pages/asterisk-component.adoc |  6 ++----
 docs/components/modules/ROOT/pages/atmos-component.adoc   |  6 ++----
 .../ROOT/pages/atmosphere-websocket-component.adoc        |  6 ++----
 docs/components/modules/ROOT/pages/atom-component.adoc    |  6 ++----
 .../modules/ROOT/pages/atomix-map-component.adoc          |  6 ++----
 .../modules/ROOT/pages/atomix-messaging-component.adoc    |  6 ++----
 .../modules/ROOT/pages/atomix-multimap-component.adoc     |  6 ++----
 .../modules/ROOT/pages/atomix-queue-component.adoc        |  6 ++----
 .../modules/ROOT/pages/atomix-set-component.adoc          |  6 ++----
 .../modules/ROOT/pages/atomix-value-component.adoc        |  6 ++----
 docs/components/modules/ROOT/pages/avro-component.adoc    |  6 ++----
 docs/components/modules/ROOT/pages/avro-dataformat.adoc   |  3 +--
 docs/components/modules/ROOT/pages/aws-cw-component.adoc  |  6 ++----
 docs/components/modules/ROOT/pages/aws-ddb-component.adoc |  6 ++----
 .../modules/ROOT/pages/aws-ddbstream-component.adoc       |  6 ++----
 docs/components/modules/ROOT/pages/aws-ec2-component.adoc |  6 ++----
 docs/components/modules/ROOT/pages/aws-ecs-component.adoc |  6 ++----
 docs/components/modules/ROOT/pages/aws-eks-component.adoc |  6 ++----
 docs/components/modules/ROOT/pages/aws-iam-component.adoc |  6 ++----
 .../modules/ROOT/pages/aws-kinesis-component.adoc         |  6 ++----
 .../ROOT/pages/aws-kinesis-firehose-component.adoc        |  6 ++----
 docs/components/modules/ROOT/pages/aws-kms-component.adoc |  6 ++----
 .../modules/ROOT/pages/aws-lambda-component.adoc          |  6 ++----
 docs/components/modules/ROOT/pages/aws-mq-component.adoc  |  6 ++----
 docs/components/modules/ROOT/pages/aws-msk-component.adoc |  6 ++----
 docs/components/modules/ROOT/pages/aws-s3-component.adoc  |  6 ++----
 docs/components/modules/ROOT/pages/aws-sdb-component.adoc |  6 ++----
 docs/components/modules/ROOT/pages/aws-ses-component.adoc |  6 ++----
 docs/components/modules/ROOT/pages/aws-sns-component.adoc |  6 ++----
 docs/components/modules/ROOT/pages/aws-sqs-component.adoc |  6 ++----
 docs/components/modules/ROOT/pages/aws-swf-component.adoc |  6 ++----
 .../modules/ROOT/pages/azure-blob-component.adoc          |  6 ++----
 .../modules/ROOT/pages/azure-queue-component.adoc         |  6 ++----
 docs/components/modules/ROOT/pages/bean-component.adoc    |  3 +--
 .../modules/ROOT/pages/bean-validator-component.adoc      |  6 ++----
 .../modules/ROOT/pages/beanstalk-component.adoc           |  6 ++----
 docs/components/modules/ROOT/pages/bonita-component.adoc  |  6 ++----
 docs/components/modules/ROOT/pages/box-component.adoc     |  6 ++----
 .../modules/ROOT/pages/braintree-component.adoc           |  6 ++----
 docs/components/modules/ROOT/pages/browse-component.adoc  |  6 ++----
 .../modules/ROOT/pages/caffeine-cache-component.adoc      |  6 ++----
 .../modules/ROOT/pages/caffeine-loadcache-component.adoc  |  6 ++----
 .../modules/ROOT/pages/chatscript-component.adoc          |  6 ++----
 docs/components/modules/ROOT/pages/chunk-component.adoc   |  6 ++----
 docs/components/modules/ROOT/pages/class-component.adoc   |  3 +--
 docs/components/modules/ROOT/pages/cm-sms-component.adoc  |  6 ++----
 docs/components/modules/ROOT/pages/cmis-component.adoc    |  6 ++----
 docs/components/modules/ROOT/pages/coap-component.adoc    |  6 ++----
 docs/components/modules/ROOT/pages/cometd-component.adoc  |  6 ++----
 docs/components/modules/ROOT/pages/consul-component.adoc  |  6 ++----
 .../modules/ROOT/pages/controlbus-component.adoc          |  6 ++----
 docs/components/modules/ROOT/pages/corda-component.adoc   |  6 ++----
 .../modules/ROOT/pages/couchbase-component.adoc           |  6 ++----
 docs/components/modules/ROOT/pages/couchdb-component.adoc |  6 ++----
 docs/components/modules/ROOT/pages/cql-component.adoc     |  6 ++----
 .../modules/ROOT/pages/crypto-cms-component.adoc          |  6 ++----
 docs/components/modules/ROOT/pages/crypto-component.adoc  |  6 ++----
 docs/components/modules/ROOT/pages/crypto-dataformat.adoc |  3 +--
 docs/components/modules/ROOT/pages/cxf-component.adoc     |  6 ++----
 docs/components/modules/ROOT/pages/cxfrs-component.adoc   |  6 ++----
 .../modules/ROOT/pages/dataformat-component.adoc          |  6 ++----
 docs/components/modules/ROOT/pages/dataset-component.adoc |  6 ++----
 .../modules/ROOT/pages/dataset-test-component.adoc        |  6 ++----
 .../modules/ROOT/pages/digitalocean-component.adoc        |  6 ++----
 docs/components/modules/ROOT/pages/direct-component.adoc  |  6 ++----
 .../modules/ROOT/pages/direct-vm-component.adoc           |  3 +--
 .../modules/ROOT/pages/disruptor-component.adoc           |  7 ++-----
 docs/components/modules/ROOT/pages/dns-component.adoc     |  6 ++----
 docs/components/modules/ROOT/pages/docker-component.adoc  |  6 ++----
 docs/components/modules/ROOT/pages/dozer-component.adoc   |  6 ++----
 docs/components/modules/ROOT/pages/drill-component.adoc   |  6 ++----
 docs/components/modules/ROOT/pages/dropbox-component.adoc |  6 ++----
 docs/components/modules/ROOT/pages/ehcache-component.adoc |  6 ++----
 .../modules/ROOT/pages/elasticsearch-rest-component.adoc  |  6 ++----
 docs/components/modules/ROOT/pages/elsql-component.adoc   |  6 ++----
 docs/components/modules/ROOT/pages/etcd-component.adoc    |  6 ++----
 .../modules/ROOT/pages/eventadmin-component.adoc          |  3 +--
 docs/components/modules/ROOT/pages/exec-component.adoc    |  6 ++----
 .../components/modules/ROOT/pages/facebook-component.adoc |  6 ++----
 docs/components/modules/ROOT/pages/fhir-component.adoc    |  6 ++----
 docs/components/modules/ROOT/pages/file-component.adoc    |  6 ++----
 .../modules/ROOT/pages/file-watch-component.adoc          |  6 ++----
 .../components/modules/ROOT/pages/flatpack-component.adoc |  6 ++----
 .../modules/ROOT/pages/flatpack-dataformat.adoc           |  3 +--
 docs/components/modules/ROOT/pages/flink-component.adoc   |  6 ++----
 docs/components/modules/ROOT/pages/fop-component.adoc     |  6 ++----
 .../modules/ROOT/pages/freemarker-component.adoc          |  6 ++----
 docs/components/modules/ROOT/pages/ftp-component.adoc     |  6 ++----
 docs/components/modules/ROOT/pages/ftps-component.adoc    |  6 ++----
 docs/components/modules/ROOT/pages/ganglia-component.adoc |  6 ++----
 .../components/modules/ROOT/pages/geocoder-component.adoc |  6 ++----
 docs/components/modules/ROOT/pages/git-component.adoc     |  6 ++----
 docs/components/modules/ROOT/pages/github-component.adoc  |  6 ++----
 .../modules/ROOT/pages/google-bigquery-component.adoc     |  6 ++----
 .../modules/ROOT/pages/google-bigquery-sql-component.adoc |  6 ++----
 .../modules/ROOT/pages/google-calendar-component.adoc     |  6 ++----
 .../ROOT/pages/google-calendar-stream-component.adoc      |  6 ++----
 .../modules/ROOT/pages/google-drive-component.adoc        |  6 ++----
 .../modules/ROOT/pages/google-mail-component.adoc         |  6 ++----
 .../modules/ROOT/pages/google-mail-stream-component.adoc  |  6 ++----
 .../modules/ROOT/pages/google-pubsub-component.adoc       |  6 ++----
 .../modules/ROOT/pages/google-sheets-component.adoc       |  6 ++----
 .../ROOT/pages/google-sheets-stream-component.adoc        |  6 ++----
 docs/components/modules/ROOT/pages/gora-component.adoc    |  6 ++----
 docs/components/modules/ROOT/pages/grape-component.adoc   |  3 +--
 docs/components/modules/ROOT/pages/grpc-component.adoc    |  6 ++----
 .../modules/ROOT/pages/guava-eventbus-component.adoc      |  6 ++----
 .../ROOT/pages/hazelcast-atomicvalue-component.adoc       |  6 ++----
 .../modules/ROOT/pages/hazelcast-instance-component.adoc  |  6 ++----
 .../modules/ROOT/pages/hazelcast-list-component.adoc      |  6 ++----
 .../modules/ROOT/pages/hazelcast-map-component.adoc       |  6 ++----
 .../modules/ROOT/pages/hazelcast-multimap-component.adoc  |  6 ++----
 .../modules/ROOT/pages/hazelcast-queue-component.adoc     |  6 ++----
 .../ROOT/pages/hazelcast-replicatedmap-component.adoc     |  6 ++----
 .../ROOT/pages/hazelcast-ringbuffer-component.adoc        |  6 ++----
 .../modules/ROOT/pages/hazelcast-seda-component.adoc      |  6 ++----
 .../modules/ROOT/pages/hazelcast-set-component.adoc       |  6 ++----
 .../modules/ROOT/pages/hazelcast-topic-component.adoc     |  6 ++----
 docs/components/modules/ROOT/pages/hbase-component.adoc   |  6 ++----
 docs/components/modules/ROOT/pages/hdfs-component.adoc    |  6 ++----
 docs/components/modules/ROOT/pages/hipchat-component.adoc |  6 ++----
 docs/components/modules/ROOT/pages/http-component.adoc    |  6 ++----
 .../modules/ROOT/pages/iec60870-client-component.adoc     |  6 ++----
 .../modules/ROOT/pages/iec60870-server-component.adoc     |  6 ++----
 .../modules/ROOT/pages/ignite-cache-component.adoc        |  6 ++----
 .../modules/ROOT/pages/ignite-compute-component.adoc      |  6 ++----
 .../modules/ROOT/pages/ignite-events-component.adoc       |  6 ++----
 .../modules/ROOT/pages/ignite-idgen-component.adoc        |  6 ++----
 .../modules/ROOT/pages/ignite-messaging-component.adoc    |  6 ++----
 .../modules/ROOT/pages/ignite-queue-component.adoc        |  6 ++----
 .../modules/ROOT/pages/ignite-set-component.adoc          |  6 ++----
 .../modules/ROOT/pages/infinispan-component.adoc          |  6 ++----
 .../components/modules/ROOT/pages/influxdb-component.adoc |  6 ++----
 docs/components/modules/ROOT/pages/iota-component.adoc    |  6 ++----
 docs/components/modules/ROOT/pages/ipfs-component.adoc    |  6 ++----
 docs/components/modules/ROOT/pages/irc-component.adoc     |  6 ++----
 docs/components/modules/ROOT/pages/ironmq-component.adoc  |  6 ++----
 docs/components/modules/ROOT/pages/jbpm-component.adoc    |  6 ++----
 docs/components/modules/ROOT/pages/jcache-component.adoc  |  6 ++----
 docs/components/modules/ROOT/pages/jclouds-component.adoc |  6 ++----
 docs/components/modules/ROOT/pages/jcr-component.adoc     |  6 ++----
 docs/components/modules/ROOT/pages/jdbc-component.adoc    |  6 ++----
 docs/components/modules/ROOT/pages/jetty-component.adoc   |  6 ++----
 docs/components/modules/ROOT/pages/jgroups-component.adoc |  6 ++----
 .../modules/ROOT/pages/jgroups-raft-component.adoc        |  6 ++----
 docs/components/modules/ROOT/pages/jing-component.adoc    |  6 ++----
 docs/components/modules/ROOT/pages/jira-component.adoc    |  6 ++----
 docs/components/modules/ROOT/pages/jmx-component.adoc     |  6 ++----
 docs/components/modules/ROOT/pages/jolt-component.adoc    |  6 ++----
 docs/components/modules/ROOT/pages/jooq-component.adoc    |  6 ++----
 docs/components/modules/ROOT/pages/jpa-component.adoc     |  6 ++----
 .../modules/ROOT/pages/json-validator-component.adoc      |  6 ++----
 docs/components/modules/ROOT/pages/jt400-component.adoc   |  6 ++----
 docs/components/modules/ROOT/pages/kafka-component.adoc   |  6 ++----
 .../ROOT/pages/kubernetes-config-maps-component.adoc      |  6 ++----
 .../ROOT/pages/kubernetes-deployments-component.adoc      |  6 ++----
 .../modules/ROOT/pages/kubernetes-hpa-component.adoc      |  6 ++----
 .../modules/ROOT/pages/kubernetes-job-component.adoc      |  6 ++----
 .../ROOT/pages/kubernetes-namespaces-component.adoc       |  6 ++----
 .../modules/ROOT/pages/kubernetes-nodes-component.adoc    |  6 ++----
 .../kubernetes-persistent-volumes-claims-component.adoc   |  6 ++----
 .../pages/kubernetes-persistent-volumes-component.adoc    |  6 ++----
 .../modules/ROOT/pages/kubernetes-pods-component.adoc     |  6 ++----
 .../kubernetes-replication-controllers-component.adoc     |  6 ++----
 .../ROOT/pages/kubernetes-resources-quota-component.adoc  |  6 ++----
 .../modules/ROOT/pages/kubernetes-secrets-component.adoc  |  6 ++----
 .../ROOT/pages/kubernetes-service-accounts-component.adoc |  6 ++----
 .../modules/ROOT/pages/kubernetes-services-component.adoc |  6 ++----
 .../components/modules/ROOT/pages/language-component.adoc |  6 ++----
 docs/components/modules/ROOT/pages/ldap-component.adoc    |  6 ++----
 docs/components/modules/ROOT/pages/ldif-component.adoc    |  6 ++----
 .../components/modules/ROOT/pages/linkedin-component.adoc |  6 ++----
 docs/components/modules/ROOT/pages/log-component.adoc     |  6 ++----
 docs/components/modules/ROOT/pages/lpr-component.adoc     |  6 ++----
 docs/components/modules/ROOT/pages/lucene-component.adoc  |  6 ++----
 .../modules/ROOT/pages/lumberjack-component.adoc          |  6 ++----
 docs/components/modules/ROOT/pages/mail-component.adoc    |  6 ++----
 docs/components/modules/ROOT/pages/master-component.adoc  |  6 ++----
 docs/components/modules/ROOT/pages/metrics-component.adoc |  6 ++----
 .../modules/ROOT/pages/micrometer-component.adoc          |  6 ++----
 .../modules/ROOT/pages/milo-client-component.adoc         |  6 ++----
 .../modules/ROOT/pages/milo-server-component.adoc         |  6 ++----
 docs/components/modules/ROOT/pages/mina-component.adoc    |  6 ++----
 docs/components/modules/ROOT/pages/mllp-component.adoc    |  6 ++----
 docs/components/modules/ROOT/pages/mock-component.adoc    |  3 +--
 docs/components/modules/ROOT/pages/mongodb-component.adoc |  6 ++----
 .../modules/ROOT/pages/mongodb-gridfs-component.adoc      |  6 ++----
 docs/components/modules/ROOT/pages/mqtt-component.adoc    |  6 ++----
 docs/components/modules/ROOT/pages/msv-component.adoc     |  6 ++----
 .../components/modules/ROOT/pages/mustache-component.adoc |  6 ++----
 docs/components/modules/ROOT/pages/mvel-component.adoc    |  6 ++----
 docs/components/modules/ROOT/pages/mvel-language.adoc     |  3 +--
 .../modules/ROOT/pages/mybatis-bean-component.adoc        |  6 ++----
 docs/components/modules/ROOT/pages/mybatis-component.adoc |  6 ++----
 docs/components/modules/ROOT/pages/nagios-component.adoc  |  6 ++----
 docs/components/modules/ROOT/pages/nats-component.adoc    |  6 ++----
 docs/components/modules/ROOT/pages/netty-component.adoc   |  6 ++----
 .../modules/ROOT/pages/netty-http-component.adoc          |  6 ++----
 docs/components/modules/ROOT/pages/nsq-component.adoc     |  6 ++----
 docs/components/modules/ROOT/pages/olingo2-component.adoc |  6 ++----
 docs/components/modules/ROOT/pages/olingo4-component.adoc |  6 ++----
 .../ROOT/pages/openshift-build-configs-component.adoc     |  3 +--
 .../modules/ROOT/pages/openshift-builds-component.adoc    |  3 +--
 .../modules/ROOT/pages/openstack-cinder-component.adoc    |  6 ++----
 .../modules/ROOT/pages/openstack-glance-component.adoc    |  6 ++----
 .../modules/ROOT/pages/openstack-keystone-component.adoc  |  6 ++----
 .../modules/ROOT/pages/openstack-neutron-component.adoc   |  6 ++----
 .../modules/ROOT/pages/openstack-nova-component.adoc      |  6 ++----
 .../modules/ROOT/pages/openstack-swift-component.adoc     |  6 ++----
 .../modules/ROOT/pages/optaplanner-component.adoc         |  6 ++----
 docs/components/modules/ROOT/pages/paho-component.adoc    |  6 ++----
 .../modules/ROOT/pages/paxlogging-component.adoc          |  3 +--
 docs/components/modules/ROOT/pages/pdf-component.adoc     |  6 ++----
 .../modules/ROOT/pages/pg-replication-slot-component.adoc |  6 ++----
 docs/components/modules/ROOT/pages/pgevent-component.adoc |  6 ++----
 docs/components/modules/ROOT/pages/pubnub-component.adoc  |  6 ++----
 docs/components/modules/ROOT/pages/quartz-component.adoc  |  6 ++----
 .../components/modules/ROOT/pages/quickfix-component.adoc |  6 ++----
 .../components/modules/ROOT/pages/rabbitmq-component.adoc |  6 ++----
 .../modules/ROOT/pages/reactive-streams-component.adoc    |  6 ++----
 docs/components/modules/ROOT/pages/ref-component.adoc     |  6 ++----
 .../components/modules/ROOT/pages/rest-api-component.adoc |  6 ++----
 docs/components/modules/ROOT/pages/rest-component.adoc    |  6 ++----
 .../modules/ROOT/pages/rest-swagger-component.adoc        |  6 ++----
 docs/components/modules/ROOT/pages/restlet-component.adoc |  6 ++----
 docs/components/modules/ROOT/pages/rss-component.adoc     |  6 ++----
 docs/components/modules/ROOT/pages/rss-dataformat.adoc    |  3 +--
 docs/components/modules/ROOT/pages/saga-component.adoc    |  6 ++----
 .../modules/ROOT/pages/salesforce-component.adoc          |  6 ++----
 .../modules/ROOT/pages/sap-netweaver-component.adoc       |  6 ++----
 .../modules/ROOT/pages/scheduler-component.adoc           |  6 ++----
 .../modules/ROOT/pages/schematron-component.adoc          |  6 ++----
 docs/components/modules/ROOT/pages/scp-component.adoc     |  6 ++----
 docs/components/modules/ROOT/pages/seda-component.adoc    |  6 ++----
 docs/components/modules/ROOT/pages/service-component.adoc |  6 ++----
 .../modules/ROOT/pages/servicenow-component.adoc          |  6 ++----
 docs/components/modules/ROOT/pages/servlet-component.adoc |  6 ++----
 docs/components/modules/ROOT/pages/sftp-component.adoc    |  3 +--
 docs/components/modules/ROOT/pages/sip-component.adoc     |  6 ++----
 .../modules/ROOT/pages/sjms-batch-component.adoc          |  6 ++----
 docs/components/modules/ROOT/pages/sjms-component.adoc    |  6 ++----
 docs/components/modules/ROOT/pages/sjms2-component.adoc   |  6 ++----
 docs/components/modules/ROOT/pages/slack-component.adoc   |  6 ++----
 docs/components/modules/ROOT/pages/smpp-component.adoc    |  6 ++----
 docs/components/modules/ROOT/pages/snmp-component.adoc    |  6 ++----
 docs/components/modules/ROOT/pages/solr-component.adoc    |  6 ++----
 docs/components/modules/ROOT/pages/soroush-component.adoc |  6 ++----
 docs/components/modules/ROOT/pages/spark-component.adoc   |  6 ++----
 .../modules/ROOT/pages/spark-rest-component.adoc          |  3 +--
 docs/components/modules/ROOT/pages/splunk-component.adoc  |  6 ++----
 .../modules/ROOT/pages/spring-batch-component.adoc        |  6 ++----
 .../modules/ROOT/pages/spring-event-component.adoc        |  6 ++----
 .../modules/ROOT/pages/spring-integration-component.adoc  |  6 ++----
 .../modules/ROOT/pages/spring-ldap-component.adoc         |  6 ++----
 .../modules/ROOT/pages/spring-redis-component.adoc        |  6 ++----
 .../modules/ROOT/pages/spring-ws-component.adoc           |  6 ++----
 docs/components/modules/ROOT/pages/sql-component.adoc     |  6 ++----
 .../modules/ROOT/pages/sql-stored-component.adoc          |  6 ++----
 docs/components/modules/ROOT/pages/ssh-component.adoc     |  6 ++----
 docs/components/modules/ROOT/pages/stax-component.adoc    |  6 ++----
 docs/components/modules/ROOT/pages/stomp-component.adoc   |  6 ++----
 docs/components/modules/ROOT/pages/stream-component.adoc  |  6 ++----
 .../modules/ROOT/pages/string-template-component.adoc     |  6 ++----
 docs/components/modules/ROOT/pages/stub-component.adoc    |  6 ++----
 .../components/modules/ROOT/pages/telegram-component.adoc |  6 ++----
 docs/components/modules/ROOT/pages/thrift-component.adoc  |  6 ++----
 docs/components/modules/ROOT/pages/thrift-dataformat.adoc |  3 +--
 docs/components/modules/ROOT/pages/tika-component.adoc    |  6 ++----
 docs/components/modules/ROOT/pages/timer-component.adoc   |  6 ++----
 docs/components/modules/ROOT/pages/twilio-component.adoc  |  6 ++----
 .../ROOT/pages/twitter-directmessage-component.adoc       |  6 ++----
 .../modules/ROOT/pages/twitter-search-component.adoc      |  6 ++----
 .../modules/ROOT/pages/twitter-timeline-component.adoc    |  6 ++----
 .../components/modules/ROOT/pages/undertow-component.adoc |  6 ++----
 .../modules/ROOT/pages/validator-component.adoc           |  6 ++----
 .../components/modules/ROOT/pages/velocity-component.adoc |  6 ++----
 docs/components/modules/ROOT/pages/vertx-component.adoc   |  6 ++----
 docs/components/modules/ROOT/pages/vm-component.adoc      |  6 ++----
 docs/components/modules/ROOT/pages/weather-component.adoc |  6 ++----
 docs/components/modules/ROOT/pages/web3j-component.adoc   |  6 ++----
 docs/components/modules/ROOT/pages/webhook-component.adoc |  6 ++----
 .../modules/ROOT/pages/websocket-component.adoc           |  6 ++----
 .../modules/ROOT/pages/websocket-jsr356-component.adoc    |  6 ++----
 .../modules/ROOT/pages/wordpress-component.adoc           |  6 ++----
 docs/components/modules/ROOT/pages/xchange-component.adoc |  6 ++----
 .../modules/ROOT/pages/xmlsecurity-component.adoc         |  6 ++----
 docs/components/modules/ROOT/pages/xmpp-component.adoc    |  6 ++----
 docs/components/modules/ROOT/pages/xquery-component.adoc  |  6 ++----
 docs/components/modules/ROOT/pages/xquery-language.adoc   |  3 +--
 docs/components/modules/ROOT/pages/xslt-component.adoc    |  6 ++----
 docs/components/modules/ROOT/pages/yammer-component.adoc  |  6 ++----
 docs/components/modules/ROOT/pages/zendesk-component.adoc |  6 ++----
 .../modules/ROOT/pages/zookeeper-component.adoc           |  6 ++----
 .../modules/ROOT/pages/zookeeper-master-component.adoc    |  6 ++----
 .../springboot/ActiveMQComponentConfiguration.java        | 15 ---------------
 .../ahc/springboot/AhcComponentConfiguration.java         | 15 ---------------
 .../ahc/ws/springboot/WsComponentConfiguration.java       | 15 ---------------
 .../amqp/springboot/AMQPComponentConfiguration.java       | 15 ---------------
 .../apns/springboot/ApnsComponentConfiguration.java       | 15 ---------------
 .../as2/springboot/AS2ComponentConfiguration.java         | 15 ---------------
 .../springboot/AsteriskComponentConfiguration.java        | 15 ---------------
 .../atmos/springboot/AtmosComponentConfiguration.java     | 15 ---------------
 .../springboot/WebsocketComponentConfiguration.java       | 15 ---------------
 .../atom/springboot/AtomComponentConfiguration.java       | 15 ---------------
 .../map/springboot/AtomixMapComponentConfiguration.java   | 15 ---------------
 .../springboot/AtomixMessagingComponentConfiguration.java | 15 ---------------
 .../springboot/AtomixMultiMapComponentConfiguration.java  | 15 ---------------
 .../springboot/AtomixQueueComponentConfiguration.java     | 15 ---------------
 .../set/springboot/AtomixSetComponentConfiguration.java   | 15 ---------------
 .../springboot/AtomixValueComponentConfiguration.java     | 15 ---------------
 .../avro/springboot/AvroComponentConfiguration.java       | 15 ---------------
 .../aws/cw/springboot/CwComponentConfiguration.java       | 15 ---------------
 .../aws/ddb/springboot/DdbComponentConfiguration.java     | 15 ---------------
 .../springboot/DdbStreamComponentConfiguration.java       | 15 ---------------
 .../aws/ec2/springboot/EC2ComponentConfiguration.java     | 15 ---------------
 .../aws/ecs/springboot/ECSComponentConfiguration.java     | 15 ---------------
 .../aws/eks/springboot/EKSComponentConfiguration.java     | 15 ---------------
 .../aws/iam/springboot/IAMComponentConfiguration.java     | 15 ---------------
 .../springboot/KinesisFirehoseComponentConfiguration.java | 15 ---------------
 .../kinesis/springboot/KinesisComponentConfiguration.java | 15 ---------------
 .../aws/kms/springboot/KMSComponentConfiguration.java     | 15 ---------------
 .../lambda/springboot/LambdaComponentConfiguration.java   | 15 ---------------
 .../aws/mq/springboot/MQComponentConfiguration.java       | 15 ---------------
 .../aws/msk/springboot/MSKComponentConfiguration.java     | 15 ---------------
 .../aws/s3/springboot/S3ComponentConfiguration.java       | 15 ---------------
 .../aws/sdb/springboot/SdbComponentConfiguration.java     | 15 ---------------
 .../aws/ses/springboot/SesComponentConfiguration.java     | 15 ---------------
 .../aws/sns/springboot/SnsComponentConfiguration.java     | 15 ---------------
 .../aws/sqs/springboot/SqsComponentConfiguration.java     | 15 ---------------
 .../aws/swf/springboot/SWFComponentConfiguration.java     | 15 ---------------
 .../springboot/BlobServiceComponentConfiguration.java     | 15 ---------------
 .../springboot/QueueServiceComponentConfiguration.java    | 15 ---------------
 .../bean/springboot/BeanComponentConfiguration.java       | 15 ---------------
 .../beanclass/springboot/ClassComponentConfiguration.java | 15 ---------------
 .../springboot/BeanValidatorComponentConfiguration.java   | 15 ---------------
 .../springboot/BeanstalkComponentConfiguration.java       | 15 ---------------
 .../bonita/springboot/BonitaComponentConfiguration.java   | 15 ---------------
 .../box/springboot/BoxComponentConfiguration.java         | 15 ---------------
 .../springboot/BraintreeComponentConfiguration.java       | 15 ---------------
 .../browse/springboot/BrowseComponentConfiguration.java   | 15 ---------------
 .../springboot/CaffeineCacheComponentConfiguration.java   | 15 ---------------
 .../CaffeineLoadCacheComponentConfiguration.java          | 15 ---------------
 .../springboot/CassandraComponentConfiguration.java       | 15 ---------------
 .../springboot/ChatScriptComponentConfiguration.java      | 15 ---------------
 .../chunk/springboot/ChunkComponentConfiguration.java     | 15 ---------------
 .../component/cm/springboot/CMComponentConfiguration.java | 15 ---------------
 .../cmis/springboot/CMISComponentConfiguration.java       | 15 ---------------
 .../camel/coap/springboot/CoAPComponentConfiguration.java | 15 ---------------
 .../cometd/springboot/CometdComponentConfiguration.java   | 15 ---------------
 .../consul/springboot/ConsulComponentConfiguration.java   | 15 ---------------
 .../springboot/ControlBusComponentConfiguration.java      | 15 ---------------
 .../corda/springboot/CordaComponentConfiguration.java     | 15 ---------------
 .../springboot/CouchbaseComponentConfiguration.java       | 15 ---------------
 .../couchdb/springboot/CouchDbComponentConfiguration.java | 15 ---------------
 .../cms/springboot/CryptoCmsComponentConfiguration.java   | 15 ---------------
 .../DigitalSignatureComponentConfiguration.java           | 15 ---------------
 .../cxf/jaxrs/springboot/CxfRsComponentConfiguration.java | 15 ---------------
 .../cxf/springboot/CxfComponentConfiguration.java         | 15 ---------------
 .../springboot/DataFormatComponentConfiguration.java      | 15 ---------------
 .../dataset/springboot/DataSetComponentConfiguration.java | 15 ---------------
 .../springboot/DataSetTestComponentConfiguration.java     | 15 ---------------
 .../springboot/DigitalOceanComponentConfiguration.java    | 15 ---------------
 .../direct/springboot/DirectComponentConfiguration.java   | 15 ---------------
 .../springboot/DirectVmComponentConfiguration.java        | 15 ---------------
 .../springboot/DisruptorComponentConfiguration.java       | 15 ---------------
 .../vm/springboot/DisruptorVmComponentConfiguration.java  | 15 ---------------
 .../dns/springboot/DnsComponentConfiguration.java         | 15 ---------------
 .../docker/springboot/DockerComponentConfiguration.java   | 15 ---------------
 .../dozer/springboot/DozerComponentConfiguration.java     | 15 ---------------
 .../drill/springboot/DrillComponentConfiguration.java     | 15 ---------------
 .../dropbox/springboot/DropboxComponentConfiguration.java | 15 ---------------
 .../ehcache/springboot/EhcacheComponentConfiguration.java | 15 ---------------
 .../springboot/ElasticsearchComponentConfiguration.java   | 15 ---------------
 .../elsql/springboot/ElsqlComponentConfiguration.java     | 15 ---------------
 .../etcd/springboot/EtcdComponentConfiguration.java       | 15 ---------------
 .../exec/springboot/ExecComponentConfiguration.java       | 15 ---------------
 .../springboot/FacebookComponentConfiguration.java        | 15 ---------------
 .../fhir/springboot/FhirComponentConfiguration.java       | 15 ---------------
 .../file/springboot/FileComponentConfiguration.java       | 15 ---------------
 .../watch/springboot/FileWatchComponentConfiguration.java | 15 ---------------
 .../springboot/FlatpackComponentConfiguration.java        | 15 ---------------
 .../flink/springboot/FlinkComponentConfiguration.java     | 15 ---------------
 .../fop/springboot/FopComponentConfiguration.java         | 15 ---------------
 .../springboot/FreemarkerComponentConfiguration.java      | 15 ---------------
 .../file/remote/springboot/FtpComponentConfiguration.java | 15 ---------------
 .../remote/springboot/FtpsComponentConfiguration.java     | 15 ---------------
 .../remote/springboot/SftpComponentConfiguration.java     | 15 ---------------
 .../ganglia/springboot/GangliaComponentConfiguration.java | 15 ---------------
 .../springboot/GeoCoderComponentConfiguration.java        | 15 ---------------
 .../git/springboot/GitComponentConfiguration.java         | 15 ---------------
 .../github/springboot/GitHubComponentConfiguration.java   | 15 ---------------
 .../springboot/GoogleBigQueryComponentConfiguration.java  | 15 ---------------
 .../GoogleBigQuerySQLComponentConfiguration.java          | 15 ---------------
 .../springboot/GoogleCalendarComponentConfiguration.java  | 15 ---------------
 .../GoogleCalendarStreamComponentConfiguration.java       | 15 ---------------
 .../springboot/GoogleDriveComponentConfiguration.java     | 15 ---------------
 .../mail/springboot/GoogleMailComponentConfiguration.java | 15 ---------------
 .../GoogleMailStreamComponentConfiguration.java           | 15 ---------------
 .../springboot/GooglePubsubComponentConfiguration.java    | 15 ---------------
 .../springboot/GoogleSheetsComponentConfiguration.java    | 15 ---------------
 .../GoogleSheetsStreamComponentConfiguration.java         | 15 ---------------
 .../gora/springboot/GoraComponentConfiguration.java       | 15 ---------------
 .../grpc/springboot/GrpcComponentConfiguration.java       | 15 ---------------
 .../springboot/GuavaEventBusComponentConfiguration.java   | 15 ---------------
 .../HazelcastAtomicnumberComponentConfiguration.java      | 15 ---------------
 .../HazelcastInstanceComponentConfiguration.java          | 15 ---------------
 .../springboot/HazelcastListComponentConfiguration.java   | 15 ---------------
 .../springboot/HazelcastMapComponentConfiguration.java    | 15 ---------------
 .../HazelcastMultimapComponentConfiguration.java          | 15 ---------------
 .../springboot/HazelcastQueueComponentConfiguration.java  | 15 ---------------
 .../HazelcastReplicatedmapComponentConfiguration.java     | 15 ---------------
 .../HazelcastRingbufferComponentConfiguration.java        | 15 ---------------
 .../springboot/HazelcastSedaComponentConfiguration.java   | 15 ---------------
 .../springboot/HazelcastSetComponentConfiguration.java    | 15 ---------------
 .../springboot/HazelcastTopicComponentConfiguration.java  | 15 ---------------
 .../hbase/springboot/HBaseComponentConfiguration.java     | 15 ---------------
 .../hdfs2/springboot/HdfsComponentConfiguration.java      | 15 ---------------
 .../hipchat/springboot/HipchatComponentConfiguration.java | 15 ---------------
 .../http/springboot/HttpComponentConfiguration.java       | 15 ---------------
 .../client/springboot/ClientComponentConfiguration.java   | 15 ---------------
 .../server/springboot/ServerComponentConfiguration.java   | 15 ---------------
 .../springboot/IgniteCacheComponentConfiguration.java     | 15 ---------------
 .../springboot/IgniteComputeComponentConfiguration.java   | 15 ---------------
 .../springboot/IgniteEventsComponentConfiguration.java    | 15 ---------------
 .../springboot/IgniteIdGenComponentConfiguration.java     | 15 ---------------
 .../springboot/IgniteMessagingComponentConfiguration.java | 15 ---------------
 .../springboot/IgniteQueueComponentConfiguration.java     | 15 ---------------
 .../set/springboot/IgniteSetComponentConfiguration.java   | 15 ---------------
 .../springboot/InfinispanComponentConfiguration.java      | 15 ---------------
 .../springboot/InfluxDbComponentConfiguration.java        | 15 ---------------
 .../iota/springboot/IOTAComponentConfiguration.java       | 15 ---------------
 .../ipfs/springboot/IPFSComponentConfiguration.java       | 15 ---------------
 .../irc/springboot/IrcComponentConfiguration.java         | 15 ---------------
 .../ironmq/springboot/IronMQComponentConfiguration.java   | 15 ---------------
 .../jbpm/springboot/JBPMComponentConfiguration.java       | 15 ---------------
 .../jcache/springboot/JCacheComponentConfiguration.java   | 15 ---------------
 .../jclouds/springboot/JcloudsComponentConfiguration.java | 15 ---------------
 .../jcr/springboot/JcrComponentConfiguration.java         | 15 ---------------
 .../jdbc/springboot/JdbcComponentConfiguration.java       | 15 ---------------
 .../springboot/JettyHttpComponentConfiguration9.java      | 15 ---------------
 .../springboot/JGroupsRaftComponentConfiguration.java     | 15 ---------------
 .../jgroups/springboot/JGroupsComponentConfiguration.java | 15 ---------------
 .../jing/springboot/JingComponentConfiguration.java       | 15 ---------------
 .../jira/springboot/JiraComponentConfiguration.java       | 15 ---------------
 .../jms/springboot/JmsComponentConfiguration.java         | 15 ---------------
 .../jmx/springboot/JMXComponentConfiguration.java         | 15 ---------------
 .../jolt/springboot/JoltComponentConfiguration.java       | 15 ---------------
 .../jooq/springboot/JooqComponentConfiguration.java       | 15 ---------------
 .../jpa/springboot/JpaComponentConfiguration.java         | 15 ---------------
 .../scp/springboot/ScpComponentConfiguration.java         | 15 ---------------
 .../springboot/JsonValidatorComponentConfiguration.java   | 15 ---------------
 .../jt400/springboot/Jt400ComponentConfiguration.java     | 15 ---------------
 .../kafka/springboot/KafkaComponentConfiguration.java     | 15 ---------------
 .../KubernetesConfigMapsComponentConfiguration.java       | 15 ---------------
 .../KubernetesDeploymentsComponentConfiguration.java      | 15 ---------------
 .../springboot/KubernetesHPAComponentConfiguration.java   | 15 ---------------
 .../springboot/KubernetesJobComponentConfiguration.java   | 15 ---------------
 .../KubernetesNamespacesComponentConfiguration.java       | 15 ---------------
 .../springboot/KubernetesNodesComponentConfiguration.java | 15 ---------------
 ...KubernetesPersistentVolumesComponentConfiguration.java | 15 ---------------
 ...etesPersistentVolumesClaimsComponentConfiguration.java | 15 ---------------
 .../springboot/KubernetesPodsComponentConfiguration.java  | 15 ---------------
 ...netesReplicationControllersComponentConfiguration.java | 15 ---------------
 .../KubernetesResourcesQuotaComponentConfiguration.java   | 15 ---------------
 .../KubernetesSecretsComponentConfiguration.java          | 15 ---------------
 .../KubernetesServiceAccountsComponentConfiguration.java  | 15 ---------------
 .../KubernetesServicesComponentConfiguration.java         | 15 ---------------
 .../OpenshiftBuildConfigsComponentConfiguration.java      | 15 ---------------
 .../springboot/OpenshiftBuildsComponentConfiguration.java | 15 ---------------
 .../springboot/LanguageComponentConfiguration.java        | 15 ---------------
 .../ldap/springboot/LdapComponentConfiguration.java       | 15 ---------------
 .../ldif/springboot/LdifComponentConfiguration.java       | 15 ---------------
 .../springboot/LinkedInComponentConfiguration.java        | 15 ---------------
 .../log/springboot/LogComponentConfiguration.java         | 15 ---------------
 .../lucene/springboot/LuceneComponentConfiguration.java   | 15 ---------------
 .../springboot/LumberjackComponentConfiguration.java      | 15 ---------------
 .../mail/springboot/MailComponentConfiguration.java       | 15 ---------------
 .../master/springboot/MasterComponentConfiguration.java   | 15 ---------------
 .../metrics/springboot/MetricsComponentConfiguration.java | 15 ---------------
 .../springboot/MicrometerComponentConfiguration.java      | 15 ---------------
 .../springboot/MiloClientComponentConfiguration.java      | 15 ---------------
 .../springboot/MiloServerComponentConfiguration.java      | 15 ---------------
 .../mina2/springboot/Mina2ComponentConfiguration.java     | 15 ---------------
 .../mllp/springboot/MllpComponentConfiguration.java       | 15 ---------------
 .../mock/springboot/MockComponentConfiguration.java       | 15 ---------------
 .../gridfs/springboot/GridFsComponentConfiguration.java   | 15 ---------------
 .../springboot/MongoDbComponentConfiguration.java         | 15 ---------------
 .../mqtt/springboot/MQTTComponentConfiguration.java       | 15 ---------------
 .../msv/springboot/MsvComponentConfiguration.java         | 15 ---------------
 .../springboot/MustacheComponentConfiguration.java        | 15 ---------------
 .../mvel/springboot/MvelComponentConfiguration.java       | 15 ---------------
 .../springboot/MyBatisBeanComponentConfiguration.java     | 15 ---------------
 .../mybatis/springboot/MyBatisComponentConfiguration.java | 15 ---------------
 .../nagios/springboot/NagiosComponentConfiguration.java   | 15 ---------------
 .../nats/springboot/NatsComponentConfiguration.java       | 15 ---------------
 .../http/springboot/NettyHttpComponentConfiguration.java  | 15 ---------------
 .../netty4/springboot/NettyComponentConfiguration.java    | 15 ---------------
 .../nsq/springboot/NsqComponentConfiguration.java         | 15 ---------------
 .../olingo2/springboot/Olingo2ComponentConfiguration.java | 15 ---------------
 .../olingo4/springboot/Olingo4ComponentConfiguration.java | 15 ---------------
 .../cinder/springboot/CinderComponentConfiguration.java   | 15 ---------------
 .../glance/springboot/GlanceComponentConfiguration.java   | 15 ---------------
 .../springboot/KeystoneComponentConfiguration.java        | 15 ---------------
 .../neutron/springboot/NeutronComponentConfiguration.java | 15 ---------------
 .../nova/springboot/NovaComponentConfiguration.java       | 15 ---------------
 .../swift/springboot/SwiftComponentConfiguration.java     | 15 ---------------
 .../springboot/OptaPlannerComponentConfiguration.java     | 15 ---------------
 .../paho/springboot/PahoComponentConfiguration.java       | 15 ---------------
 .../pdf/springboot/PdfComponentConfiguration.java         | 15 ---------------
 .../PgReplicationSlotComponentConfiguration.java          | 15 ---------------
 .../pgevent/springboot/PgEventComponentConfiguration.java | 15 ---------------
 .../printer/springboot/PrinterComponentConfiguration.java | 15 ---------------
 .../pubnub/springboot/PubNubComponentConfiguration.java   | 15 ---------------
 .../quartz2/springboot/QuartzComponentConfiguration.java  | 15 ---------------
 .../springboot/QuickfixjComponentConfiguration.java       | 15 ---------------
 .../springboot/RabbitMQComponentConfiguration.java        | 15 ---------------
 .../springboot/ReactiveStreamsComponentConfiguration.java | 15 ---------------
 .../ref/springboot/RefComponentConfiguration.java         | 15 ---------------
 .../rest/springboot/RestApiComponentConfiguration.java    | 15 ---------------
 .../rest/springboot/RestComponentConfiguration.java       | 15 ---------------
 .../springboot/RestSwaggerComponentConfiguration.java     | 15 ---------------
 .../restlet/springboot/RestletComponentConfiguration.java | 15 ---------------
 .../rss/springboot/RssComponentConfiguration.java         | 15 ---------------
 .../saga/springboot/SagaComponentConfiguration.java       | 15 ---------------
 .../springboot/SalesforceComponentConfiguration.java      | 15 ---------------
 .../springboot/NetWeaverComponentConfiguration.java       | 15 ---------------
 .../xquery/springboot/XQueryComponentConfiguration.java   | 15 ---------------
 .../springboot/SchedulerComponentConfiguration.java       | 15 ---------------
 .../springboot/SchematronComponentConfiguration.java      | 15 ---------------
 .../seda/springboot/SedaComponentConfiguration.java       | 15 ---------------
 .../service/springboot/ServiceComponentConfiguration.java | 15 ---------------
 .../springboot/ServiceNowComponentConfiguration.java      | 15 ---------------
 .../servlet/springboot/ServletComponentConfiguration.java | 15 ---------------
 .../sip/springboot/SipComponentConfiguration.java         | 15 ---------------
 .../batch/springboot/SjmsBatchComponentConfiguration.java | 15 ---------------
 .../sjms/springboot/SjmsComponentConfiguration.java       | 15 ---------------
 .../sjms2/springboot/Sjms2ComponentConfiguration.java     | 15 ---------------
 .../slack/springboot/SlackComponentConfiguration.java     | 15 ---------------
 .../smpp/springboot/SmppComponentConfiguration.java       | 15 ---------------
 .../snmp/springboot/SnmpComponentConfiguration.java       | 15 ---------------
 .../solr/springboot/SolrComponentConfiguration.java       | 15 ---------------
 .../springboot/SoroushBotComponentConfiguration.java      | 15 ---------------
 .../spark/springboot/SparkComponentConfiguration.java     | 15 ---------------
 .../splunk/springboot/SplunkComponentConfiguration.java   | 15 ---------------
 .../springboot/SpringBatchComponentConfiguration.java     | 15 ---------------
 .../SpringIntegrationComponentConfiguration.java          | 15 ---------------
 .../springboot/SpringLdapComponentConfiguration.java      | 15 ---------------
 .../redis/springboot/RedisComponentConfiguration.java     | 15 ---------------
 .../event/springboot/EventComponentConfiguration.java     | 15 ---------------
 .../SpringWebserviceComponentConfiguration.java           | 15 ---------------
 .../sql/springboot/SqlComponentConfiguration.java         | 15 ---------------
 .../springboot/SqlStoredComponentConfiguration.java       | 15 ---------------
 .../ssh/springboot/SshComponentConfiguration.java         | 15 ---------------
 .../stax/springboot/StAXComponentConfiguration.java       | 15 ---------------
 .../stomp/springboot/StompComponentConfiguration.java     | 15 ---------------
 .../stream/springboot/StreamComponentConfiguration.java   | 15 ---------------
 .../springboot/StringTemplateComponentConfiguration.java  | 15 ---------------
 .../stub/springboot/StubComponentConfiguration.java       | 15 ---------------
 .../springboot/TelegramComponentConfiguration.java        | 15 ---------------
 .../thrift/springboot/ThriftComponentConfiguration.java   | 15 ---------------
 .../tika/springboot/TikaComponentConfiguration.java       | 15 ---------------
 .../timer/springboot/TimerComponentConfiguration.java     | 15 ---------------
 .../twilio/springboot/TwilioComponentConfiguration.java   | 15 ---------------
 .../TwitterDirectMessageComponentConfiguration.java       | 15 ---------------
 .../springboot/TwitterSearchComponentConfiguration.java   | 15 ---------------
 .../springboot/TwitterTimelineComponentConfiguration.java | 15 ---------------
 .../springboot/UndertowComponentConfiguration.java        | 15 ---------------
 .../springboot/ValidatorComponentConfiguration.java       | 15 ---------------
 .../springboot/VelocityComponentConfiguration.java        | 15 ---------------
 .../vertx/springboot/VertxComponentConfiguration.java     | 15 ---------------
 .../component/vm/springboot/VmComponentConfiguration.java | 15 ---------------
 .../weather/springboot/WeatherComponentConfiguration.java | 15 ---------------
 .../web3j/springboot/Web3jComponentConfiguration.java     | 15 ---------------
 .../webhook/springboot/WebhookComponentConfiguration.java | 15 ---------------
 .../springboot/JSR356WebSocketComponentConfiguration.java | 15 ---------------
 .../springboot/WebsocketComponentConfiguration.java       | 15 ---------------
 .../springboot/WordpressComponentConfiguration.java       | 15 ---------------
 .../xchange/springboot/XChangeComponentConfiguration.java | 15 ---------------
 .../springboot/XmlSignatureComponentConfiguration.java    | 15 ---------------
 .../xmpp/springboot/XmppComponentConfiguration.java       | 15 ---------------
 .../xslt/springboot/XsltComponentConfiguration.java       | 15 ---------------
 .../yammer/springboot/YammerComponentConfiguration.java   | 15 ---------------
 .../zendesk/springboot/ZendeskComponentConfiguration.java | 15 ---------------
 .../springboot/MasterComponentConfiguration.java          | 15 ---------------
 .../springboot/ZooKeeperComponentConfiguration.java       | 15 ---------------
 891 files changed, 1164 insertions(+), 6695 deletions(-)

diff --git a/components/camel-activemq/src/main/docs/activemq-component.adoc b/components/camel-activemq/src/main/docs/activemq-component.adoc
index ac45242..7b2e19a 100644
--- a/components/camel-activemq/src/main/docs/activemq-component.adoc
+++ b/components/camel-activemq/src/main/docs/activemq-component.adoc
@@ -44,7 +44,7 @@ activemq:foo
 == Component options
 
 // component options: START
-The ActiveMQ component supports 85 options, which are listed below.
+The ActiveMQ component supports 84 options, which are listed below.
 
 
 
@@ -134,7 +134,6 @@ The ActiveMQ component supports 85 options, which are listed below.
 | *streamMessageType Enabled* (producer) | 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 n [...]
 | *formatDateHeadersTo Iso8601* (producer) | Sets whether date headers should be formatted according to the ISO 8601 standard. | false | boolean
 | *headerFilterStrategy* (filter) | To use a custom org.apache.camel.spi.HeaderFilterStrategy to filter header to and from Camel message. |  | HeaderFilterStrategy
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -280,7 +279,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 86 options, which are listed below.
+The component supports 85 options, which are listed below.
 
 
 
@@ -352,7 +351,6 @@ The component supports 86 options, which are listed below.
 | *camel.component.activemq.reply-to-type* | 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 implicat [...]
 | *camel.component.activemq.request-timeout* | 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. | 20000 | Long
 | *camel.component.activemq.request-timeout-checker-interval* | 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. | 1000 | Long
-| *camel.component.activemq.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 | *camel.component.activemq.stream-message-type-enabled* | 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 Strea [...]
 | *camel.component.activemq.subscription-durable* | 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  [...]
 | *camel.component.activemq.subscription-name* | 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 id. Default is the class name of the specified message listener. Note: Only 1 concurrent consumer (which is the default of this message listener container) is allowed for each subscription, except for a shared subscription (which requires  [...]
diff --git a/components/camel-ahc-ws/src/main/docs/ahc-ws-component.adoc b/components/camel-ahc-ws/src/main/docs/ahc-ws-component.adoc
index bef029a..703c4ca 100644
--- a/components/camel-ahc-ws/src/main/docs/ahc-ws-component.adoc
+++ b/components/camel-ahc-ws/src/main/docs/ahc-ws-component.adoc
@@ -43,7 +43,7 @@ various configuration options of the AHC component.
 
 
 // component options: START
-The AHC Websocket component supports 9 options, which are listed below.
+The AHC Websocket component supports 8 options, which are listed below.
 
 
 
@@ -57,7 +57,6 @@ The AHC Websocket component supports 9 options, which are listed below.
 | *allowJavaSerialized Object* (advanced) | Whether to allow java serialization when a request uses context-type=application/x-java-serialized-object 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. | false | boolean
 | *useGlobalSslContext Parameters* (security) | Enable usage of global SSL context parameters. | false | boolean
 | *headerFilterStrategy* (filter) | To use a custom org.apache.camel.spi.HeaderFilterStrategy to filter header to and from Camel message. |  | HeaderFilterStrategy
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -125,7 +124,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 10 options, which are listed below.
+The component supports 9 options, which are listed below.
 
 
 
@@ -139,7 +138,6 @@ The component supports 10 options, which are listed below.
 | *camel.component.ahc-ws.client-config* | To configure the AsyncHttpClient to use a custom com.ning.http.client.AsyncHttpClientConfig instance. The option is a org.asynchttpclient.AsyncHttpClientConfig type. |  | String
 | *camel.component.ahc-ws.enabled* | Enable ahc-ws component | true | Boolean
 | *camel.component.ahc-ws.header-filter-strategy* | To use a custom org.apache.camel.spi.HeaderFilterStrategy to filter header to and from Camel message. The option is a org.apache.camel.spi.HeaderFilterStrategy type. |  | String
-| *camel.component.ahc-ws.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 | *camel.component.ahc-ws.ssl-context-parameters* | Reference to a org.apache.camel.support.jsse.SSLContextParameters in the Registry. 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 is a org.apache.camel.support.jsse.SSLContextParameters type. |  | String
 | *camel.component.ahc-ws.use-global-ssl-context-parameters* | Enable usage of global SSL context parameters. | false | Boolean
 |===
diff --git a/components/camel-ahc/src/main/docs/ahc-component.adoc b/components/camel-ahc/src/main/docs/ahc-component.adoc
index 93d891f..c60efb5 100644
--- a/components/camel-ahc/src/main/docs/ahc-component.adoc
+++ b/components/camel-ahc/src/main/docs/ahc-component.adoc
@@ -102,7 +102,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 10 options, which are listed below.
+The component supports 9 options, which are listed below.
 
 
 
@@ -116,7 +116,6 @@ The component supports 10 options, which are listed below.
 | *camel.component.ahc.client-config* | To configure the AsyncHttpClient to use a custom com.ning.http.client.AsyncHttpClientConfig instance. The option is a org.asynchttpclient.AsyncHttpClientConfig type. |  | String
 | *camel.component.ahc.enabled* | Enable ahc component | true | Boolean
 | *camel.component.ahc.header-filter-strategy* | To use a custom org.apache.camel.spi.HeaderFilterStrategy to filter header to and from Camel message. The option is a org.apache.camel.spi.HeaderFilterStrategy type. |  | String
-| *camel.component.ahc.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 | *camel.component.ahc.ssl-context-parameters* | Reference to a org.apache.camel.support.jsse.SSLContextParameters in the Registry. 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 is a org.apache.camel.support.jsse.SSLContextParameters type. |  | String
 | *camel.component.ahc.use-global-ssl-context-parameters* | Enable usage of global SSL context parameters. | false | Boolean
 |===
@@ -141,7 +140,7 @@ The component supports 10 options, which are listed below.
 
 
 // component options: START
-The AHC component supports 9 options, which are listed below.
+The AHC component supports 8 options, which are listed below.
 
 
 
@@ -155,7 +154,6 @@ The AHC component supports 9 options, which are listed below.
 | *allowJavaSerialized Object* (advanced) | Whether to allow java serialization when a request uses context-type=application/x-java-serialized-object 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. | false | boolean
 | *useGlobalSslContext Parameters* (security) | Enable usage of global SSL context parameters. | false | boolean
 | *headerFilterStrategy* (filter) | To use a custom org.apache.camel.spi.HeaderFilterStrategy to filter header to and from Camel message. |  | HeaderFilterStrategy
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
diff --git a/components/camel-amqp/src/main/docs/amqp-component.adoc b/components/camel-amqp/src/main/docs/amqp-component.adoc
index 15b7dfc..c30b6d6 100644
--- a/components/camel-amqp/src/main/docs/amqp-component.adoc
+++ b/components/camel-amqp/src/main/docs/amqp-component.adoc
@@ -36,7 +36,7 @@ xref:jms-component.adoc[JMS] component after the destination name.
 
 
 // component options: START
-The AMQP component supports 80 options, which are listed below.
+The AMQP component supports 79 options, which are listed below.
 
 
 
@@ -121,7 +121,6 @@ The AMQP component supports 80 options, which are listed below.
 | *streamMessageType Enabled* (producer) | 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 n [...]
 | *formatDateHeadersTo Iso8601* (producer) | Sets whether date headers should be formatted according to the ISO 8601 standard. | false | boolean
 | *headerFilterStrategy* (filter) | To use a custom org.apache.camel.spi.HeaderFilterStrategy to filter header to and from Camel message. |  | HeaderFilterStrategy
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -269,7 +268,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 81 options, which are listed below.
+The component supports 80 options, which are listed below.
 
 
 
@@ -339,7 +338,6 @@ The component supports 81 options, which are listed below.
 | *camel.component.amqp.reply-to-type* | 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 [...]
 | *camel.component.amqp.request-timeout* | 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. | 20000 | Long
 | *camel.component.amqp.request-timeout-checker-interval* | 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. | 1000 | Long
-| *camel.component.amqp.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 | *camel.component.amqp.stream-message-type-enabled* | 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 StreamMes [...]
 | *camel.component.amqp.subscription-durable* | 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  [...]
 | *camel.component.amqp.subscription-name* | 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 id. Default is the class name of the specified message listener. Note: Only 1 concurrent consumer (which is the default of this message listener container) is allowed for each subscription, except for a shared subscription (which requires JMS  [...]
diff --git a/components/camel-apns/src/main/docs/apns-component.adoc b/components/camel-apns/src/main/docs/apns-component.adoc
index 9506c0c..9abedb1 100644
--- a/components/camel-apns/src/main/docs/apns-component.adoc
+++ b/components/camel-apns/src/main/docs/apns-component.adoc
@@ -52,7 +52,7 @@ apns:consumer[?options]
 
 
 // component options: START
-The APNS component supports 3 options, which are listed below.
+The APNS component supports 2 options, which are listed below.
 
 
 
@@ -60,7 +60,6 @@ The APNS component supports 3 options, which are listed below.
 |===
 | Name | Description | Default | Type
 | *apnsService* (common) | *Required* The ApnsService to use. The org.apache.camel.component.apns.factory.ApnsServiceFactory can be used to build a ApnsService |  | ApnsService
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -133,7 +132,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 4 options, which are listed below.
+The component supports 3 options, which are listed below.
 
 
 
@@ -143,7 +142,6 @@ The component supports 4 options, which are listed below.
 | *camel.component.apns.apns-service* | The ApnsService to use. The org.apache.camel.component.apns.factory.ApnsServiceFactory can be used to build a ApnsService. The option is a com.notnoop.apns.ApnsService type. |  | String
 | *camel.component.apns.basic-property-binding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | Boolean
 | *camel.component.apns.enabled* | Enable apns component | true | Boolean
-| *camel.component.apns.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
 // spring-boot-auto-configure options: END
 
diff --git a/components/camel-as2/camel-as2-component/src/main/docs/as2-component.adoc b/components/camel-as2/camel-as2-component/src/main/docs/as2-component.adoc
index 41fe017..aa4cfe6 100644
--- a/components/camel-as2/camel-as2-component/src/main/docs/as2-component.adoc
+++ b/components/camel-as2/camel-as2-component/src/main/docs/as2-component.adoc
@@ -38,7 +38,7 @@ apiName can be one of:
 
 
 // component options: START
-The AS2 component supports 3 options, which are listed below.
+The AS2 component supports 2 options, which are listed below.
 
 
 
@@ -46,7 +46,6 @@ The AS2 component supports 3 options, which are listed below.
 |===
 | Name | Description | Default | Type
 | *configuration* (common) | To use the shared configuration |  | AS2Configuration
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -129,7 +128,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 31 options, which are listed below.
+The component supports 30 options, which are listed below.
 
 
 
@@ -166,7 +165,6 @@ The component supports 31 options, which are listed below.
 | *camel.component.as2.configuration.target-port-number* | The port number of target host. -1 indicates the scheme default port. |  | Integer
 | *camel.component.as2.configuration.user-agent* | The value included in the User-Agent message header identifying the AS2 user agent. | Camel AS2 Client Endpoint | String
 | *camel.component.as2.enabled* | Whether to enable auto configuration of the as2 component. This is enabled by default. |  | Boolean
-| *camel.component.as2.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
 // spring-boot-auto-configure options: END
 
diff --git a/components/camel-asterisk/src/main/docs/asterisk-component.adoc b/components/camel-asterisk/src/main/docs/asterisk-component.adoc
index 3991823..380070a 100644
--- a/components/camel-asterisk/src/main/docs/asterisk-component.adoc
+++ b/components/camel-asterisk/src/main/docs/asterisk-component.adoc
@@ -30,14 +30,13 @@ asterisk:name[?options]
 == Options
 
 // component options: START
-The Asterisk component supports 2 options, which are listed below.
+The Asterisk component supports 1 options, which are listed below.
 
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
 |===
 | Name | Description | Default | Type
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -95,7 +94,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 3 options, which are listed below.
+The component supports 2 options, which are listed below.
 
 
 
@@ -104,7 +103,6 @@ The component supports 3 options, which are listed below.
 | Name | Description | Default | Type
 | *camel.component.asterisk.basic-property-binding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | Boolean
 | *camel.component.asterisk.enabled* | Enable asterisk component | true | Boolean
-| *camel.component.asterisk.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
 // spring-boot-auto-configure options: END
 
diff --git a/components/camel-atmos/src/main/docs/atmos-component.adoc b/components/camel-atmos/src/main/docs/atmos-component.adoc
index f145b79..4d14000 100644
--- a/components/camel-atmos/src/main/docs/atmos-component.adoc
+++ b/components/camel-atmos/src/main/docs/atmos-component.adoc
@@ -16,7 +16,7 @@ from("atmos:foo/get?remotePath=/path").to("mock:test");
 
 
 // component options: START
-The Atmos component supports 6 options, which are listed below.
+The Atmos component supports 5 options, which are listed below.
 
 
 
@@ -27,7 +27,6 @@ The Atmos component supports 6 options, which are listed below.
 | *secretKey* (security) | The secret key to pass to the Atmos client (should be base64 encoded) |  | String
 | *uri* (advanced) | The URI of the server for the Atmos client to connect to |  | String
 | *sslValidation* (security) | Whether the Atmos client should perform SSL validation | false | boolean
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -92,7 +91,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 7 options, which are listed below.
+The component supports 6 options, which are listed below.
 
 
 
@@ -102,7 +101,6 @@ The component supports 7 options, which are listed below.
 | *camel.component.atmos.basic-property-binding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | Boolean
 | *camel.component.atmos.enabled* | Enable atmos component | true | Boolean
 | *camel.component.atmos.full-token-id* | The token id to pass to the Atmos client |  | String
-| *camel.component.atmos.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 | *camel.component.atmos.secret-key* | The secret key to pass to the Atmos client (should be base64 encoded) |  | String
 | *camel.component.atmos.ssl-validation* | Whether the Atmos client should perform SSL validation | false | Boolean
 | *camel.component.atmos.uri* | The URI of the server for the Atmos client to connect to |  | String
diff --git a/components/camel-atmosphere-websocket/src/main/docs/atmosphere-websocket-component.adoc b/components/camel-atmosphere-websocket/src/main/docs/atmosphere-websocket-component.adoc
index 3789a0c..a25d94a 100644
--- a/components/camel-atmosphere-websocket/src/main/docs/atmosphere-websocket-component.adoc
+++ b/components/camel-atmosphere-websocket/src/main/docs/atmosphere-websocket-component.adoc
@@ -35,7 +35,7 @@ their `pom.xml` for this component:
 
 
 // component options: START
-The Atmosphere Websocket component supports 10 options, which are listed below.
+The Atmosphere Websocket component supports 9 options, which are listed below.
 
 
 
@@ -50,7 +50,6 @@ The Atmosphere Websocket component supports 10 options, which are listed below.
 | *httpConfiguration* (advanced) | To use the shared HttpConfiguration as base configuration. |  | HttpConfiguration
 | *allowJavaSerialized Object* (advanced) | Whether to allow java serialization when a request uses context-type=application/x-java-serialized-object. 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. | false | boolean
 | *headerFilterStrategy* (filter) | To use a custom org.apache.camel.spi.HeaderFilterStrategy to filter header to and from Camel message. |  | HeaderFilterStrategy
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -126,7 +125,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 11 options, which are listed below.
+The component supports 10 options, which are listed below.
 
 
 
@@ -142,7 +141,6 @@ The component supports 11 options, which are listed below.
 | *camel.component.atmosphere-websocket.http-binding* | 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. |  | String
 | *camel.component.atmosphere-websocket.http-configuration* | To use the shared HttpConfiguration as base configuration. The option is a org.apache.camel.http.common.HttpConfiguration type. |  | String
 | *camel.component.atmosphere-websocket.http-registry* | To use a custom org.apache.camel.component.servlet.HttpRegistry. The option is a org.apache.camel.component.servlet.HttpRegistry type. |  | String
-| *camel.component.atmosphere-websocket.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 | *camel.component.atmosphere-websocket.servlet-name* | Default name of servlet to use. The default name is CamelServlet. | CamelServlet | String
 |===
 // spring-boot-auto-configure options: END
diff --git a/components/camel-atom/src/main/docs/atom-component.adoc b/components/camel-atom/src/main/docs/atom-component.adoc
index c525493..c6fbef5 100644
--- a/components/camel-atom/src/main/docs/atom-component.adoc
+++ b/components/camel-atom/src/main/docs/atom-component.adoc
@@ -35,14 +35,13 @@ Where *atomUri* is the URI to the Atom feed to poll.
 
 
 // component options: START
-The Atom component supports 2 options, which are listed below.
+The Atom component supports 1 options, which are listed below.
 
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
 |===
 | Name | Description | Default | Type
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -120,7 +119,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 3 options, which are listed below.
+The component supports 2 options, which are listed below.
 
 
 
@@ -129,7 +128,6 @@ The component supports 3 options, which are listed below.
 | Name | Description | Default | Type
 | *camel.component.atom.basic-property-binding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | Boolean
 | *camel.component.atom.enabled* | Enable atom component | true | Boolean
-| *camel.component.atom.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
 // spring-boot-auto-configure options: END
 
diff --git a/components/camel-atomix/src/main/docs/atomix-map-component.adoc b/components/camel-atomix/src/main/docs/atomix-map-component.adoc
index 1455e7b..67db23c 100644
--- a/components/camel-atomix/src/main/docs/atomix-map-component.adoc
+++ b/components/camel-atomix/src/main/docs/atomix-map-component.adoc
@@ -26,7 +26,7 @@ Maven users will need to add the following dependency to their pom.xml for this
 == Options
 
 // component options: START
-The Atomix Map component supports 6 options, which are listed below.
+The Atomix Map component supports 5 options, which are listed below.
 
 
 
@@ -37,7 +37,6 @@ The Atomix Map component supports 6 options, which are listed below.
 | *atomix* (common) | The shared AtomixClient instance |  | AtomixClient
 | *nodes* (common) | The nodes the AtomixClient should connect to |  | List
 | *configurationUri* (common) | The path to the AtomixClient configuration |  | String
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -105,7 +104,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 10 options, which are listed below.
+The component supports 9 options, which are listed below.
 
 
 
@@ -121,7 +120,6 @@ The component supports 10 options, which are listed below.
 | *camel.component.atomix-map.configuration.ttl* | The resource ttl. |  | Long
 | *camel.component.atomix-map.enabled* | Whether to enable auto configuration of the atomix-map component. This is enabled by default. |  | Boolean
 | *camel.component.atomix-map.nodes* | The nodes the AtomixClient should connect to |  | List
-| *camel.component.atomix-map.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
 // spring-boot-auto-configure options: END
 
diff --git a/components/camel-atomix/src/main/docs/atomix-messaging-component.adoc b/components/camel-atomix/src/main/docs/atomix-messaging-component.adoc
index 8f40140..4c6e80b 100644
--- a/components/camel-atomix/src/main/docs/atomix-messaging-component.adoc
+++ b/components/camel-atomix/src/main/docs/atomix-messaging-component.adoc
@@ -25,7 +25,7 @@ for this component:
 ----
 
 // component options: START
-The Atomix Messaging component supports 6 options, which are listed below.
+The Atomix Messaging component supports 5 options, which are listed below.
 
 
 
@@ -36,7 +36,6 @@ The Atomix Messaging component supports 6 options, which are listed below.
 | *atomix* (common) | The shared AtomixClient instance |  | AtomixClient
 | *nodes* (common) | The nodes the AtomixClient should connect to |  | List
 | *configurationUri* (common) | The path to the AtomixClient configuration |  | String
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -105,7 +104,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 11 options, which are listed below.
+The component supports 10 options, which are listed below.
 
 
 
@@ -122,7 +121,6 @@ The component supports 11 options, which are listed below.
 | *camel.component.atomix-messaging.configuration.result-header* | The header that wil carry the result. |  | String
 | *camel.component.atomix-messaging.enabled* | Whether to enable auto configuration of the atomix-messaging component. This is enabled by default. |  | Boolean
 | *camel.component.atomix-messaging.nodes* | The nodes the AtomixClient should connect to |  | List
-| *camel.component.atomix-messaging.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
 // spring-boot-auto-configure options: END
 
diff --git a/components/camel-atomix/src/main/docs/atomix-multimap-component.adoc b/components/camel-atomix/src/main/docs/atomix-multimap-component.adoc
index f274b0f..2204a5b 100644
--- a/components/camel-atomix/src/main/docs/atomix-multimap-component.adoc
+++ b/components/camel-atomix/src/main/docs/atomix-multimap-component.adoc
@@ -25,7 +25,7 @@ for this component:
 ----
 
 // component options: START
-The Atomix MultiMap component supports 6 options, which are listed below.
+The Atomix MultiMap component supports 5 options, which are listed below.
 
 
 
@@ -36,7 +36,6 @@ The Atomix MultiMap component supports 6 options, which are listed below.
 | *atomix* (consumer) | The shared AtomixClient instance |  | AtomixClient
 | *nodes* (consumer) | The nodes the AtomixClient should connect to |  | List
 | *configurationUri* (consumer) | The path to the AtomixClient configuration |  | String
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -103,7 +102,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 10 options, which are listed below.
+The component supports 9 options, which are listed below.
 
 
 
@@ -119,7 +118,6 @@ The component supports 10 options, which are listed below.
 | *camel.component.atomix-multimap.configuration.ttl* | The resource ttl. |  | Long
 | *camel.component.atomix-multimap.enabled* | Whether to enable auto configuration of the atomix-multimap component. This is enabled by default. |  | Boolean
 | *camel.component.atomix-multimap.nodes* | The nodes the AtomixClient should connect to |  | List
-| *camel.component.atomix-multimap.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
 // spring-boot-auto-configure options: END
 
diff --git a/components/camel-atomix/src/main/docs/atomix-queue-component.adoc b/components/camel-atomix/src/main/docs/atomix-queue-component.adoc
index 4cde18f..78d9571 100644
--- a/components/camel-atomix/src/main/docs/atomix-queue-component.adoc
+++ b/components/camel-atomix/src/main/docs/atomix-queue-component.adoc
@@ -25,7 +25,7 @@ for this component:
 ----
 
 // component options: START
-The Atomix Queue component supports 6 options, which are listed below.
+The Atomix Queue component supports 5 options, which are listed below.
 
 
 
@@ -36,7 +36,6 @@ The Atomix Queue component supports 6 options, which are listed below.
 | *atomix* (common) | The shared AtomixClient instance |  | AtomixClient
 | *nodes* (common) | The nodes the AtomixClient should connect to |  | List
 | *configurationUri* (common) | The path to the AtomixClient configuration |  | String
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -102,7 +101,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 8 options, which are listed below.
+The component supports 7 options, which are listed below.
 
 
 
@@ -116,7 +115,6 @@ The component supports 8 options, which are listed below.
 | *camel.component.atomix-queue.configuration.result-header* | The header that wil carry the result. |  | String
 | *camel.component.atomix-queue.enabled* | Whether to enable auto configuration of the atomix-queue component. This is enabled by default. |  | Boolean
 | *camel.component.atomix-queue.nodes* | The nodes the AtomixClient should connect to |  | List
-| *camel.component.atomix-queue.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
 // spring-boot-auto-configure options: END
 
diff --git a/components/camel-atomix/src/main/docs/atomix-set-component.adoc b/components/camel-atomix/src/main/docs/atomix-set-component.adoc
index 22c436f..43bef07 100644
--- a/components/camel-atomix/src/main/docs/atomix-set-component.adoc
+++ b/components/camel-atomix/src/main/docs/atomix-set-component.adoc
@@ -25,7 +25,7 @@ for this component:
 ----
 
 // component options: START
-The Atomix Set component supports 6 options, which are listed below.
+The Atomix Set component supports 5 options, which are listed below.
 
 
 
@@ -36,7 +36,6 @@ The Atomix Set component supports 6 options, which are listed below.
 | *atomix* (common) | The shared AtomixClient instance |  | AtomixClient
 | *nodes* (common) | The nodes the AtomixClient should connect to |  | List
 | *configurationUri* (common) | The path to the AtomixClient configuration |  | String
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -103,7 +102,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 9 options, which are listed below.
+The component supports 8 options, which are listed below.
 
 
 
@@ -118,7 +117,6 @@ The component supports 9 options, which are listed below.
 | *camel.component.atomix-set.configuration.ttl* | The resource ttl. |  | Long
 | *camel.component.atomix-set.enabled* | Whether to enable auto configuration of the atomix-set component. This is enabled by default. |  | Boolean
 | *camel.component.atomix-set.nodes* | The nodes the AtomixClient should connect to |  | List
-| *camel.component.atomix-set.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
 // spring-boot-auto-configure options: END
 
diff --git a/components/camel-atomix/src/main/docs/atomix-value-component.adoc b/components/camel-atomix/src/main/docs/atomix-value-component.adoc
index 391dea3..30e6c5c 100644
--- a/components/camel-atomix/src/main/docs/atomix-value-component.adoc
+++ b/components/camel-atomix/src/main/docs/atomix-value-component.adoc
@@ -25,7 +25,7 @@ for this component:
 ----
 
 // component options: START
-The Atomix Value component supports 6 options, which are listed below.
+The Atomix Value component supports 5 options, which are listed below.
 
 
 
@@ -36,7 +36,6 @@ The Atomix Value component supports 6 options, which are listed below.
 | *atomix* (common) | The shared AtomixClient instance |  | AtomixClient
 | *nodes* (common) | The nodes the AtomixClient should connect to |  | List
 | *configurationUri* (common) | The path to the AtomixClient configuration |  | String
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -103,7 +102,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 9 options, which are listed below.
+The component supports 8 options, which are listed below.
 
 
 
@@ -118,7 +117,6 @@ The component supports 9 options, which are listed below.
 | *camel.component.atomix-value.configuration.ttl* | The resource ttl. |  | Long
 | *camel.component.atomix-value.enabled* | Whether to enable auto configuration of the atomix-value component. This is enabled by default. |  | Boolean
 | *camel.component.atomix-value.nodes* | The nodes the AtomixClient should connect to |  | List
-| *camel.component.atomix-value.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
 // spring-boot-auto-configure options: END
 
diff --git a/components/camel-avro/src/main/docs/avro-component.adoc b/components/camel-avro/src/main/docs/avro-component.adoc
index 105da2f..163bf07 100644
--- a/components/camel-avro/src/main/docs/avro-component.adoc
+++ b/components/camel-avro/src/main/docs/avro-component.adoc
@@ -172,7 +172,7 @@ wrapping.
 
 
 // component options: START
-The Avro component supports 3 options, which are listed below.
+The Avro component supports 2 options, which are listed below.
 
 
 
@@ -180,7 +180,6 @@ The Avro component supports 3 options, which are listed below.
 |===
 | Name | Description | Default | Type
 | *configuration* (advanced) | To use a shared AvroConfiguration to configure options once |  | AvroConfiguration
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -248,7 +247,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 16 options, which are listed below.
+The component supports 15 options, which are listed below.
 
 
 
@@ -267,7 +266,6 @@ The component supports 16 options, which are listed below.
 | *camel.component.avro.configuration.transport* | Transport to use, can be either http or netty |  | AvroTransport
 | *camel.component.avro.configuration.uri-authority* | Authority to use (username and password) |  | String
 | *camel.component.avro.enabled* | Enable avro component | true | Boolean
-| *camel.component.avro.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 | *camel.dataformat.avro.content-type-header* | Whether the data format should set the Content-Type header with the type from the data format if the data format is capable of doing so. For example application/xml for data formats marshalling to XML, or application/json for data formats marshalling to JSon etc. | false | Boolean
 | *camel.dataformat.avro.enabled* | Enable avro dataformat | true | Boolean
 | *camel.dataformat.avro.instance-class-name* | Class name to use for marshal and unmarshalling |  | String
diff --git a/components/camel-avro/src/main/docs/avro-dataformat.adoc b/components/camel-avro/src/main/docs/avro-dataformat.adoc
index 8de8899..259984b 100644
--- a/components/camel-avro/src/main/docs/avro-dataformat.adoc
+++ b/components/camel-avro/src/main/docs/avro-dataformat.adoc
@@ -157,7 +157,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 16 options, which are listed below.
+The component supports 15 options, which are listed below.
 
 
 
@@ -176,7 +176,6 @@ The component supports 16 options, which are listed below.
 | *camel.component.avro.configuration.transport* | Transport to use, can be either http or netty |  | AvroTransport
 | *camel.component.avro.configuration.uri-authority* | Authority to use (username and password) |  | String
 | *camel.component.avro.enabled* | Enable avro component | true | Boolean
-| *camel.component.avro.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 | *camel.dataformat.avro.content-type-header* | Whether the data format should set the Content-Type header with the type from the data format if the data format is capable of doing so. For example application/xml for data formats marshalling to XML, or application/json for data formats marshalling to JSon etc. | false | Boolean
 | *camel.dataformat.avro.enabled* | Enable avro dataformat | true | Boolean
 | *camel.dataformat.avro.instance-class-name* | Class name to use for marshal and unmarshalling |  | String
diff --git a/components/camel-aws-cw/src/main/docs/aws-cw-component.adoc b/components/camel-aws-cw/src/main/docs/aws-cw-component.adoc
index 4a8f64e..5fd84a1 100644
--- a/components/camel-aws-cw/src/main/docs/aws-cw-component.adoc
+++ b/components/camel-aws-cw/src/main/docs/aws-cw-component.adoc
@@ -29,7 +29,7 @@ The metrics will be created if they don't already exists. +
 
 
 // component options: START
-The AWS CloudWatch component supports 6 options, which are listed below.
+The AWS CloudWatch component supports 5 options, which are listed below.
 
 
 
@@ -40,7 +40,6 @@ The AWS CloudWatch component supports 6 options, which are listed below.
 | *accessKey* (producer) | Amazon AWS Access Key |  | String
 | *secretKey* (producer) | Amazon AWS Secret Key |  | String
 | *region* (producer) | The region in which CW client needs to work |  | String
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -104,7 +103,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 17 options, which are listed below.
+The component supports 16 options, which are listed below.
 
 
 
@@ -126,7 +125,6 @@ The component supports 17 options, which are listed below.
 | *camel.component.aws-cw.configuration.value* | The metric value |  | Double
 | *camel.component.aws-cw.enabled* | Whether to enable auto configuration of the aws-cw component. This is enabled by default. |  | Boolean
 | *camel.component.aws-cw.region* | The region in which CW client needs to work |  | String
-| *camel.component.aws-cw.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 | *camel.component.aws-cw.secret-key* | Amazon AWS Secret Key |  | String
 |===
 // spring-boot-auto-configure options: END
diff --git a/components/camel-aws-ddb/src/main/docs/aws-ddb-component.adoc b/components/camel-aws-ddb/src/main/docs/aws-ddb-component.adoc
index 676fd70..c8f35cc 100644
--- a/components/camel-aws-ddb/src/main/docs/aws-ddb-component.adoc
+++ b/components/camel-aws-ddb/src/main/docs/aws-ddb-component.adoc
@@ -26,7 +26,7 @@ You can append query options to the URI in the following format,
 
 
 // component options: START
-The AWS DynamoDB component supports 6 options, which are listed below.
+The AWS DynamoDB component supports 5 options, which are listed below.
 
 
 
@@ -37,7 +37,6 @@ The AWS DynamoDB component supports 6 options, which are listed below.
 | *accessKey* (producer) | Amazon AWS Access Key |  | String
 | *secretKey* (producer) | Amazon AWS Secret Key |  | String
 | *region* (producer) | The region in which DDB client needs to work |  | String
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -103,7 +102,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 19 options, which are listed below.
+The component supports 18 options, which are listed below.
 
 
 
@@ -127,7 +126,6 @@ The component supports 19 options, which are listed below.
 | *camel.component.aws-ddb.configuration.write-capacity* | The provisioned throughput to reserved for writing resources to your table |  | Long
 | *camel.component.aws-ddb.enabled* | Whether to enable auto configuration of the aws-ddb component. This is enabled by default. |  | Boolean
 | *camel.component.aws-ddb.region* | The region in which DDB client needs to work |  | String
-| *camel.component.aws-ddb.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 | *camel.component.aws-ddb.secret-key* | Amazon AWS Secret Key |  | String
 |===
 // spring-boot-auto-configure options: END
diff --git a/components/camel-aws-ddb/src/main/docs/aws-ddbstream-component.adoc b/components/camel-aws-ddb/src/main/docs/aws-ddbstream-component.adoc
index 4681b9f..0ca47cc 100644
--- a/components/camel-aws-ddb/src/main/docs/aws-ddbstream-component.adoc
+++ b/components/camel-aws-ddb/src/main/docs/aws-ddbstream-component.adoc
@@ -27,7 +27,7 @@ The stream needs to be created prior to it being used. +
 
 
 // component options: START
-The AWS DynamoDB Streams component supports 6 options, which are listed below.
+The AWS DynamoDB Streams component supports 5 options, which are listed below.
 
 
 
@@ -38,7 +38,6 @@ The AWS DynamoDB Streams component supports 6 options, which are listed below.
 | *accessKey* (consumer) | Amazon AWS Access Key |  | String
 | *secretKey* (consumer) | Amazon AWS Secret Key |  | String
 | *region* (consumer) | Amazon AWS Region |  | String
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -120,7 +119,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 16 options, which are listed below.
+The component supports 15 options, which are listed below.
 
 
 
@@ -141,7 +140,6 @@ The component supports 16 options, which are listed below.
 | *camel.component.aws-ddbstream.configuration.table-name* | Name of the dynamodb table |  | String
 | *camel.component.aws-ddbstream.enabled* | Whether to enable auto configuration of the aws-ddbstream component. This is enabled by default. |  | Boolean
 | *camel.component.aws-ddbstream.region* | Amazon AWS Region |  | String
-| *camel.component.aws-ddbstream.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 | *camel.component.aws-ddbstream.secret-key* | Amazon AWS Secret Key |  | String
 |===
 // spring-boot-auto-configure options: END
diff --git a/components/camel-aws-ec2/src/main/docs/aws-ec2-component.adoc b/components/camel-aws-ec2/src/main/docs/aws-ec2-component.adoc
index 9767ffa..d3299b6 100644
--- a/components/camel-aws-ec2/src/main/docs/aws-ec2-component.adoc
+++ b/components/camel-aws-ec2/src/main/docs/aws-ec2-component.adoc
@@ -26,7 +26,7 @@ You can append query options to the URI in the following format,
 
 
 // component options: START
-The AWS EC2 component supports 6 options, which are listed below.
+The AWS EC2 component supports 5 options, which are listed below.
 
 
 
@@ -37,7 +37,6 @@ The AWS EC2 component supports 6 options, which are listed below.
 | *region* (producer) | The region in which EC2 client needs to work |  | String
 | *accessKey* (producer) | Amazon AWS Access Key |  | String
 | *secretKey* (producer) | Amazon AWS Secret Key |  | String
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -98,7 +97,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 13 options, which are listed below.
+The component supports 12 options, which are listed below.
 
 
 
@@ -116,7 +115,6 @@ The component supports 13 options, which are listed below.
 | *camel.component.aws-ec2.configuration.secret-key* | Amazon AWS Secret Key |  | String
 | *camel.component.aws-ec2.enabled* | Whether to enable auto configuration of the aws-ec2 component. This is enabled by default. |  | Boolean
 | *camel.component.aws-ec2.region* | The region in which EC2 client needs to work |  | String
-| *camel.component.aws-ec2.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 | *camel.component.aws-ec2.secret-key* | Amazon AWS Secret Key |  | String
 |===
 // spring-boot-auto-configure options: END
diff --git a/components/camel-aws-ecs/src/main/docs/aws-ecs-component.adoc b/components/camel-aws-ecs/src/main/docs/aws-ecs-component.adoc
index 77183ff..0332dcc 100644
--- a/components/camel-aws-ecs/src/main/docs/aws-ecs-component.adoc
+++ b/components/camel-aws-ecs/src/main/docs/aws-ecs-component.adoc
@@ -26,7 +26,7 @@ You can append query options to the URI in the following format,
 
 
 // component options: START
-The AWS ECS component supports 6 options, which are listed below.
+The AWS ECS component supports 5 options, which are listed below.
 
 
 
@@ -37,7 +37,6 @@ The AWS ECS component supports 6 options, which are listed below.
 | *accessKey* (producer) | Amazon AWS Access Key |  | String
 | *secretKey* (producer) | Amazon AWS Secret Key |  | String
 | *region* (producer) | The region in which ECS client needs to work |  | String
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -98,7 +97,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 13 options, which are listed below.
+The component supports 12 options, which are listed below.
 
 
 
@@ -116,7 +115,6 @@ The component supports 13 options, which are listed below.
 | *camel.component.aws-ecs.configuration.secret-key* | Amazon AWS Secret Key |  | String
 | *camel.component.aws-ecs.enabled* | Whether to enable auto configuration of the aws-ecs component. This is enabled by default. |  | Boolean
 | *camel.component.aws-ecs.region* | The region in which ECS client needs to work |  | String
-| *camel.component.aws-ecs.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 | *camel.component.aws-ecs.secret-key* | Amazon AWS Secret Key |  | String
 |===
 // spring-boot-auto-configure options: END
diff --git a/components/camel-aws-eks/src/main/docs/aws-eks-component.adoc b/components/camel-aws-eks/src/main/docs/aws-eks-component.adoc
index 301d948..4068848 100644
--- a/components/camel-aws-eks/src/main/docs/aws-eks-component.adoc
+++ b/components/camel-aws-eks/src/main/docs/aws-eks-component.adoc
@@ -26,7 +26,7 @@ You can append query options to the URI in the following format,
 
 
 // component options: START
-The AWS EKS component supports 6 options, which are listed below.
+The AWS EKS component supports 5 options, which are listed below.
 
 
 
@@ -37,7 +37,6 @@ The AWS EKS component supports 6 options, which are listed below.
 | *accessKey* (producer) | Amazon AWS Access Key |  | String
 | *secretKey* (producer) | Amazon AWS Secret Key |  | String
 | *region* (producer) | The region in which EKS client needs to work |  | String
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -98,7 +97,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 13 options, which are listed below.
+The component supports 12 options, which are listed below.
 
 
 
@@ -116,7 +115,6 @@ The component supports 13 options, which are listed below.
 | *camel.component.aws-eks.configuration.secret-key* | Amazon AWS Secret Key |  | String
 | *camel.component.aws-eks.enabled* | Whether to enable auto configuration of the aws-eks component. This is enabled by default. |  | Boolean
 | *camel.component.aws-eks.region* | The region in which EKS client needs to work |  | String
-| *camel.component.aws-eks.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 | *camel.component.aws-eks.secret-key* | Amazon AWS Secret Key |  | String
 |===
 // spring-boot-auto-configure options: END
diff --git a/components/camel-aws-iam/src/main/docs/aws-iam-component.adoc b/components/camel-aws-iam/src/main/docs/aws-iam-component.adoc
index 44b2559..bef68ad 100644
--- a/components/camel-aws-iam/src/main/docs/aws-iam-component.adoc
+++ b/components/camel-aws-iam/src/main/docs/aws-iam-component.adoc
@@ -26,7 +26,7 @@ You can append query options to the URI in the following format,
 
 
 // component options: START
-The AWS IAM component supports 6 options, which are listed below.
+The AWS IAM component supports 5 options, which are listed below.
 
 
 
@@ -37,7 +37,6 @@ The AWS IAM component supports 6 options, which are listed below.
 | *accessKey* (producer) | Amazon AWS Access Key |  | String
 | *secretKey* (producer) | Amazon AWS Secret Key |  | String
 | *region* (producer) | The region in which IAM client needs to work |  | String
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -98,7 +97,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 13 options, which are listed below.
+The component supports 12 options, which are listed below.
 
 
 
@@ -116,7 +115,6 @@ The component supports 13 options, which are listed below.
 | *camel.component.aws-iam.configuration.secret-key* | Amazon AWS Secret Key |  | String
 | *camel.component.aws-iam.enabled* | Whether to enable auto configuration of the aws-iam component. This is enabled by default. |  | Boolean
 | *camel.component.aws-iam.region* | The region in which IAM client needs to work |  | String
-| *camel.component.aws-iam.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 | *camel.component.aws-iam.secret-key* | Amazon AWS Secret Key |  | String
 |===
 // spring-boot-auto-configure options: END
diff --git a/components/camel-aws-kinesis/src/main/docs/aws-kinesis-component.adoc b/components/camel-aws-kinesis/src/main/docs/aws-kinesis-component.adoc
index 7649f40..3aaa94a 100644
--- a/components/camel-aws-kinesis/src/main/docs/aws-kinesis-component.adoc
+++ b/components/camel-aws-kinesis/src/main/docs/aws-kinesis-component.adoc
@@ -27,7 +27,7 @@ The stream needs to be created prior to it being used. +
 
 
 // component options: START
-The AWS Kinesis component supports 6 options, which are listed below.
+The AWS Kinesis component supports 5 options, which are listed below.
 
 
 
@@ -38,7 +38,6 @@ The AWS Kinesis component supports 6 options, which are listed below.
 | *accessKey* (common) | Amazon AWS Access Key |  | String
 | *secretKey* (common) | Amazon AWS Secret Key |  | String
 | *region* (common) | Amazon AWS Region |  | String
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -124,7 +123,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 18 options, which are listed below.
+The component supports 17 options, which are listed below.
 
 
 
@@ -147,7 +146,6 @@ The component supports 18 options, which are listed below.
 | *camel.component.aws-kinesis.configuration.stream-name* | Name of the stream |  | String
 | *camel.component.aws-kinesis.enabled* | Whether to enable auto configuration of the aws-kinesis component. This is enabled by default. |  | Boolean
 | *camel.component.aws-kinesis.region* | Amazon AWS Region |  | String
-| *camel.component.aws-kinesis.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 | *camel.component.aws-kinesis.secret-key* | Amazon AWS Secret Key |  | String
 |===
 // spring-boot-auto-configure options: END
diff --git a/components/camel-aws-kinesis/src/main/docs/aws-kinesis-firehose-component.adoc b/components/camel-aws-kinesis/src/main/docs/aws-kinesis-firehose-component.adoc
index f81a181..8e417f4 100644
--- a/components/camel-aws-kinesis/src/main/docs/aws-kinesis-firehose-component.adoc
+++ b/components/camel-aws-kinesis/src/main/docs/aws-kinesis-firehose-component.adoc
@@ -26,7 +26,7 @@ The stream needs to be created prior to it being used. +
 
 
 // component options: START
-The AWS Kinesis Firehose component supports 6 options, which are listed below.
+The AWS Kinesis Firehose component supports 5 options, which are listed below.
 
 
 
@@ -37,7 +37,6 @@ The AWS Kinesis Firehose component supports 6 options, which are listed below.
 | *accessKey* (producer) | Amazon AWS Access Key |  | String
 | *secretKey* (producer) | Amazon AWS Secret Key |  | String
 | *region* (producer) | Amazon AWS Region |  | String
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -100,7 +99,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 13 options, which are listed below.
+The component supports 12 options, which are listed below.
 
 
 
@@ -118,7 +117,6 @@ The component supports 13 options, which are listed below.
 | *camel.component.aws-kinesis-firehose.configuration.stream-name* | Name of the stream |  | String
 | *camel.component.aws-kinesis-firehose.enabled* | Whether to enable auto configuration of the aws-kinesis-firehose component. This is enabled by default. |  | Boolean
 | *camel.component.aws-kinesis-firehose.region* | Amazon AWS Region |  | String
-| *camel.component.aws-kinesis-firehose.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 | *camel.component.aws-kinesis-firehose.secret-key* | Amazon AWS Secret Key |  | String
 |===
 // spring-boot-auto-configure options: END
diff --git a/components/camel-aws-kms/src/main/docs/aws-kms-component.adoc b/components/camel-aws-kms/src/main/docs/aws-kms-component.adoc
index de8cf21..b38defb 100644
--- a/components/camel-aws-kms/src/main/docs/aws-kms-component.adoc
+++ b/components/camel-aws-kms/src/main/docs/aws-kms-component.adoc
@@ -26,7 +26,7 @@ You can append query options to the URI in the following format,
 
 
 // component options: START
-The AWS KMS component supports 6 options, which are listed below.
+The AWS KMS component supports 5 options, which are listed below.
 
 
 
@@ -37,7 +37,6 @@ The AWS KMS component supports 6 options, which are listed below.
 | *accessKey* (producer) | Amazon AWS Access Key |  | String
 | *secretKey* (producer) | Amazon AWS Secret Key |  | String
 | *region* (producer) | The region in which KMS client needs to work |  | String
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -98,7 +97,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 13 options, which are listed below.
+The component supports 12 options, which are listed below.
 
 
 
@@ -116,7 +115,6 @@ The component supports 13 options, which are listed below.
 | *camel.component.aws-kms.configuration.secret-key* | Amazon AWS Secret Key |  | String
 | *camel.component.aws-kms.enabled* | Whether to enable auto configuration of the aws-kms component. This is enabled by default. |  | Boolean
 | *camel.component.aws-kms.region* | The region in which KMS client needs to work |  | String
-| *camel.component.aws-kms.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 | *camel.component.aws-kms.secret-key* | Amazon AWS Secret Key |  | String
 |===
 // spring-boot-auto-configure options: END
diff --git a/components/camel-aws-lambda/src/main/docs/aws-lambda-component.adoc b/components/camel-aws-lambda/src/main/docs/aws-lambda-component.adoc
index 741b4b8..842c1af 100644
--- a/components/camel-aws-lambda/src/main/docs/aws-lambda-component.adoc
+++ b/components/camel-aws-lambda/src/main/docs/aws-lambda-component.adoc
@@ -32,7 +32,7 @@ You can append query options to the URI in the following format,
 
 
 // component options: START
-The AWS Lambda component supports 6 options, which are listed below.
+The AWS Lambda component supports 5 options, which are listed below.
 
 
 
@@ -43,7 +43,6 @@ The AWS Lambda component supports 6 options, which are listed below.
 | *accessKey* (producer) | Amazon AWS Access Key |  | String
 | *secretKey* (producer) | Amazon AWS Secret Key |  | String
 | *region* (producer) | Amazon AWS Region |  | String
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -104,7 +103,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 14 options, which are listed below.
+The component supports 13 options, which are listed below.
 
 
 
@@ -123,7 +122,6 @@ The component supports 14 options, which are listed below.
 | *camel.component.aws-lambda.configuration.secret-key* | Amazon AWS Secret Key |  | String
 | *camel.component.aws-lambda.enabled* | Whether to enable auto configuration of the aws-lambda component. This is enabled by default. |  | Boolean
 | *camel.component.aws-lambda.region* | Amazon AWS Region |  | String
-| *camel.component.aws-lambda.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 | *camel.component.aws-lambda.secret-key* | Amazon AWS Secret Key |  | String
 |===
 // spring-boot-auto-configure options: END
diff --git a/components/camel-aws-mq/src/main/docs/aws-mq-component.adoc b/components/camel-aws-mq/src/main/docs/aws-mq-component.adoc
index 629e2bd..197b0c1 100644
--- a/components/camel-aws-mq/src/main/docs/aws-mq-component.adoc
+++ b/components/camel-aws-mq/src/main/docs/aws-mq-component.adoc
@@ -26,7 +26,7 @@ You can append query options to the URI in the following format,
 
 
 // component options: START
-The AWS MQ component supports 6 options, which are listed below.
+The AWS MQ component supports 5 options, which are listed below.
 
 
 
@@ -37,7 +37,6 @@ The AWS MQ component supports 6 options, which are listed below.
 | *accessKey* (producer) | Amazon AWS Access Key |  | String
 | *secretKey* (producer) | Amazon AWS Secret Key |  | String
 | *region* (producer) | The region in which MQ client needs to work |  | String
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -98,7 +97,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 13 options, which are listed below.
+The component supports 12 options, which are listed below.
 
 
 
@@ -116,7 +115,6 @@ The component supports 13 options, which are listed below.
 | *camel.component.aws-mq.configuration.secret-key* | Amazon AWS Secret Key |  | String
 | *camel.component.aws-mq.enabled* | Whether to enable auto configuration of the aws-mq component. This is enabled by default. |  | Boolean
 | *camel.component.aws-mq.region* | The region in which MQ client needs to work |  | String
-| *camel.component.aws-mq.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 | *camel.component.aws-mq.secret-key* | Amazon AWS Secret Key |  | String
 |===
 // spring-boot-auto-configure options: END
diff --git a/components/camel-aws-msk/src/main/docs/aws-msk-component.adoc b/components/camel-aws-msk/src/main/docs/aws-msk-component.adoc
index 229d5be..452fd97 100644
--- a/components/camel-aws-msk/src/main/docs/aws-msk-component.adoc
+++ b/components/camel-aws-msk/src/main/docs/aws-msk-component.adoc
@@ -26,7 +26,7 @@ You can append query options to the URI in the following format,
 
 
 // component options: START
-The AWS MSK component supports 6 options, which are listed below.
+The AWS MSK component supports 5 options, which are listed below.
 
 
 
@@ -37,7 +37,6 @@ The AWS MSK component supports 6 options, which are listed below.
 | *accessKey* (producer) | Amazon AWS Access Key |  | String
 | *secretKey* (producer) | Amazon AWS Secret Key |  | String
 | *region* (producer) | The region in which MSK client needs to work |  | String
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -99,7 +98,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 13 options, which are listed below.
+The component supports 12 options, which are listed below.
 
 
 
@@ -117,7 +116,6 @@ The component supports 13 options, which are listed below.
 | *camel.component.aws-msk.configuration.secret-key* | Amazon AWS Secret Key |  | String
 | *camel.component.aws-msk.enabled* | Whether to enable auto configuration of the aws-msk component. This is enabled by default. |  | Boolean
 | *camel.component.aws-msk.region* | The region in which MSK client needs to work |  | String
-| *camel.component.aws-msk.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 | *camel.component.aws-msk.secret-key* | Amazon AWS Secret Key |  | String
 |===
 // spring-boot-auto-configure options: END
diff --git a/components/camel-aws-s3/src/main/docs/aws-s3-component.adoc b/components/camel-aws-s3/src/main/docs/aws-s3-component.adoc
index e742444..26441ca 100644
--- a/components/camel-aws-s3/src/main/docs/aws-s3-component.adoc
+++ b/components/camel-aws-s3/src/main/docs/aws-s3-component.adoc
@@ -36,7 +36,7 @@ from("aws-s3:helloBucket?accessKey=yourAccessKey&secretKey=yourSecretKey&prefix=
 
 
 // component options: START
-The AWS S3 Storage Service component supports 6 options, which are listed below.
+The AWS S3 Storage Service component supports 5 options, which are listed below.
 
 
 
@@ -47,7 +47,6 @@ The AWS S3 Storage Service component supports 6 options, which are listed below.
 | *accessKey* (common) | Amazon AWS Access Key |  | String
 | *secretKey* (common) | Amazon AWS Secret Key |  | String
 | *region* (common) | The region where the bucket is located. This option is used in the com.amazonaws.services.s3.model.CreateBucketRequest. |  | String
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -160,7 +159,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 39 options, which are listed below.
+The component supports 38 options, which are listed below.
 
 
 
@@ -204,7 +203,6 @@ The component supports 39 options, which are listed below.
 | *camel.component.aws-s3.configuration.use-i-a-m-credentials* | Set whether the S3 client should expect to load credentials on an EC2 instance or to expect static credentials to be passed in. | false | Boolean
 | *camel.component.aws-s3.enabled* | Whether to enable auto configuration of the aws-s3 component. This is enabled by default. |  | Boolean
 | *camel.component.aws-s3.region* | The region where the bucket is located. This option is used in the com.amazonaws.services.s3.model.CreateBucketRequest. |  | String
-| *camel.component.aws-s3.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 | *camel.component.aws-s3.secret-key* | Amazon AWS Secret Key |  | String
 |===
 // spring-boot-auto-configure options: END
diff --git a/components/camel-aws-sdb/src/main/docs/aws-sdb-component.adoc b/components/camel-aws-sdb/src/main/docs/aws-sdb-component.adoc
index 2d28659..0ae6e6a 100644
--- a/components/camel-aws-sdb/src/main/docs/aws-sdb-component.adoc
+++ b/components/camel-aws-sdb/src/main/docs/aws-sdb-component.adoc
@@ -26,14 +26,13 @@ You can append query options to the URI in the following format,
 
 
 // component options: START
-The AWS SimpleDB component supports 2 options, which are listed below.
+The AWS SimpleDB component supports 1 options, which are listed below.
 
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
 |===
 | Name | Description | Default | Type
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -96,7 +95,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 3 options, which are listed below.
+The component supports 2 options, which are listed below.
 
 
 
@@ -105,7 +104,6 @@ The component supports 3 options, which are listed below.
 | Name | Description | Default | Type
 | *camel.component.aws-sdb.basic-property-binding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | Boolean
 | *camel.component.aws-sdb.enabled* | Whether to enable auto configuration of the aws-sdb component. This is enabled by default. |  | Boolean
-| *camel.component.aws-sdb.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
 // spring-boot-auto-configure options: END
 
diff --git a/components/camel-aws-ses/src/main/docs/aws-ses-component.adoc b/components/camel-aws-ses/src/main/docs/aws-ses-component.adoc
index 1e4cd5d..1143f02 100644
--- a/components/camel-aws-ses/src/main/docs/aws-ses-component.adoc
+++ b/components/camel-aws-ses/src/main/docs/aws-ses-component.adoc
@@ -26,7 +26,7 @@ You can append query options to the URI in the following format,
 
 
 // component options: START
-The AWS Simple Email Service component supports 6 options, which are listed below.
+The AWS Simple Email Service component supports 5 options, which are listed below.
 
 
 
@@ -37,7 +37,6 @@ The AWS Simple Email Service component supports 6 options, which are listed belo
 | *accessKey* (producer) | Amazon AWS Access Key |  | String
 | *secretKey* (producer) | Amazon AWS Secret Key |  | String
 | *region* (producer) | The region in which SES client needs to work |  | String
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -101,7 +100,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 17 options, which are listed below.
+The component supports 16 options, which are listed below.
 
 
 
@@ -123,7 +122,6 @@ The component supports 17 options, which are listed below.
 | *camel.component.aws-ses.configuration.to* | List of destination email address. Can be overriden with 'CamelAwsSesTo' header. |  | List
 | *camel.component.aws-ses.enabled* | Whether to enable auto configuration of the aws-ses component. This is enabled by default. |  | Boolean
 | *camel.component.aws-ses.region* | The region in which SES client needs to work |  | String
-| *camel.component.aws-ses.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 | *camel.component.aws-ses.secret-key* | Amazon AWS Secret Key |  | String
 |===
 // spring-boot-auto-configure options: END
diff --git a/components/camel-aws-sns/src/main/docs/aws-sns-component.adoc b/components/camel-aws-sns/src/main/docs/aws-sns-component.adoc
index 479037c..bd609e9 100644
--- a/components/camel-aws-sns/src/main/docs/aws-sns-component.adoc
+++ b/components/camel-aws-sns/src/main/docs/aws-sns-component.adoc
@@ -29,7 +29,7 @@ The topic will be created if they don't already exists. +
 
 
 // component options: START
-The AWS Simple Notification System component supports 6 options, which are listed below.
+The AWS Simple Notification System component supports 5 options, which are listed below.
 
 
 
@@ -40,7 +40,6 @@ The AWS Simple Notification System component supports 6 options, which are liste
 | *accessKey* (producer) | Amazon AWS Access Key |  | String
 | *secretKey* (producer) | Amazon AWS Secret Key |  | String
 | *region* (producer) | The region in which SNS client needs to work |  | String
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -111,7 +110,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 23 options, which are listed below.
+The component supports 22 options, which are listed below.
 
 
 
@@ -139,7 +138,6 @@ The component supports 23 options, which are listed below.
 | *camel.component.aws-sns.configuration.topic-name* | The name of the topic |  | String
 | *camel.component.aws-sns.enabled* | Whether to enable auto configuration of the aws-sns component. This is enabled by default. |  | Boolean
 | *camel.component.aws-sns.region* | The region in which SNS client needs to work |  | String
-| *camel.component.aws-sns.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 | *camel.component.aws-sns.secret-key* | Amazon AWS Secret Key |  | String
 |===
 // spring-boot-auto-configure options: END
diff --git a/components/camel-aws-sqs/src/main/docs/aws-sqs-component.adoc b/components/camel-aws-sqs/src/main/docs/aws-sqs-component.adoc
index 8393c61..baa872e 100644
--- a/components/camel-aws-sqs/src/main/docs/aws-sqs-component.adoc
+++ b/components/camel-aws-sqs/src/main/docs/aws-sqs-component.adoc
@@ -27,7 +27,7 @@ The queue will be created if they don't already exists. +
 
 
 // component options: START
-The AWS Simple Queue Service component supports 6 options, which are listed below.
+The AWS Simple Queue Service component supports 5 options, which are listed below.
 
 
 
@@ -38,7 +38,6 @@ The AWS Simple Queue Service component supports 6 options, which are listed belo
 | *accessKey* (common) | Amazon AWS Access Key |  | String
 | *secretKey* (common) | Amazon AWS Secret Key |  | String
 | *region* (common) | Specify the queue region which could be used with queueOwnerAWSAccountId to build the service URL. |  | String
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -148,7 +147,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 39 options, which are listed below.
+The component supports 38 options, which are listed below.
 
 
 
@@ -192,7 +191,6 @@ The component supports 39 options, which are listed below.
 | *camel.component.aws-sqs.configuration.wait-time-seconds* | Duration in seconds (0 to 20) that the ReceiveMessage action call will wait until a message is in the queue to include in the response. |  | Integer
 | *camel.component.aws-sqs.enabled* | Whether to enable auto configuration of the aws-sqs component. This is enabled by default. |  | Boolean
 | *camel.component.aws-sqs.region* | Specify the queue region which could be used with queueOwnerAWSAccountId to build the service URL. |  | String
-| *camel.component.aws-sqs.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 | *camel.component.aws-sqs.secret-key* | Amazon AWS Secret Key |  | String
 |===
 // spring-boot-auto-configure options: END
diff --git a/components/camel-aws-swf/src/main/docs/aws-swf-component.adoc b/components/camel-aws-swf/src/main/docs/aws-swf-component.adoc
index 7edb1e2..1e87516 100644
--- a/components/camel-aws-swf/src/main/docs/aws-swf-component.adoc
+++ b/components/camel-aws-swf/src/main/docs/aws-swf-component.adoc
@@ -26,7 +26,7 @@ You can append query options to the URI in the following format,
 
 
 // component options: START
-The AWS Simple Workflow component supports 6 options, which are listed below.
+The AWS Simple Workflow component supports 5 options, which are listed below.
 
 
 
@@ -37,7 +37,6 @@ The AWS Simple Workflow component supports 6 options, which are listed below.
 | *accessKey* (common) | Amazon AWS Access Key. |  | String
 | *secretKey* (common) | Amazon AWS Secret Key. |  | String
 | *region* (common) | Amazon AWS Region. |  | String
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -120,7 +119,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 33 options, which are listed below.
+The component supports 32 options, which are listed below.
 
 
 
@@ -158,7 +157,6 @@ The component supports 33 options, which are listed below.
 | *camel.component.aws-swf.configuration.workflow-type-registration-options* | Workflow registration options |  | WorkflowType RegistrationOptions
 | *camel.component.aws-swf.enabled* | Whether to enable auto configuration of the aws-swf component. This is enabled by default. |  | Boolean
 | *camel.component.aws-swf.region* | Amazon AWS Region. |  | String
-| *camel.component.aws-swf.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 | *camel.component.aws-swf.secret-key* | Amazon AWS Secret Key. |  | String
 |===
 // spring-boot-auto-configure options: END
diff --git a/components/camel-azure/src/main/docs/azure-blob-component.adoc b/components/camel-azure/src/main/docs/azure-blob-component.adoc
index cff2e2a..5402be2 100644
--- a/components/camel-azure/src/main/docs/azure-blob-component.adoc
+++ b/components/camel-azure/src/main/docs/azure-blob-component.adoc
@@ -35,7 +35,7 @@ to("file://blobdirectory");
 
 
 // component options: START
-The Azure Storage Blob Service component supports 3 options, which are listed below.
+The Azure Storage Blob Service component supports 2 options, which are listed below.
 
 
 
@@ -43,7 +43,6 @@ The Azure Storage Blob Service component supports 3 options, which are listed be
 |===
 | Name | Description | Default | Type
 | *configuration* (advanced) | The Blob Service configuration |  | BlobService Configuration
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -122,7 +121,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 21 options, which are listed below.
+The component supports 20 options, which are listed below.
 
 
 
@@ -149,7 +148,6 @@ The component supports 21 options, which are listed below.
 | *camel.component.azure-blob.configuration.stream-write-size* | Set the size of the buffer for writing block and page blocks |  | Integer
 | *camel.component.azure-blob.configuration.use-flat-listing* | Specify if the flat or hierarchical blob listing should be used | true | Boolean
 | *camel.component.azure-blob.enabled* | Enable azure-blob component | true | Boolean
-| *camel.component.azure-blob.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
 // spring-boot-auto-configure options: END
 
diff --git a/components/camel-azure/src/main/docs/azure-queue-component.adoc b/components/camel-azure/src/main/docs/azure-queue-component.adoc
index 630da10..9257656 100644
--- a/components/camel-azure/src/main/docs/azure-queue-component.adoc
+++ b/components/camel-azure/src/main/docs/azure-queue-component.adoc
@@ -35,7 +35,7 @@ to("file://queuedirectory");
 
 
 // component options: START
-The Azure Storage Queue Service component supports 3 options, which are listed below.
+The Azure Storage Queue Service component supports 2 options, which are listed below.
 
 
 
@@ -43,7 +43,6 @@ The Azure Storage Queue Service component supports 3 options, which are listed b
 |===
 | Name | Description | Default | Type
 | *configuration* (advanced) | The Queue Service configuration |  | QueueService Configuration
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -113,7 +112,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 11 options, which are listed below.
+The component supports 10 options, which are listed below.
 
 
 
@@ -130,7 +129,6 @@ The component supports 11 options, which are listed below.
 | *camel.component.azure-queue.configuration.queue-name* | The queue resource name |  | String
 | *camel.component.azure-queue.configuration.queue-prefix* | Set a prefix which can be used for listing the queues |  | String
 | *camel.component.azure-queue.enabled* | Enable azure-queue component | true | Boolean
-| *camel.component.azure-queue.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
 // spring-boot-auto-configure options: END
 
diff --git a/components/camel-bean-validator/src/main/docs/bean-validator-component.adoc b/components/camel-bean-validator/src/main/docs/bean-validator-component.adoc
index 1a482ae..271459e 100644
--- a/components/camel-bean-validator/src/main/docs/bean-validator-component.adoc
+++ b/components/camel-bean-validator/src/main/docs/bean-validator-component.adoc
@@ -45,14 +45,13 @@ Where *label* is an arbitrary text value describing the endpoint. +
 
 
 // component options: START
-The Bean Validator component supports 2 options, which are listed below.
+The Bean Validator component supports 1 options, which are listed below.
 
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
 |===
 | Name | Description | Default | Type
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -110,7 +109,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 3 options, which are listed below.
+The component supports 2 options, which are listed below.
 
 
 
@@ -119,7 +118,6 @@ The component supports 3 options, which are listed below.
 | Name | Description | Default | Type
 | *camel.component.bean-validator.basic-property-binding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | Boolean
 | *camel.component.bean-validator.enabled* | Enable bean-validator component | true | Boolean
-| *camel.component.bean-validator.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
 // spring-boot-auto-configure options: END
 
diff --git a/components/camel-bean/src/main/docs/bean-component.adoc b/components/camel-bean/src/main/docs/bean-component.adoc
index 6246a4b..dd82b08 100644
--- a/components/camel-bean/src/main/docs/bean-component.adoc
+++ b/components/camel-bean/src/main/docs/bean-component.adoc
@@ -19,7 +19,7 @@ the Registry
 
 
 // component options: START
-The Bean component supports 3 options, which are listed below.
+The Bean component supports 2 options, which are listed below.
 
 
 
@@ -27,7 +27,6 @@ The Bean component supports 3 options, which are listed below.
 |===
 | Name | Description | Default | Type
 | *cache* (advanced) | 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. |  | Boolean
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
diff --git a/components/camel-bean/src/main/docs/class-component.adoc b/components/camel-bean/src/main/docs/class-component.adoc
index d51336f..9e4eb43 100644
--- a/components/camel-bean/src/main/docs/class-component.adoc
+++ b/components/camel-bean/src/main/docs/class-component.adoc
@@ -22,7 +22,7 @@ bean.
 
 
 // component options: START
-The Class component supports 3 options, which are listed below.
+The Class component supports 2 options, which are listed below.
 
 
 
@@ -30,7 +30,6 @@ The Class component supports 3 options, which are listed below.
 |===
 | Name | Description | Default | Type
 | *cache* (advanced) | 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. |  | Boolean
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
diff --git a/components/camel-beanstalk/src/main/docs/beanstalk-component.adoc b/components/camel-beanstalk/src/main/docs/beanstalk-component.adoc
index 1b8b746..e8ee22d 100644
--- a/components/camel-beanstalk/src/main/docs/beanstalk-component.adoc
+++ b/components/camel-beanstalk/src/main/docs/beanstalk-component.adoc
@@ -57,7 +57,7 @@ into Beanstalk.
 
 
 // component options: START
-The Beanstalk component supports 3 options, which are listed below.
+The Beanstalk component supports 2 options, which are listed below.
 
 
 
@@ -65,7 +65,6 @@ The Beanstalk component supports 3 options, which are listed below.
 |===
 | Name | Description | Default | Type
 | *connectionSettings Factory* (common) | Custom ConnectionSettingsFactory. Specify which ConnectionSettingsFactory to use to make connections to Beanstalkd. Especially useful for unit testing without beanstalkd daemon (you can mock ConnectionSettings) |  | ConnectionSettings Factory
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -144,7 +143,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 4 options, which are listed below.
+The component supports 3 options, which are listed below.
 
 
 
@@ -154,7 +153,6 @@ The component supports 4 options, which are listed below.
 | *camel.component.beanstalk.basic-property-binding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | Boolean
 | *camel.component.beanstalk.connection-settings-factory* | Custom ConnectionSettingsFactory. Specify which ConnectionSettingsFactory to use to make connections to Beanstalkd. Especially useful for unit testing without beanstalkd daemon (you can mock ConnectionSettings). The option is a org.apache.camel.component.beanstalk.ConnectionSettingsFactory type. |  | String
 | *camel.component.beanstalk.enabled* | Enable beanstalk component | true | Boolean
-| *camel.component.beanstalk.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
 // spring-boot-auto-configure options: END
 
diff --git a/components/camel-bonita/src/main/docs/bonita-component.adoc b/components/camel-bonita/src/main/docs/bonita-component.adoc
index 6d0177f..1ca88a0 100644
--- a/components/camel-bonita/src/main/docs/bonita-component.adoc
+++ b/components/camel-bonita/src/main/docs/bonita-component.adoc
@@ -17,14 +17,13 @@ Where *operation* is the specific action to perform on Bonita.
 == General Options
 
 // component options: START
-The Bonita component supports 2 options, which are listed below.
+The Bonita component supports 1 options, which are listed below.
 
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
 |===
 | Name | Description | Default | Type
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -83,7 +82,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 3 options, which are listed below.
+The component supports 2 options, which are listed below.
 
 
 
@@ -92,7 +91,6 @@ The component supports 3 options, which are listed below.
 | Name | Description | Default | Type
 | *camel.component.bonita.basic-property-binding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | Boolean
 | *camel.component.bonita.enabled* | Enable bonita component | true | Boolean
-| *camel.component.bonita.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
 // spring-boot-auto-configure options: END
 
diff --git a/components/camel-box/camel-box-component/src/main/docs/box-component.adoc b/components/camel-box/camel-box-component/src/main/docs/box-component.adoc
index a534da6..ea34258 100644
--- a/components/camel-box/camel-box-component/src/main/docs/box-component.adoc
+++ b/components/camel-box/camel-box-component/src/main/docs/box-component.adoc
@@ -48,7 +48,7 @@ The Box component supports three different types of authenticated connections.
 == Box Options
 
 // component options: START
-The Box component supports 3 options, which are listed below.
+The Box component supports 2 options, which are listed below.
 
 
 
@@ -56,7 +56,6 @@ The Box component supports 3 options, which are listed below.
 |===
 | Name | Description | Default | Type
 | *configuration* (common) | To use the shared configuration |  | BoxConfiguration
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -127,7 +126,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 20 options, which are listed below.
+The component supports 19 options, which are listed below.
 
 
 
@@ -153,7 +152,6 @@ The component supports 20 options, which are listed below.
 | *camel.component.box.configuration.user-name* | Box user name, MUST be provided |  | String
 | *camel.component.box.configuration.user-password* | Box user password, MUST be provided if authSecureStorage is not set, or returns null on first call |  | String
 | *camel.component.box.enabled* | Enable box component | true | Boolean
-| *camel.component.box.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
 // spring-boot-auto-configure options: END
 
diff --git a/components/camel-braintree/src/main/docs/braintree-component.adoc b/components/camel-braintree/src/main/docs/braintree-component.adoc
index 649d71c..2840d7c 100644
--- a/components/camel-braintree/src/main/docs/braintree-component.adoc
+++ b/components/camel-braintree/src/main/docs/braintree-component.adoc
@@ -36,7 +36,7 @@ for this component:
 
 
 // component options: START
-The Braintree component supports 3 options, which are listed below.
+The Braintree component supports 2 options, which are listed below.
 
 
 
@@ -44,7 +44,6 @@ The Braintree component supports 3 options, which are listed below.
 |===
 | Name | Description | Default | Type
 | *configuration* (common) | To use the shared configuration |  | BraintreeConfiguration
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -113,7 +112,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 15 options, which are listed below.
+The component supports 14 options, which are listed below.
 
 
 
@@ -134,7 +133,6 @@ The component supports 15 options, which are listed below.
 | *camel.component.braintree.configuration.proxy-port* | The proxy port |  | Integer
 | *camel.component.braintree.configuration.public-key* | The public key provided by Braintree. |  | String
 | *camel.component.braintree.enabled* | Enable braintree component | true | Boolean
-| *camel.component.braintree.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
 // spring-boot-auto-configure options: END
 
diff --git a/components/camel-browse/src/main/docs/browse-component.adoc b/components/camel-browse/src/main/docs/browse-component.adoc
index e773f0a..5f98e6a 100644
--- a/components/camel-browse/src/main/docs/browse-component.adoc
+++ b/components/camel-browse/src/main/docs/browse-component.adoc
@@ -22,14 +22,13 @@ Where *someName* can be any string to uniquely identify the endpoint.
 
 
 // component options: START
-The Browse component supports 2 options, which are listed below.
+The Browse component supports 1 options, which are listed below.
 
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
 |===
 | Name | Description | Default | Type
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -86,7 +85,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 3 options, which are listed below.
+The component supports 2 options, which are listed below.
 
 
 
@@ -95,7 +94,6 @@ The component supports 3 options, which are listed below.
 | Name | Description | Default | Type
 | *camel.component.browse.basic-property-binding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | Boolean
 | *camel.component.browse.enabled* | Whether to enable auto configuration of the browse component. This is enabled by default. |  | Boolean
-| *camel.component.browse.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
 // spring-boot-auto-configure options: END
 
diff --git a/components/camel-caffeine/src/main/docs/caffeine-cache-component.adoc b/components/camel-caffeine/src/main/docs/caffeine-cache-component.adoc
index b68b57d..6cceaa2 100644
--- a/components/camel-caffeine/src/main/docs/caffeine-cache-component.adoc
+++ b/components/camel-caffeine/src/main/docs/caffeine-cache-component.adoc
@@ -33,7 +33,7 @@ format, `?option=value&option=#beanRef&...`
 
 
 // component options: START
-The Caffeine Cache component supports 3 options, which are listed below.
+The Caffeine Cache component supports 2 options, which are listed below.
 
 
 
@@ -41,7 +41,6 @@ The Caffeine Cache component supports 3 options, which are listed below.
 |===
 | Name | Description | Default | Type
 | *configuration* (advanced) | Sets the global component configuration |  | CaffeineConfiguration
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -112,7 +111,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 18 options, which are listed below.
+The component supports 17 options, which are listed below.
 
 
 
@@ -136,7 +135,6 @@ The component supports 18 options, which are listed below.
 | *camel.component.caffeine-cache.configuration.stats-enabled* | To enable stats on the cache | false | Boolean
 | *camel.component.caffeine-cache.configuration.value-type* | The cache value type, default "java.lang.Object" |  | Class
 | *camel.component.caffeine-cache.enabled* | Whether to enable auto configuration of the caffeine-cache component. This is enabled by default. |  | Boolean
-| *camel.component.caffeine-cache.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
 // spring-boot-auto-configure options: END
 
diff --git a/components/camel-caffeine/src/main/docs/caffeine-loadcache-component.adoc b/components/camel-caffeine/src/main/docs/caffeine-loadcache-component.adoc
index 0bc6e0e..aea2ee3 100644
--- a/components/camel-caffeine/src/main/docs/caffeine-loadcache-component.adoc
+++ b/components/camel-caffeine/src/main/docs/caffeine-loadcache-component.adoc
@@ -33,7 +33,7 @@ format, `?option=value&option=#beanRef&...`
 
 
 // component options: START
-The Caffeine LoadCache component supports 3 options, which are listed below.
+The Caffeine LoadCache component supports 2 options, which are listed below.
 
 
 
@@ -41,7 +41,6 @@ The Caffeine LoadCache component supports 3 options, which are listed below.
 |===
 | Name | Description | Default | Type
 | *configuration* (advanced) | Sets the global component configuration |  | CaffeineConfiguration
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -112,7 +111,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 18 options, which are listed below.
+The component supports 17 options, which are listed below.
 
 
 
@@ -136,7 +135,6 @@ The component supports 18 options, which are listed below.
 | *camel.component.caffeine-loadcache.configuration.stats-enabled* | To enable stats on the cache | false | Boolean
 | *camel.component.caffeine-loadcache.configuration.value-type* | The cache value type, default "java.lang.Object" |  | Class
 | *camel.component.caffeine-loadcache.enabled* | Whether to enable auto configuration of the caffeine-loadcache component. This is enabled by default. |  | Boolean
-| *camel.component.caffeine-loadcache.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
 // spring-boot-auto-configure options: END
 
diff --git a/components/camel-cassandraql/src/main/docs/cql-component.adoc b/components/camel-cassandraql/src/main/docs/cql-component.adoc
index 7c844b1..cb3dfaf 100644
--- a/components/camel-cassandraql/src/main/docs/cql-component.adoc
+++ b/components/camel-cassandraql/src/main/docs/cql-component.adoc
@@ -55,14 +55,13 @@ your own Cluster instance and give it to the Camel endpoint.
 
 
 // component options: START
-The Cassandra CQL component supports 2 options, which are listed below.
+The Cassandra CQL component supports 1 options, which are listed below.
 
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
 |===
 | Name | Description | Default | Type
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -146,7 +145,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 3 options, which are listed below.
+The component supports 2 options, which are listed below.
 
 
 
@@ -155,7 +154,6 @@ The component supports 3 options, which are listed below.
 | Name | Description | Default | Type
 | *camel.component.cql.basic-property-binding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | Boolean
 | *camel.component.cql.enabled* | Enable cql component | true | Boolean
-| *camel.component.cql.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
 // spring-boot-auto-configure options: END
 
diff --git a/components/camel-chatscript/src/main/docs/chatscript-component.adoc b/components/camel-chatscript/src/main/docs/chatscript-component.adoc
index 8ab3187..47b4538 100644
--- a/components/camel-chatscript/src/main/docs/chatscript-component.adoc
+++ b/components/camel-chatscript/src/main/docs/chatscript-component.adoc
@@ -38,14 +38,13 @@ ChatScript:host:[port]/botName[?options]
 == Options
 
 // component options: START
-The ChatScript component supports 2 options, which are listed below.
+The ChatScript component supports 1 options, which are listed below.
 
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
 |===
 | Name | Description | Default | Type
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -101,7 +100,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 3 options, which are listed below.
+The component supports 2 options, which are listed below.
 
 
 
@@ -110,6 +109,5 @@ The component supports 3 options, which are listed below.
 | Name | Description | Default | Type
 | *camel.component.chatscript.basic-property-binding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | Boolean
 | *camel.component.chatscript.enabled* | Whether to enable auto configuration of the chatscript component. This is enabled by default. |  | Boolean
-| *camel.component.chatscript.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
 // spring-boot-auto-configure options: END
diff --git a/components/camel-chunk/src/main/docs/chunk-component.adoc b/components/camel-chunk/src/main/docs/chunk-component.adoc
index 2462062..04361f3 100644
--- a/components/camel-chunk/src/main/docs/chunk-component.adoc
+++ b/components/camel-chunk/src/main/docs/chunk-component.adoc
@@ -37,14 +37,13 @@ format, `?option=value&option=value&...`
 
 
 // component options: START
-The Chunk component supports 2 options, which are listed below.
+The Chunk component supports 1 options, which are listed below.
 
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
 |===
 | Name | Description | Default | Type
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -103,7 +102,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 3 options, which are listed below.
+The component supports 2 options, which are listed below.
 
 
 
@@ -112,7 +111,6 @@ The component supports 3 options, which are listed below.
 | Name | Description | Default | Type
 | *camel.component.chunk.basic-property-binding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | Boolean
 | *camel.component.chunk.enabled* | Enable chunk component | true | Boolean
-| *camel.component.chunk.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
 // spring-boot-auto-configure options: END
 
diff --git a/components/camel-cm-sms/src/main/docs/cm-sms-component.adoc b/components/camel-cm-sms/src/main/docs/cm-sms-component.adoc
index b44ea86..9245b8d 100644
--- a/components/camel-cm-sms/src/main/docs/cm-sms-component.adoc
+++ b/components/camel-cm-sms/src/main/docs/cm-sms-component.adoc
@@ -32,14 +32,13 @@ for this component:
 
 
 // component options: START
-The CM SMS Gateway component supports 2 options, which are listed below.
+The CM SMS Gateway component supports 1 options, which are listed below.
 
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
 |===
 | Name | Description | Default | Type
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -96,7 +95,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 3 options, which are listed below.
+The component supports 2 options, which are listed below.
 
 
 
@@ -105,7 +104,6 @@ The component supports 3 options, which are listed below.
 | Name | Description | Default | Type
 | *camel.component.cm-sms.basic-property-binding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | Boolean
 | *camel.component.cm-sms.enabled* | Enable cm-sms component | true | Boolean
-| *camel.component.cm-sms.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
 // spring-boot-auto-configure options: END
 
diff --git a/components/camel-cmis/src/main/docs/cmis-component.adoc b/components/camel-cmis/src/main/docs/cmis-component.adoc
index 652bf21..ebcc58e 100644
--- a/components/camel-cmis/src/main/docs/cmis-component.adoc
+++ b/components/camel-cmis/src/main/docs/cmis-component.adoc
@@ -22,7 +22,7 @@ You can append query options to the URI in the following format,
 
 
 // component options: START
-The CMIS component supports 3 options, which are listed below.
+The CMIS component supports 2 options, which are listed below.
 
 
 
@@ -30,7 +30,6 @@ The CMIS component supports 3 options, which are listed below.
 |===
 | Name | Description | Default | Type
 | *sessionFacadeFactory* (common) | To use a custom CMISSessionFacadeFactory to create the CMISSessionFacade instances |  | CMISSessionFacade Factory
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -95,7 +94,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 4 options, which are listed below.
+The component supports 3 options, which are listed below.
 
 
 
@@ -104,7 +103,6 @@ The component supports 4 options, which are listed below.
 | Name | Description | Default | Type
 | *camel.component.cmis.basic-property-binding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | Boolean
 | *camel.component.cmis.enabled* | Enable cmis component | true | Boolean
-| *camel.component.cmis.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 | *camel.component.cmis.session-facade-factory* | To use a custom CMISSessionFacadeFactory to create the CMISSessionFacade instances. The option is a org.apache.camel.component.cmis.CMISSessionFacadeFactory type. |  | String
 |===
 // spring-boot-auto-configure options: END
diff --git a/components/camel-coap/src/main/docs/coap-component.adoc b/components/camel-coap/src/main/docs/coap-component.adoc
index a0adcc3..f291c81 100644
--- a/components/camel-coap/src/main/docs/coap-component.adoc
+++ b/components/camel-coap/src/main/docs/coap-component.adoc
@@ -42,14 +42,13 @@ for this component:
 
 
 // component options: START
-The CoAP component supports 2 options, which are listed below.
+The CoAP component supports 1 options, which are listed below.
 
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
 |===
 | Name | Description | Default | Type
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -115,7 +114,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 3 options, which are listed below.
+The component supports 2 options, which are listed below.
 
 
 
@@ -124,7 +123,6 @@ The component supports 3 options, which are listed below.
 | Name | Description | Default | Type
 | *camel.component.coap.basic-property-binding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | Boolean
 | *camel.component.coap.enabled* | Enable coap component | true | Boolean
-| *camel.component.coap.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
 // spring-boot-auto-configure options: END
 
diff --git a/components/camel-cometd/src/main/docs/cometd-component.adoc b/components/camel-cometd/src/main/docs/cometd-component.adoc
index ac0ab07..1591aba 100644
--- a/components/camel-cometd/src/main/docs/cometd-component.adoc
+++ b/components/camel-cometd/src/main/docs/cometd-component.adoc
@@ -49,7 +49,7 @@ where `cometds:` represents an SSL configured endpoint.
 
 
 // component options: START
-The CometD component supports 9 options, which are listed below.
+The CometD component supports 8 options, which are listed below.
 
 
 
@@ -63,7 +63,6 @@ The CometD component supports 9 options, which are listed below.
 | *extensions* (common) | To use a list of custom BayeuxServer.Extension that allows modifying incoming and outgoing requests. |  | List
 | *sslContextParameters* (security) | To configure security using SSLContextParameters |  | SSLContextParameters
 | *useGlobalSslContext Parameters* (security) | Enable usage of global SSL context parameters. | false | boolean
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -136,7 +135,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 10 options, which are listed below.
+The component supports 9 options, which are listed below.
 
 
 
@@ -146,7 +145,6 @@ The component supports 10 options, which are listed below.
 | *camel.component.cometd.basic-property-binding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | Boolean
 | *camel.component.cometd.enabled* | Enable cometd component | true | Boolean
 | *camel.component.cometd.extensions* | To use a list of custom BayeuxServer.Extension that allows modifying incoming and outgoing requests. |  | List
-| *camel.component.cometd.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 | *camel.component.cometd.security-policy* | To use a custom configured SecurityPolicy to control authorization. The option is a org.cometd.bayeux.server.SecurityPolicy type. |  | String
 | *camel.component.cometd.ssl-context-parameters* | To configure security using SSLContextParameters. The option is a org.apache.camel.support.jsse.SSLContextParameters type. |  | String
 | *camel.component.cometd.ssl-key-password* | The password for the keystore when using SSL. |  | String
diff --git a/components/camel-consul/src/main/docs/consul-component.adoc b/components/camel-consul/src/main/docs/consul-component.adoc
index a9bc52a..d30cff3 100644
--- a/components/camel-consul/src/main/docs/consul-component.adoc
+++ b/components/camel-consul/src/main/docs/consul-component.adoc
@@ -36,7 +36,7 @@ You can append query options to the URI in the following format:
 
 
 // component options: START
-The Consul component supports 10 options, which are listed below.
+The Consul component supports 9 options, which are listed below.
 
 
 
@@ -51,7 +51,6 @@ The Consul component supports 10 options, which are listed below.
 | *userName* (common) | Sets the username to be used for basic authentication |  | String
 | *password* (common) | Sets the password to be used for basic authentication |  | String
 | *configuration* (advanced) | Sets the common configuration shared among endpoints |  | ConsulConfiguration
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -110,7 +109,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 91 options, which are listed below.
+The component supports 90 options, which are listed below.
 
 
 
@@ -173,7 +172,6 @@ The component supports 91 options, which are listed below.
 | *camel.component.consul.health.check.repository.failure-threshold* |  |  | Integer
 | *camel.component.consul.health.check.repository.interval* |  |  | String
 | *camel.component.consul.password* | Sets the password to be used for basic authentication |  | String
-| *camel.component.consul.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 | *camel.component.consul.service-registry.acl-token* |  |  | String
 | *camel.component.consul.service-registry.attributes* | Custom service attributes. |  | Map
 | *camel.component.consul.service-registry.block-seconds* |  |  | Integer
diff --git a/components/camel-controlbus/src/main/docs/controlbus-component.adoc b/components/camel-controlbus/src/main/docs/controlbus-component.adoc
index 04fdab1..b87ede2 100644
--- a/components/camel-controlbus/src/main/docs/controlbus-component.adoc
+++ b/components/camel-controlbus/src/main/docs/controlbus-component.adoc
@@ -53,14 +53,13 @@ then the result is put in the message body.
 
 
 // component options: START
-The Control Bus component supports 2 options, which are listed below.
+The Control Bus component supports 1 options, which are listed below.
 
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
 |===
 | Name | Description | Default | Type
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -124,7 +123,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 3 options, which are listed below.
+The component supports 2 options, which are listed below.
 
 
 
@@ -133,7 +132,6 @@ The component supports 3 options, which are listed below.
 | Name | Description | Default | Type
 | *camel.component.controlbus.basic-property-binding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | Boolean
 | *camel.component.controlbus.enabled* | Whether to enable auto configuration of the controlbus component. This is enabled by default. |  | Boolean
-| *camel.component.controlbus.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
 // spring-boot-auto-configure options: END
 
diff --git a/components/camel-corda/src/main/docs/corda-component.adoc b/components/camel-corda/src/main/docs/corda-component.adoc
index 4b99b8d..e439eb4 100644
--- a/components/camel-corda/src/main/docs/corda-component.adoc
+++ b/components/camel-corda/src/main/docs/corda-component.adoc
@@ -30,7 +30,7 @@ corda://<host:port>[?options]
 
 
 // component options: START
-The corda component supports 3 options, which are listed below.
+The corda component supports 2 options, which are listed below.
 
 
 
@@ -38,7 +38,6 @@ The corda component supports 3 options, which are listed below.
 |===
 | Name | Description | Default | Type
 | *configuration* (common) | Default configuration |  | CordaConfiguration
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -93,7 +92,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 15 options, which are listed below.
+The component supports 14 options, which are listed below.
 
 
 
@@ -114,7 +113,6 @@ The component supports 15 options, which are listed below.
 | *camel.component.corda.configuration.sort* |  |  | Sort
 | *camel.component.corda.configuration.username* |  |  | String
 | *camel.component.corda.enabled* | Enable corda component | true | Boolean
-| *camel.component.corda.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
 // spring-boot-auto-configure options: END
 
diff --git a/components/camel-couchbase/src/main/docs/couchbase-component.adoc b/components/camel-couchbase/src/main/docs/couchbase-component.adoc
index 7fc8ab9..989d463 100644
--- a/components/camel-couchbase/src/main/docs/couchbase-component.adoc
+++ b/components/camel-couchbase/src/main/docs/couchbase-component.adoc
@@ -30,14 +30,13 @@ couchbase:url
 == Options
 
 // component options: START
-The Couchbase component supports 2 options, which are listed below.
+The Couchbase component supports 1 options, which are listed below.
 
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
 |===
 | Name | Description | Default | Type
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -136,7 +135,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 3 options, which are listed below.
+The component supports 2 options, which are listed below.
 
 
 
@@ -145,7 +144,6 @@ The component supports 3 options, which are listed below.
 | Name | Description | Default | Type
 | *camel.component.couchbase.basic-property-binding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | Boolean
 | *camel.component.couchbase.enabled* | Enable couchbase component | true | Boolean
-| *camel.component.couchbase.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
 // spring-boot-auto-configure options: END
 
diff --git a/components/camel-couchdb/src/main/docs/couchdb-component.adoc b/components/camel-couchdb/src/main/docs/couchdb-component.adoc
index 232ea48..d4d65ab 100644
--- a/components/camel-couchdb/src/main/docs/couchdb-component.adoc
+++ b/components/camel-couchdb/src/main/docs/couchdb-component.adoc
@@ -45,14 +45,13 @@ is optional and if not specified then defaults to 5984.
 == Options
 
 // component options: START
-The CouchDB component supports 2 options, which are listed below.
+The CouchDB component supports 1 options, which are listed below.
 
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
 |===
 | Name | Description | Default | Type
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -117,7 +116,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 3 options, which are listed below.
+The component supports 2 options, which are listed below.
 
 
 
@@ -126,7 +125,6 @@ The component supports 3 options, which are listed below.
 | Name | Description | Default | Type
 | *camel.component.couchdb.basic-property-binding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | Boolean
 | *camel.component.couchdb.enabled* | Enable couchdb component | true | Boolean
-| *camel.component.couchdb.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
 // spring-boot-auto-configure options: END
 
diff --git a/components/camel-crypto-cms/src/main/docs/crypto-cms-component.adoc b/components/camel-crypto-cms/src/main/docs/crypto-cms-component.adoc
index 7803394..8583a92 100644
--- a/components/camel-crypto-cms/src/main/docs/crypto-cms-component.adoc
+++ b/components/camel-crypto-cms/src/main/docs/crypto-cms-component.adoc
@@ -34,7 +34,7 @@ If the Bouncy Castle security provider is not registered then the Crypto CMS com
 == Options
 
 // component options: START
-The Crypto CMS component supports 4 options, which are listed below.
+The Crypto CMS component supports 3 options, which are listed below.
 
 
 
@@ -43,7 +43,6 @@ The Crypto CMS component supports 4 options, which are listed below.
 | Name | Description | Default | Type
 | *signedDataVerifier Configuration* (advanced) | To configure the shared SignedDataVerifierConfiguration, which determines the uri parameters for the verify operation. |  | SignedDataVerifier Configuration
 | *envelopedDataDecryptor Configuration* (advanced) | To configure the shared EnvelopedDataDecryptorConfiguration, which determines the uri parameters for the decrypt operation. |  | EnvelopedDataDecryptor Configuration
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -109,7 +108,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 5 options, which are listed below.
+The component supports 4 options, which are listed below.
 
 
 
@@ -119,7 +118,6 @@ The component supports 5 options, which are listed below.
 | *camel.component.crypto-cms.basic-property-binding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | Boolean
 | *camel.component.crypto-cms.enabled* | Whether to enable auto configuration of the crypto-cms component. This is enabled by default. |  | Boolean
 | *camel.component.crypto-cms.enveloped-data-decryptor-configuration* | To configure the shared EnvelopedDataDecryptorConfiguration, which determines the uri parameters for the decrypt operation. The option is a org.apache.camel.component.crypto.cms.crypt.EnvelopedDataDecryptorConfiguration type. |  | String
-| *camel.component.crypto-cms.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 | *camel.component.crypto-cms.signed-data-verifier-configuration* | To configure the shared SignedDataVerifierConfiguration, which determines the uri parameters for the verify operation. The option is a org.apache.camel.component.crypto.cms.sig.SignedDataVerifierConfiguration type. |  | String
 |===
 // spring-boot-auto-configure options: END
diff --git a/components/camel-crypto/src/main/docs/crypto-component.adoc b/components/camel-crypto/src/main/docs/crypto-component.adoc
index 451b196..99f97e1 100644
--- a/components/camel-crypto/src/main/docs/crypto-component.adoc
+++ b/components/camel-crypto/src/main/docs/crypto-component.adoc
@@ -81,7 +81,7 @@ both signing and verifying should be configured identically.
 == Options
 
 // component options: START
-The Crypto (JCE) component supports 3 options, which are listed below.
+The Crypto (JCE) component supports 2 options, which are listed below.
 
 
 
@@ -89,7 +89,6 @@ The Crypto (JCE) component supports 3 options, which are listed below.
 |===
 | Name | Description | Default | Type
 | *configuration* (advanced) | To use the shared DigitalSignatureConfiguration as configuration |  | DigitalSignature Configuration
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -159,7 +158,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 34 options, which are listed below.
+The component supports 33 options, which are listed below.
 
 
 
@@ -188,7 +187,6 @@ The component supports 34 options, which are listed below.
 | *camel.component.crypto.configuration.secure-random-name* | Sets the reference name for a SecureRandom that can be found in the registry. |  | String
 | *camel.component.crypto.configuration.signature-header-name* | Set the name of the message header that should be used to store the base64 encoded signature. This defaults to 'CamelDigitalSignature' |  | String
 | *camel.component.crypto.enabled* | Enable crypto component | true | Boolean
-| *camel.component.crypto.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 | *camel.dataformat.crypto.algorithm* | The JCE algorithm name indicating the cryptographic algorithm that will be used. Is by default DES/CBC/PKCS5Padding. | DES/CBC/PKCS5Padding | String
 | *camel.dataformat.crypto.algorithm-parameter-ref* | A JCE AlgorithmParameterSpec used to initialize the Cipher. Will lookup the type using the given name as a java.security.spec.AlgorithmParameterSpec type. |  | String
 | *camel.dataformat.crypto.buffersize* | The size of the buffer used in the signature process. |  | Integer
diff --git a/components/camel-crypto/src/main/docs/crypto-dataformat.adoc b/components/camel-crypto/src/main/docs/crypto-dataformat.adoc
index 8b3547d..1451c60 100644
--- a/components/camel-crypto/src/main/docs/crypto-dataformat.adoc
+++ b/components/camel-crypto/src/main/docs/crypto-dataformat.adoc
@@ -49,7 +49,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 34 options, which are listed below.
+The component supports 33 options, which are listed below.
 
 
 
@@ -78,7 +78,6 @@ The component supports 34 options, which are listed below.
 | *camel.component.crypto.configuration.secure-random-name* | Sets the reference name for a SecureRandom that can be found in the registry. |  | String
 | *camel.component.crypto.configuration.signature-header-name* | Set the name of the message header that should be used to store the base64 encoded signature. This defaults to 'CamelDigitalSignature' |  | String
 | *camel.component.crypto.enabled* | Enable crypto component | true | Boolean
-| *camel.component.crypto.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 | *camel.dataformat.crypto.algorithm* | The JCE algorithm name indicating the cryptographic algorithm that will be used. Is by default DES/CBC/PKCS5Padding. | DES/CBC/PKCS5Padding | String
 | *camel.dataformat.crypto.algorithm-parameter-ref* | A JCE AlgorithmParameterSpec used to initialize the Cipher. Will lookup the type using the given name as a java.security.spec.AlgorithmParameterSpec type. |  | String
 | *camel.dataformat.crypto.buffersize* | The size of the buffer used in the signature process. |  | Integer
diff --git a/components/camel-cxf/src/main/docs/cxf-component.adoc b/components/camel-cxf/src/main/docs/cxf-component.adoc
index 8aa00b2..ce1b3cb 100644
--- a/components/camel-cxf/src/main/docs/cxf-component.adoc
+++ b/components/camel-cxf/src/main/docs/cxf-component.adoc
@@ -82,7 +82,7 @@ cxf:bean:cxfEndpoint?wsdlURL=wsdl/hello_world.wsdl&dataFormat=PAYLOAD
 
 
 // component options: START
-The CXF component supports 5 options, which are listed below.
+The CXF component supports 4 options, which are listed below.
 
 
 
@@ -92,7 +92,6 @@ The CXF component supports 5 options, which are listed below.
 | *allowStreaming* (advanced) | This option controls whether the CXF component, when running in PAYLOAD mode, will DOM parse the incoming messages into DOM Elements or keep the payload as a javax.xml.transform.Source object that would allow streaming in some cases. |  | Boolean
 | *useGlobalSslContext Parameters* (security) | Enable usage of global SSL context parameters. | false | boolean
 | *headerFilterStrategy* (filter) | To use a custom org.apache.camel.spi.HeaderFilterStrategy to filter header to and from Camel message. |  | HeaderFilterStrategy
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -181,7 +180,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 6 options, which are listed below.
+The component supports 5 options, which are listed below.
 
 
 
@@ -192,7 +191,6 @@ The component supports 6 options, which are listed below.
 | *camel.component.cxf.basic-property-binding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | Boolean
 | *camel.component.cxf.enabled* | Enable cxf component | true | Boolean
 | *camel.component.cxf.header-filter-strategy* | To use a custom org.apache.camel.spi.HeaderFilterStrategy to filter header to and from Camel message. The option is a org.apache.camel.spi.HeaderFilterStrategy type. |  | String
-| *camel.component.cxf.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 | *camel.component.cxf.use-global-ssl-context-parameters* | Enable usage of global SSL context parameters. | false | Boolean
 |===
 // spring-boot-auto-configure options: END
diff --git a/components/camel-cxf/src/main/docs/cxfrs-component.adoc b/components/camel-cxf/src/main/docs/cxfrs-component.adoc
index 60c76dc..a2d8379 100644
--- a/components/camel-cxf/src/main/docs/cxfrs-component.adoc
+++ b/components/camel-cxf/src/main/docs/cxfrs-component.adoc
@@ -48,7 +48,7 @@ cxfrs:bean:cxfEndpoint?resourceClasses=org.apache.camel.rs.Example
 
 
 // component options: START
-The CXF-RS component supports 4 options, which are listed below.
+The CXF-RS component supports 3 options, which are listed below.
 
 
 
@@ -57,7 +57,6 @@ The CXF-RS component supports 4 options, which are listed below.
 | Name | Description | Default | Type
 | *useGlobalSslContext Parameters* (security) | Enable usage of global SSL context parameters. | false | boolean
 | *headerFilterStrategy* (filter) | To use a custom org.apache.camel.spi.HeaderFilterStrategy to filter header to and from Camel message. |  | HeaderFilterStrategy
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -141,7 +140,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 5 options, which are listed below.
+The component supports 4 options, which are listed below.
 
 
 
@@ -151,7 +150,6 @@ The component supports 5 options, which are listed below.
 | *camel.component.cxfrs.basic-property-binding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | Boolean
 | *camel.component.cxfrs.enabled* | Enable cxfrs component | true | Boolean
 | *camel.component.cxfrs.header-filter-strategy* | To use a custom org.apache.camel.spi.HeaderFilterStrategy to filter header to and from Camel message. The option is a org.apache.camel.spi.HeaderFilterStrategy type. |  | String
-| *camel.component.cxfrs.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 | *camel.component.cxfrs.use-global-ssl-context-parameters* | Enable usage of global SSL context parameters. | false | Boolean
 |===
 // spring-boot-auto-configure options: END
diff --git a/components/camel-dataformat/src/main/docs/dataformat-component.adoc b/components/camel-dataformat/src/main/docs/dataformat-component.adoc
index 8764039..badbcec 100644
--- a/components/camel-dataformat/src/main/docs/dataformat-component.adoc
+++ b/components/camel-dataformat/src/main/docs/dataformat-component.adoc
@@ -23,14 +23,13 @@ for which options it support.
 
 
 // component options: START
-The Data Format component supports 2 options, which are listed below.
+The Data Format component supports 1 options, which are listed below.
 
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
 |===
 | Name | Description | Default | Type
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -85,7 +84,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 3 options, which are listed below.
+The component supports 2 options, which are listed below.
 
 
 
@@ -94,7 +93,6 @@ The component supports 3 options, which are listed below.
 | Name | Description | Default | Type
 | *camel.component.dataformat.basic-property-binding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | Boolean
 | *camel.component.dataformat.enabled* | Whether to enable auto configuration of the dataformat component. This is enabled by default. |  | Boolean
-| *camel.component.dataformat.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
 // spring-boot-auto-configure options: END
 
diff --git a/components/camel-dataset/src/main/docs/dataset-component.adoc b/components/camel-dataset/src/main/docs/dataset-component.adoc
index 9e15139..57093d6 100644
--- a/components/camel-dataset/src/main/docs/dataset-component.adoc
+++ b/components/camel-dataset/src/main/docs/dataset-component.adoc
@@ -45,14 +45,13 @@ extend `DataSetSupport`.
 
 
 // component options: START
-The Dataset component supports 2 options, which are listed below.
+The Dataset component supports 1 options, which are listed below.
 
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
 |===
 | Name | Description | Default | Type
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -121,7 +120,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 3 options, which are listed below.
+The component supports 2 options, which are listed below.
 
 
 
@@ -130,7 +129,6 @@ The component supports 3 options, which are listed below.
 | Name | Description | Default | Type
 | *camel.component.dataset.basic-property-binding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | Boolean
 | *camel.component.dataset.enabled* | Whether to enable auto configuration of the dataset component. This is enabled by default. |  | Boolean
-| *camel.component.dataset.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
 // spring-boot-auto-configure options: END
 
diff --git a/components/camel-dataset/src/main/docs/dataset-test-component.adoc b/components/camel-dataset/src/main/docs/dataset-test-component.adoc
index 82cca82..91c422c 100644
--- a/components/camel-dataset/src/main/docs/dataset-test-component.adoc
+++ b/components/camel-dataset/src/main/docs/dataset-test-component.adoc
@@ -41,14 +41,13 @@ pulled from before starting the test.
 == URI Options
 
 // component options: START
-The DataSet Test component supports 2 options, which are listed below.
+The DataSet Test component supports 1 options, which are listed below.
 
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
 |===
 | Name | Description | Default | Type
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -114,7 +113,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 3 options, which are listed below.
+The component supports 2 options, which are listed below.
 
 
 
@@ -123,7 +122,6 @@ The component supports 3 options, which are listed below.
 | Name | Description | Default | Type
 | *camel.component.dataset-test.basic-property-binding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | Boolean
 | *camel.component.dataset-test.enabled* | Whether to enable auto configuration of the dataset-test component. This is enabled by default. |  | Boolean
-| *camel.component.dataset-test.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
 // spring-boot-auto-configure options: END
 
diff --git a/components/camel-digitalocean/src/main/docs/digitalocean-component.adoc b/components/camel-digitalocean/src/main/docs/digitalocean-component.adoc
index 8e473e4..f75569a 100644
--- a/components/camel-digitalocean/src/main/docs/digitalocean-component.adoc
+++ b/components/camel-digitalocean/src/main/docs/digitalocean-component.adoc
@@ -31,14 +31,13 @@ The DigitalOcean component only supports producer endpoints so you cannot use th
 
 
 // component options: START
-The DigitalOcean component supports 2 options, which are listed below.
+The DigitalOcean component supports 1 options, which are listed below.
 
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
 |===
 | Name | Description | Default | Type
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -98,7 +97,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 3 options, which are listed below.
+The component supports 2 options, which are listed below.
 
 
 
@@ -107,7 +106,6 @@ The component supports 3 options, which are listed below.
 | Name | Description | Default | Type
 | *camel.component.digitalocean.basic-property-binding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | Boolean
 | *camel.component.digitalocean.enabled* | Enable digitalocean component | true | Boolean
-| *camel.component.digitalocean.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
 // spring-boot-auto-configure options: END
 
diff --git a/components/camel-direct/src/main/docs/direct-component.adoc b/components/camel-direct/src/main/docs/direct-component.adoc
index 230275f..497520d 100644
--- a/components/camel-direct/src/main/docs/direct-component.adoc
+++ b/components/camel-direct/src/main/docs/direct-component.adoc
@@ -30,7 +30,7 @@ Where *someName* can be any string to uniquely identify the endpoint
 
 
 // component options: START
-The Direct component supports 4 options, which are listed below.
+The Direct component supports 3 options, which are listed below.
 
 
 
@@ -39,7 +39,6 @@ The Direct component supports 4 options, which are listed below.
 | Name | Description | Default | Type
 | *block* (producer) | If sending a message to a direct endpoint which has no active consumer, then we can tell the producer to block and wait for the consumer to become active. | true | boolean
 | *timeout* (producer) | The timeout value to use if block is enabled. | 30000 | long
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -100,7 +99,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 5 options, which are listed below.
+The component supports 4 options, which are listed below.
 
 
 
@@ -110,7 +109,6 @@ The component supports 5 options, which are listed below.
 | *camel.component.direct.basic-property-binding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | Boolean
 | *camel.component.direct.block* | If sending a message to a direct endpoint which has no active consumer, then we can tell the producer to block and wait for the consumer to become active. | true | Boolean
 | *camel.component.direct.enabled* | Whether to enable auto configuration of the direct component. This is enabled by default. |  | Boolean
-| *camel.component.direct.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 | *camel.component.direct.timeout* | The timeout value to use if block is enabled. | 30000 | Long
 |===
 // spring-boot-auto-configure options: END
diff --git a/components/camel-directvm/src/main/docs/direct-vm-component.adoc b/components/camel-directvm/src/main/docs/direct-vm-component.adoc
index 842f434..55cfa44 100644
--- a/components/camel-directvm/src/main/docs/direct-vm-component.adoc
+++ b/components/camel-directvm/src/main/docs/direct-vm-component.adoc
@@ -41,7 +41,7 @@ Where *someName* can be any string to uniquely identify the endpoint
 
 
 // component options: START
-The Direct VM component supports 6 options, which are listed below.
+The Direct VM component supports 5 options, which are listed below.
 
 
 
@@ -52,7 +52,6 @@ The Direct VM component supports 6 options, which are listed below.
 | *timeout* (producer) | The timeout value to use if block is enabled. | 30000 | long
 | *headerFilterStrategy* (advanced) | Sets a HeaderFilterStrategy that will only be applied on producer endpoints (on both directions: request and response). Default value: none. |  | HeaderFilterStrategy
 | *propagateProperties* (advanced) | Whether to propagate or not properties from the producer side to the consumer side, and vice versa. Default value: true. | true | boolean
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
diff --git a/components/camel-disruptor/src/main/docs/disruptor-component.adoc b/components/camel-disruptor/src/main/docs/disruptor-component.adoc
index fd1d98a..6c2409d 100644
--- a/components/camel-disruptor/src/main/docs/disruptor-component.adoc
+++ b/components/camel-disruptor/src/main/docs/disruptor-component.adoc
@@ -95,7 +95,7 @@ All the following options are valid for both the **disruptor:** and
 
 
 // component options: START
-The Disruptor component supports 9 options, which are listed below.
+The Disruptor component supports 8 options, which are listed below.
 
 
 
@@ -109,7 +109,6 @@ The Disruptor component supports 9 options, which are listed below.
 | *defaultBlockWhenFull* (producer) | To configure the default value for block when full The default value is true. | true | boolean
 | *queueSize* (common) | *Deprecated* To configure the ring buffer size |  | int
 | *bufferSize* (common) | To configure the ring buffer size | 1024 | int
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -174,7 +173,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 20 options, which are listed below.
+The component supports 18 options, which are listed below.
 
 
 
@@ -189,7 +188,6 @@ The component supports 20 options, which are listed below.
 | *camel.component.disruptor-vm.default-producer-type* | To configure the default value for DisruptorProducerType The default value is Multi. |  | DisruptorProducerType
 | *camel.component.disruptor-vm.default-wait-strategy* | To configure the default value for DisruptorWaitStrategy The default value is Blocking. |  | DisruptorWaitStrategy
 | *camel.component.disruptor-vm.enabled* | Enable disruptor-vm component | true | Boolean
-| *camel.component.disruptor-vm.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 | *camel.component.disruptor.basic-property-binding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | Boolean
 | *camel.component.disruptor.buffer-size* | To configure the ring buffer size | 1024 | Integer
 | *camel.component.disruptor.default-block-when-full* | To configure the default value for block when full The default value is true. | true | Boolean
@@ -198,7 +196,6 @@ The component supports 20 options, which are listed below.
 | *camel.component.disruptor.default-producer-type* | To configure the default value for DisruptorProducerType The default value is Multi. |  | DisruptorProducerType
 | *camel.component.disruptor.default-wait-strategy* | To configure the default value for DisruptorWaitStrategy The default value is Blocking. |  | DisruptorWaitStrategy
 | *camel.component.disruptor.enabled* | Enable disruptor component | true | Boolean
-| *camel.component.disruptor.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 | *camel.component.disruptor-vm.queue-size* | *Deprecated* To configure the ring buffer size |  | Integer
 | *camel.component.disruptor.queue-size* | *Deprecated* To configure the ring buffer size |  | Integer
 |===
diff --git a/components/camel-dns/src/main/docs/dns-component.adoc b/components/camel-dns/src/main/docs/dns-component.adoc
index 617c251..81bb030 100644
--- a/components/camel-dns/src/main/docs/dns-component.adoc
+++ b/components/camel-dns/src/main/docs/dns-component.adoc
@@ -51,14 +51,13 @@ This component only supports producers.
 
 
 // component options: START
-The DNS component supports 2 options, which are listed below.
+The DNS component supports 1 options, which are listed below.
 
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
 |===
 | Name | Description | Default | Type
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -111,7 +110,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 3 options, which are listed below.
+The component supports 2 options, which are listed below.
 
 
 
@@ -120,7 +119,6 @@ The component supports 3 options, which are listed below.
 | Name | Description | Default | Type
 | *camel.component.dns.basic-property-binding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | Boolean
 | *camel.component.dns.enabled* | Enable dns component | true | Boolean
-| *camel.component.dns.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
 // spring-boot-auto-configure options: END
 
diff --git a/components/camel-docker/src/main/docs/docker-component.adoc b/components/camel-docker/src/main/docs/docker-component.adoc
index 8352ef4..8d20958 100644
--- a/components/camel-docker/src/main/docs/docker-component.adoc
+++ b/components/camel-docker/src/main/docs/docker-component.adoc
@@ -23,7 +23,7 @@ Where *operation* is the specific action to perform on Docker.
 == General Options
 
 // component options: START
-The Docker component supports 3 options, which are listed below.
+The Docker component supports 2 options, which are listed below.
 
 
 
@@ -31,7 +31,6 @@ The Docker component supports 3 options, which are listed below.
 |===
 | Name | Description | Default | Type
 | *configuration* (advanced) | To use the shared docker configuration |  | DockerConfiguration
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -102,7 +101,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 21 options, which are listed below.
+The component supports 20 options, which are listed below.
 
 
 
@@ -129,7 +128,6 @@ The component supports 21 options, which are listed below.
 | *camel.component.docker.configuration.tls-verify* | Check TLS | false | Boolean
 | *camel.component.docker.configuration.username* | User name to authenticate with |  | String
 | *camel.component.docker.enabled* | Enable docker component | true | Boolean
-| *camel.component.docker.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
 // spring-boot-auto-configure options: END
 
diff --git a/components/camel-dozer/src/main/docs/dozer-component.adoc b/components/camel-dozer/src/main/docs/dozer-component.adoc
index 978495c..f5cac4d 100644
--- a/components/camel-dozer/src/main/docs/dozer-component.adoc
+++ b/components/camel-dozer/src/main/docs/dozer-component.adoc
@@ -57,14 +57,13 @@ from("direct:orderInput").
 == Options
 
 // component options: START
-The Dozer component supports 2 options, which are listed below.
+The Dozer component supports 1 options, which are listed below.
 
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
 |===
 | Name | Description | Default | Type
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -121,7 +120,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 3 options, which are listed below.
+The component supports 2 options, which are listed below.
 
 
 
@@ -130,7 +129,6 @@ The component supports 3 options, which are listed below.
 | Name | Description | Default | Type
 | *camel.component.dozer.basic-property-binding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | Boolean
 | *camel.component.dozer.enabled* | Enable dozer component | true | Boolean
-| *camel.component.dozer.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
 // spring-boot-auto-configure options: END
 
diff --git a/components/camel-drill/src/main/docs/drill-component.adoc b/components/camel-drill/src/main/docs/drill-component.adoc
index 91559cb..71ad631 100644
--- a/components/camel-drill/src/main/docs/drill-component.adoc
+++ b/components/camel-drill/src/main/docs/drill-component.adoc
@@ -37,14 +37,13 @@ The producer executes a query using the *CamelDrillQuery* header and puts the re
 == Options
 
 // component options: START
-The Drill component supports 2 options, which are listed below.
+The Drill component supports 1 options, which are listed below.
 
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
 |===
 | Name | Description | Default | Type
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -101,7 +100,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 3 options, which are listed below.
+The component supports 2 options, which are listed below.
 
 
 
@@ -110,7 +109,6 @@ The component supports 3 options, which are listed below.
 | Name | Description | Default | Type
 | *camel.component.drill.basic-property-binding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | Boolean
 | *camel.component.drill.enabled* | Enable drill component | true | Boolean
-| *camel.component.drill.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
 // spring-boot-auto-configure options: END
 
diff --git a/components/camel-dropbox/src/main/docs/dropbox-component.adoc b/components/camel-dropbox/src/main/docs/dropbox-component.adoc
index 2c421e9..caa2883 100644
--- a/components/camel-dropbox/src/main/docs/dropbox-component.adoc
+++ b/components/camel-dropbox/src/main/docs/dropbox-component.adoc
@@ -66,14 +66,13 @@ https://www.dropbox.com/developers/core/start/java[Dropbox
 documentation] that explains how to get them.  
 
 // component options: START
-The Dropbox component supports 2 options, which are listed below.
+The Dropbox component supports 1 options, which are listed below.
 
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
 |===
 | Name | Description | Default | Type
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -135,7 +134,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 3 options, which are listed below.
+The component supports 2 options, which are listed below.
 
 
 
@@ -144,7 +143,6 @@ The component supports 3 options, which are listed below.
 | Name | Description | Default | Type
 | *camel.component.dropbox.basic-property-binding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | Boolean
 | *camel.component.dropbox.enabled* | Enable dropbox component | true | Boolean
-| *camel.component.dropbox.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
 // spring-boot-auto-configure options: END
 
diff --git a/components/camel-ehcache/src/main/docs/ehcache-component.adoc b/components/camel-ehcache/src/main/docs/ehcache-component.adoc
index 25e40bc..7554c48 100644
--- a/components/camel-ehcache/src/main/docs/ehcache-component.adoc
+++ b/components/camel-ehcache/src/main/docs/ehcache-component.adoc
@@ -38,7 +38,7 @@ format, `?option=value&option=#beanRef&...`
 
 
 // component options: START
-The Ehcache component supports 8 options, which are listed below.
+The Ehcache component supports 7 options, which are listed below.
 
 
 
@@ -51,7 +51,6 @@ The Ehcache component supports 8 options, which are listed below.
 | *cacheConfiguration* (common) | The default cache configuration to be used to create caches. |  | CacheConfiguration
 | *cachesConfigurations* (common) | A map of caches configurations to be used to create caches. |  | Map
 | *cacheConfigurationUri* (common) | URI pointing to the Ehcache XML configuration file's location |  | String
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -120,7 +119,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 26 options, which are listed below.
+The component supports 25 options, which are listed below.
 
 
 
@@ -151,7 +150,6 @@ The component supports 26 options, which are listed below.
 | *camel.component.ehcache.customizer.cache-manager.enabled* | Enable or disable the cache-manager customizer. | true | Boolean
 | *camel.component.ehcache.customizer.cache-manager.override* | Configure if the cache manager eventually set on the component should be overridden by the customizer. | false | Boolean
 | *camel.component.ehcache.enabled* | Enable ehcache component | true | Boolean
-| *camel.component.ehcache.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 | *camel.component.ehcache.configuration.config-uri* | *Deprecated* URI pointing to the Ehcache XML configuration file's location |  | String
 |===
 // spring-boot-auto-configure options: END
diff --git a/components/camel-elasticsearch-rest/src/main/docs/elasticsearch-rest-component.adoc b/components/camel-elasticsearch-rest/src/main/docs/elasticsearch-rest-component.adoc
index 8519818..1d06337 100644
--- a/components/camel-elasticsearch-rest/src/main/docs/elasticsearch-rest-component.adoc
+++ b/components/camel-elasticsearch-rest/src/main/docs/elasticsearch-rest-component.adoc
@@ -31,7 +31,7 @@ elasticsearch-rest://clusterName[?options]
 == Endpoint Options
 
 // component options: START
-The Elastichsearch Rest component supports 13 options, which are listed below.
+The Elastichsearch Rest component supports 12 options, which are listed below.
 
 
 
@@ -49,7 +49,6 @@ The Elastichsearch Rest component supports 13 options, which are listed below.
 | *enableSniffer* (advanced) | Enable automatically discover nodes from a running Elasticsearch cluster | false | Boolean
 | *snifferInterval* (advanced) | The interval between consecutive ordinary sniff executions in milliseconds. Will be honoured when sniffOnFailure is disabled or when there are no failures between consecutive sniff executions | 300000 | int
 | *sniffAfterFailureDelay* (advanced) | The delay of a sniff execution scheduled after a failure (in milliseconds) | 60000 | int
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -112,7 +111,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 14 options, which are listed below.
+The component supports 13 options, which are listed below.
 
 
 
@@ -128,7 +127,6 @@ The component supports 14 options, which are listed below.
 | *camel.component.elasticsearch-rest.host-addresses* | Comma separated list with ip:port formatted remote transport addresses to use. The ip and port options must be left blank for hostAddresses to be considered instead. |  | String
 | *camel.component.elasticsearch-rest.max-retry-timeout* | The time in ms before retry | 30000 | Integer
 | *camel.component.elasticsearch-rest.password* | Password for authenticate |  | String
-| *camel.component.elasticsearch-rest.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 | *camel.component.elasticsearch-rest.sniff-after-failure-delay* | The delay of a sniff execution scheduled after a failure (in milliseconds) | 60000 | Integer
 | *camel.component.elasticsearch-rest.sniffer-interval* | The interval between consecutive ordinary sniff executions in milliseconds. Will be honoured when sniffOnFailure is disabled or when there are no failures between consecutive sniff executions | 300000 | Integer
 | *camel.component.elasticsearch-rest.socket-timeout* | The timeout in ms to wait before the socket will timeout. | 30000 | Integer
diff --git a/components/camel-elsql/src/main/docs/elsql-component.adoc b/components/camel-elsql/src/main/docs/elsql-component.adoc
index d4756ec..165500f 100644
--- a/components/camel-elsql/src/main/docs/elsql-component.adoc
+++ b/components/camel-elsql/src/main/docs/elsql-component.adoc
@@ -52,7 +52,7 @@ If a named parameter cannot be resolved, then an exception is thrown.
 == Options
 
 // component options: START
-The ElSQL component supports 6 options, which are listed below.
+The ElSQL component supports 5 options, which are listed below.
 
 
 
@@ -63,7 +63,6 @@ The ElSQL component supports 6 options, which are listed below.
 | *dataSource* (common) | Sets the DataSource to use to communicate with the database. |  | DataSource
 | *elSqlConfig* (advanced) | To use a specific configured ElSqlConfig. It may be better to use the databaseVendor option instead. |  | ElSqlConfig
 | *resourceUri* (common) | The resource file which contains the elsql SQL statements to use. You can specify multiple resources separated by comma. The resources are loaded on the classpath by default, you can prefix with file: to load from file system. Notice you can set this option on the component and then you do not have to configure this on the endpoint. |  | String
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -161,7 +160,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 7 options, which are listed below.
+The component supports 6 options, which are listed below.
 
 
 
@@ -173,7 +172,6 @@ The component supports 7 options, which are listed below.
 | *camel.component.elsql.database-vendor* | To use a vendor specific com.opengamma.elsql.ElSqlConfig |  | ElSqlDatabaseVendor
 | *camel.component.elsql.el-sql-config* | To use a specific configured ElSqlConfig. It may be better to use the databaseVendor option instead. The option is a com.opengamma.elsql.ElSqlConfig type. |  | String
 | *camel.component.elsql.enabled* | Enable elsql component | true | Boolean
-| *camel.component.elsql.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 | *camel.component.elsql.resource-uri* | The resource file which contains the elsql SQL statements to use. You can specify multiple resources separated by comma. The resources are loaded on the classpath by default, you can prefix with file: to load from file system. Notice you can set this option on the component and then you do not have to configure this on the endpoint. |  | String
 |===
 // spring-boot-auto-configure options: END
diff --git a/components/camel-etcd/src/main/docs/etcd-component.adoc b/components/camel-etcd/src/main/docs/etcd-component.adoc
index 33b2aa3..eaef04a 100644
--- a/components/camel-etcd/src/main/docs/etcd-component.adoc
+++ b/components/camel-etcd/src/main/docs/etcd-component.adoc
@@ -15,7 +15,7 @@ etcd:namespace/path[?options]
 == URI Options
 
 // component options: START
-The etcd component supports 8 options, which are listed below.
+The etcd component supports 7 options, which are listed below.
 
 
 
@@ -28,7 +28,6 @@ The etcd component supports 8 options, which are listed below.
 | *password* (common) | The password to use for basic authentication. |  | String
 | *configuration* (advanced) | Sets the common configuration shared among endpoints |  | EtcdConfiguration
 | *useGlobalSslContext Parameters* (security) | Enable usage of global SSL context parameters. | false | boolean
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -108,7 +107,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 18 options, which are listed below.
+The component supports 17 options, which are listed below.
 
 
 
@@ -128,7 +127,6 @@ The component supports 18 options, which are listed below.
 | *camel.component.etcd.configuration.user-name* | The user name to use for basic authentication. |  | String
 | *camel.component.etcd.enabled* | Enable etcd component | true | Boolean
 | *camel.component.etcd.password* | The password to use for basic authentication. |  | String
-| *camel.component.etcd.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 | *camel.component.etcd.ssl-context-parameters* | To configure security using SSLContextParameters. The option is a org.apache.camel.support.jsse.SSLContextParameters type. |  | String
 | *camel.component.etcd.uris* | To set the URIs the client connects. |  | String
 | *camel.component.etcd.use-global-ssl-context-parameters* | Enable usage of global SSL context parameters. | false | Boolean
diff --git a/components/camel-eventadmin/src/main/docs/eventadmin-component.adoc b/components/camel-eventadmin/src/main/docs/eventadmin-component.adoc
index d1b4470..47b2d1c 100644
--- a/components/camel-eventadmin/src/main/docs/eventadmin-component.adoc
+++ b/components/camel-eventadmin/src/main/docs/eventadmin-component.adoc
@@ -33,7 +33,7 @@ where `topic` is the name of the topic to listen too.
 == URI options
 
 // component options: START
-The OSGi EventAdmin component supports 3 options, which are listed below.
+The OSGi EventAdmin component supports 2 options, which are listed below.
 
 
 
@@ -41,7 +41,6 @@ The OSGi EventAdmin component supports 3 options, which are listed below.
 |===
 | Name | Description | Default | Type
 | *bundleContext* (common) | The OSGi BundleContext is automatic injected by Camel |  | BundleContext
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
diff --git a/components/camel-exec/src/main/docs/exec-component.adoc b/components/camel-exec/src/main/docs/exec-component.adoc
index d67611c..a9e292f 100644
--- a/components/camel-exec/src/main/docs/exec-component.adoc
+++ b/components/camel-exec/src/main/docs/exec-component.adoc
@@ -34,14 +34,13 @@ executable must in the system path.
 == URI options
 
 // component options: START
-The Exec component supports 2 options, which are listed below.
+The Exec component supports 1 options, which are listed below.
 
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
 |===
 | Name | Description | Default | Type
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -99,7 +98,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 3 options, which are listed below.
+The component supports 2 options, which are listed below.
 
 
 
@@ -108,7 +107,6 @@ The component supports 3 options, which are listed below.
 | Name | Description | Default | Type
 | *camel.component.exec.basic-property-binding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | Boolean
 | *camel.component.exec.enabled* | Enable exec component | true | Boolean
-| *camel.component.exec.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
 // spring-boot-auto-configure options: END
 
diff --git a/components/camel-facebook/src/main/docs/facebook-component.adoc b/components/camel-facebook/src/main/docs/facebook-component.adoc
index bc69d93..b1f9ef9 100644
--- a/components/camel-facebook/src/main/docs/facebook-component.adoc
+++ b/components/camel-facebook/src/main/docs/facebook-component.adoc
@@ -53,7 +53,7 @@ to application APIs.
 
 
 // component options: START
-The Facebook component supports 3 options, which are listed below.
+The Facebook component supports 2 options, which are listed below.
 
 
 
@@ -61,7 +61,6 @@ The Facebook component supports 3 options, which are listed below.
 |===
 | Name | Description | Default | Type
 | *configuration* (advanced) | To use the shared configuration |  | FacebookConfiguration
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -217,7 +216,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 30 options, which are listed below.
+The component supports 29 options, which are listed below.
 
 
 
@@ -253,7 +252,6 @@ The component supports 30 options, which are listed below.
 | *camel.component.facebook.configuration.use-s-s-l* | Use SSL | true | Boolean
 | *camel.component.facebook.configuration.video-base-u-r-l* | Video API base URL | https://graph-video.facebook.com/ | String
 | *camel.component.facebook.enabled* | Enable facebook component | true | Boolean
-| *camel.component.facebook.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
 // spring-boot-auto-configure options: END
 
diff --git a/components/camel-fhir/camel-fhir-component/src/main/docs/fhir-component.adoc b/components/camel-fhir/camel-fhir-component/src/main/docs/fhir-component.adoc
index c7207b6..f6fd05a 100644
--- a/components/camel-fhir/camel-fhir-component/src/main/docs/fhir-component.adoc
+++ b/components/camel-fhir/camel-fhir-component/src/main/docs/fhir-component.adoc
@@ -47,7 +47,7 @@ Endpoint prefix can be one of:
 
 
 // component options: START
-The FHIR component supports 3 options, which are listed below.
+The FHIR component supports 2 options, which are listed below.
 
 
 
@@ -55,7 +55,6 @@ The FHIR component supports 3 options, which are listed below.
 |===
 | Name | Description | Default | Type
 | *configuration* (common) | To use the shared configuration |  | FhirConfiguration
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -135,7 +134,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 28 options, which are listed below.
+The component supports 27 options, which are listed below.
 
 
 
@@ -169,6 +168,5 @@ The component supports 28 options, which are listed below.
 | *camel.component.fhir.configuration.username* | What sub operation to use for the selected operation |  | String
 | *camel.component.fhir.configuration.validation-mode* | What sub operation to use for the selected operation | ONCE | String
 | *camel.component.fhir.enabled* | Whether to enable auto configuration of the fhir component. This is enabled by default. |  | Boolean
-| *camel.component.fhir.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
 // spring-boot-auto-configure options: END
diff --git a/components/camel-file-watch/src/main/docs/file-watch-component.adoc b/components/camel-file-watch/src/main/docs/file-watch-component.adoc
index c35f918..c06f42f 100644
--- a/components/camel-file-watch/src/main/docs/file-watch-component.adoc
+++ b/components/camel-file-watch/src/main/docs/file-watch-component.adoc
@@ -8,7 +8,7 @@ This component can be used to watch file modification events in folder. It is ba
 == URI Options
 
 // component options: START
-The file-watch component supports 7 options, which are listed below.
+The file-watch component supports 6 options, which are listed below.
 
 
 
@@ -20,7 +20,6 @@ The file-watch component supports 7 options, which are listed below.
 | *pollThreads* (consumer) | The number of threads polling WatchService. Increase this value, if you see OVERFLOW messages in log. | 1 | int
 | *fileHasher* (consumer) | Reference to io.methvin.watcher.hashing.FileHasher. This prevents emitting duplicate events on some platforms. For working with large files and if you dont need detect multiple modifications per second per file, use #lastModifiedTimeFileHasher. You can also provide custom implementation in registry. | #murmur3FFileHasher | FileHasher
 | *useFileHashing* (consumer) | Enables or disables file hashing to detect duplicate events. If you disable this, you can get some events multiple times on some platforms and JDKs. Check java.nio.file.WatchService limitations for your target platform. | true | boolean
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -84,7 +83,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 8 options, which are listed below.
+The component supports 7 options, which are listed below.
 
 
 
@@ -97,7 +96,6 @@ The component supports 8 options, which are listed below.
 | *camel.component.file-watch.file-hasher* | Reference to io.methvin.watcher.hashing.FileHasher. This prevents emitting duplicate events on some platforms. For working with large files and if you dont need detect multiple modifications per second per file, use #lastModifiedTimeFileHasher. You can also provide custom implementation in registry. The option is a io.methvin.watcher.hashing.FileHasher type. |  | String
 | *camel.component.file-watch.poll-threads* | The number of threads polling WatchService. Increase this value, if you see OVERFLOW messages in log. | 1 | Integer
 | *camel.component.file-watch.queue-size* | Maximum size of queue between WatchService and consumer. Unbounded by default. | 2147483647 | Integer
-| *camel.component.file-watch.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 | *camel.component.file-watch.use-file-hashing* | Enables or disables file hashing to detect duplicate events. If you disable this, you can get some events multiple times on some platforms and JDKs. Check java.nio.file.WatchService limitations for your target platform. | true | Boolean
 |===
 // spring-boot-auto-configure options: END
diff --git a/components/camel-file/src/main/docs/file-component.adoc b/components/camel-file/src/main/docs/file-component.adoc
index 9eb6da0..de67705 100644
--- a/components/camel-file/src/main/docs/file-component.adoc
+++ b/components/camel-file/src/main/docs/file-component.adoc
@@ -53,14 +53,13 @@ options and `doneFileName` option that you can use. See also the section
 == URI Options
 
 // component options: START
-The File component supports 2 options, which are listed below.
+The File component supports 1 options, which are listed below.
 
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
 |===
 | Name | Description | Default | Type
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -204,7 +203,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 3 options, which are listed below.
+The component supports 2 options, which are listed below.
 
 
 
@@ -213,7 +212,6 @@ The component supports 3 options, which are listed below.
 | Name | Description | Default | Type
 | *camel.component.file.basic-property-binding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | Boolean
 | *camel.component.file.enabled* | Whether to enable auto configuration of the file component. This is enabled by default. |  | Boolean
-| *camel.component.file.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
 // spring-boot-auto-configure options: END
 
diff --git a/components/camel-flatpack/src/main/docs/flatpack-component.adoc b/components/camel-flatpack/src/main/docs/flatpack-component.adoc
index 2571184..418a642 100644
--- a/components/camel-flatpack/src/main/docs/flatpack-component.adoc
+++ b/components/camel-flatpack/src/main/docs/flatpack-component.adoc
@@ -42,14 +42,13 @@ You can append query options to the URI in the following format,
 == URI Options
 
 // component options: START
-The Flatpack component supports 2 options, which are listed below.
+The Flatpack component supports 1 options, which are listed below.
 
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
 |===
 | Name | Description | Default | Type
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -125,7 +124,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 13 options, which are listed below.
+The component supports 12 options, which are listed below.
 
 
 
@@ -134,7 +133,6 @@ The component supports 13 options, which are listed below.
 | Name | Description | Default | Type
 | *camel.component.flatpack.basic-property-binding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | Boolean
 | *camel.component.flatpack.enabled* | Enable flatpack component | true | Boolean
-| *camel.component.flatpack.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 | *camel.dataformat.flatpack.allow-short-lines* | Allows for lines to be shorter than expected and ignores the extra characters | false | Boolean
 | *camel.dataformat.flatpack.content-type-header* | Whether the data format should set the Content-Type header with the type from the data format if the data format is capable of doing so. For example application/xml for data formats marshalling to XML, or application/json for data formats marshalling to JSon etc. | false | Boolean
 | *camel.dataformat.flatpack.definition* | The flatpack pzmap configuration file. Can be omitted in simpler situations, but its preferred to use the pzmap. |  | String
diff --git a/components/camel-flatpack/src/main/docs/flatpack-dataformat.adoc b/components/camel-flatpack/src/main/docs/flatpack-dataformat.adoc
index a3e33e9..e4f05c0 100644
--- a/components/camel-flatpack/src/main/docs/flatpack-dataformat.adoc
+++ b/components/camel-flatpack/src/main/docs/flatpack-dataformat.adoc
@@ -56,7 +56,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 13 options, which are listed below.
+The component supports 12 options, which are listed below.
 
 
 
@@ -65,7 +65,6 @@ The component supports 13 options, which are listed below.
 | Name | Description | Default | Type
 | *camel.component.flatpack.basic-property-binding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | Boolean
 | *camel.component.flatpack.enabled* | Enable flatpack component | true | Boolean
-| *camel.component.flatpack.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 | *camel.dataformat.flatpack.allow-short-lines* | Allows for lines to be shorter than expected and ignores the extra characters | false | Boolean
 | *camel.dataformat.flatpack.content-type-header* | Whether the data format should set the Content-Type header with the type from the data format if the data format is capable of doing so. For example application/xml for data formats marshalling to XML, or application/json for data formats marshalling to JSon etc. | false | Boolean
 | *camel.dataformat.flatpack.definition* | The flatpack pzmap configuration file. Can be omitted in simpler situations, but its preferred to use the pzmap. |  | String
diff --git a/components/camel-flink/src/main/docs/flink-component.adoc b/components/camel-flink/src/main/docs/flink-component.adoc
index eabaa9a..78ab321 100644
--- a/components/camel-flink/src/main/docs/flink-component.adoc
+++ b/components/camel-flink/src/main/docs/flink-component.adoc
@@ -90,7 +90,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 7 options, which are listed below.
+The component supports 6 options, which are listed below.
 
 
 
@@ -103,7 +103,6 @@ The component supports 7 options, which are listed below.
 | *camel.component.flink.data-stream* | DataStream to compute against. The option is a org.apache.flink.streaming.api.datastream.DataStream type. |  | String
 | *camel.component.flink.data-stream-callback* | Function performing action against a DataStream. The option is a org.apache.camel.component.flink.DataStreamCallback type. |  | String
 | *camel.component.flink.enabled* | Enable flink component | true | Boolean
-| *camel.component.flink.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
 // spring-boot-auto-configure options: END
 
@@ -116,7 +115,7 @@ The component supports 7 options, which are listed below.
 
 
 // component options: START
-The Apache Flink component supports 6 options, which are listed below.
+The Apache Flink component supports 5 options, which are listed below.
 
 
 
@@ -127,7 +126,6 @@ The Apache Flink component supports 6 options, which are listed below.
 | *dataStream* (producer) | DataStream to compute against. |  | DataStream
 | *dataSetCallback* (producer) | Function performing action against a DataSet. |  | DataSetCallback
 | *dataStreamCallback* (producer) | Function performing action against a DataStream. |  | DataStreamCallback
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
diff --git a/components/camel-fop/src/main/docs/fop-component.adoc b/components/camel-fop/src/main/docs/fop-component.adoc
index 4884543..a564d36 100644
--- a/components/camel-fop/src/main/docs/fop-component.adoc
+++ b/components/camel-fop/src/main/docs/fop-component.adoc
@@ -63,14 +63,13 @@ http://svn.apache.org/repos/asf/xmlgraphics/commons/trunk/src/java/org/apache/xm
 == Endpoint Options
 
 // component options: START
-The FOP component supports 2 options, which are listed below.
+The FOP component supports 1 options, which are listed below.
 
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
 |===
 | Name | Description | Default | Type
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -125,7 +124,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 3 options, which are listed below.
+The component supports 2 options, which are listed below.
 
 
 
@@ -134,7 +133,6 @@ The component supports 3 options, which are listed below.
 | Name | Description | Default | Type
 | *camel.component.fop.basic-property-binding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | Boolean
 | *camel.component.fop.enabled* | Enable fop component | true | Boolean
-| *camel.component.fop.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
 // spring-boot-auto-configure options: END
 
diff --git a/components/camel-freemarker/src/main/docs/freemarker-component.adoc b/components/camel-freemarker/src/main/docs/freemarker-component.adoc
index ff0068b..d994343 100644
--- a/components/camel-freemarker/src/main/docs/freemarker-component.adoc
+++ b/components/camel-freemarker/src/main/docs/freemarker-component.adoc
@@ -40,7 +40,7 @@ You can append query options to the URI in the following format,
 
 
 // component options: START
-The Freemarker component supports 3 options, which are listed below.
+The Freemarker component supports 2 options, which are listed below.
 
 
 
@@ -48,7 +48,6 @@ The Freemarker component supports 3 options, which are listed below.
 |===
 | Name | Description | Default | Type
 | *configuration* (advanced) | To use an existing freemarker.template.Configuration instance as the configuration. |  | Configuration
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -107,7 +106,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 4 options, which are listed below.
+The component supports 3 options, which are listed below.
 
 
 
@@ -117,7 +116,6 @@ The component supports 4 options, which are listed below.
 | *camel.component.freemarker.basic-property-binding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | Boolean
 | *camel.component.freemarker.configuration* | To use an existing freemarker.template.Configuration instance as the configuration. The option is a freemarker.template.Configuration type. |  | String
 | *camel.component.freemarker.enabled* | Enable freemarker component | true | Boolean
-| *camel.component.freemarker.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
 // spring-boot-auto-configure options: END
 
diff --git a/components/camel-ftp/src/main/docs/ftp-component.adoc b/components/camel-ftp/src/main/docs/ftp-component.adoc
index 7dd8c56..b528e1b 100644
--- a/components/camel-ftp/src/main/docs/ftp-component.adoc
+++ b/components/camel-ftp/src/main/docs/ftp-component.adoc
@@ -67,14 +67,13 @@ The options below are exclusive for the FTP component.
 
 
 // component options: START
-The FTP component supports 2 options, which are listed below.
+The FTP component supports 1 options, which are listed below.
 
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
 |===
 | Name | Description | Default | Type
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -236,7 +235,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 3 options, which are listed below.
+The component supports 2 options, which are listed below.
 
 
 
@@ -245,7 +244,6 @@ The component supports 3 options, which are listed below.
 | Name | Description | Default | Type
 | *camel.component.ftp.basic-property-binding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | Boolean
 | *camel.component.ftp.enabled* | Enable \ftp component | true | Boolean
-| *camel.component.ftp.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
 // spring-boot-auto-configure options: END
 
diff --git a/components/camel-ftp/src/main/docs/ftps-component.adoc b/components/camel-ftp/src/main/docs/ftps-component.adoc
index 456504a..43813fb 100644
--- a/components/camel-ftp/src/main/docs/ftps-component.adoc
+++ b/components/camel-ftp/src/main/docs/ftps-component.adoc
@@ -26,7 +26,7 @@ For more information you can look at xref:ftp-component.adoc[FTP component]
 The options below are exclusive for the FTPS component.
 
 // component options: START
-The FTPS component supports 3 options, which are listed below.
+The FTPS component supports 2 options, which are listed below.
 
 
 
@@ -34,7 +34,6 @@ The FTPS component supports 3 options, which are listed below.
 |===
 | Name | Description | Default | Type
 | *useGlobalSslContext Parameters* (security) | Enable usage of global SSL context parameters. | false | boolean
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -203,7 +202,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 4 options, which are listed below.
+The component supports 3 options, which are listed below.
 
 
 
@@ -212,7 +211,6 @@ The component supports 4 options, which are listed below.
 | Name | Description | Default | Type
 | *camel.component.ftps.basic-property-binding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | Boolean
 | *camel.component.ftps.enabled* | Enable \ftps component | true | Boolean
-| *camel.component.ftps.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 | *camel.component.ftps.use-global-ssl-context-parameters* | Enable usage of global SSL context parameters. | false | Boolean
 |===
 // spring-boot-auto-configure options: END
diff --git a/components/camel-ftp/src/main/docs/sftp-component.adoc b/components/camel-ftp/src/main/docs/sftp-component.adoc
index 4c3efd7..048b5fd 100644
--- a/components/camel-ftp/src/main/docs/sftp-component.adoc
+++ b/components/camel-ftp/src/main/docs/sftp-component.adoc
@@ -26,14 +26,13 @@ For more information you can look at xref:ftp-component.adoc[FTP component]
 The options below are exclusive for the FTPS component.
 
 // component options: START
-The SFTP component supports 2 options, which are listed below.
+The SFTP component supports 1 options, which are listed below.
 
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
 |===
 | Name | Description | Default | Type
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
diff --git a/components/camel-ganglia/src/main/docs/ganglia-component.adoc b/components/camel-ganglia/src/main/docs/ganglia-component.adoc
index 361e085..ec5790b 100644
--- a/components/camel-ganglia/src/main/docs/ganglia-component.adoc
+++ b/components/camel-ganglia/src/main/docs/ganglia-component.adoc
@@ -51,7 +51,7 @@ You can append query options to the URI in the following format,
 
 
 // component options: START
-The Ganglia component supports 3 options, which are listed below.
+The Ganglia component supports 2 options, which are listed below.
 
 
 
@@ -59,7 +59,6 @@ The Ganglia component supports 3 options, which are listed below.
 |===
 | Name | Description | Default | Type
 | *configuration* (advanced) | To use the shared configuration |  | GangliaConfiguration
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -128,7 +127,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 17 options, which are listed below.
+The component supports 16 options, which are listed below.
 
 
 
@@ -151,7 +150,6 @@ The component supports 17 options, which are listed below.
 | *camel.component.ganglia.configuration.units* | Any unit of measurement that qualifies the metric, e.g. widgets, litres, bytes. Do not include a prefix such as k (kilo) or m (milli), other tools may scale the units later. The value should be unscaled. |  | String
 | *camel.component.ganglia.configuration.wire-format31x* | Use the wire format of Ganglia 3.1.0 and later versions. Set this to false to use Ganglia 3.0.x or earlier. | true | Boolean
 | *camel.component.ganglia.enabled* | Enable ganglia component | true | Boolean
-| *camel.component.ganglia.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
 // spring-boot-auto-configure options: END
 
diff --git a/components/camel-geocoder/src/main/docs/geocoder-component.adoc b/components/camel-geocoder/src/main/docs/geocoder-component.adoc
index 579ab40..44a70b1 100644
--- a/components/camel-geocoder/src/main/docs/geocoder-component.adoc
+++ b/components/camel-geocoder/src/main/docs/geocoder-component.adoc
@@ -33,14 +33,13 @@ geocoder:latlng:latitude,longitude[?options]
 
 
 // component options: START
-The Geocoder component supports 2 options, which are listed below.
+The Geocoder component supports 1 options, which are listed below.
 
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
 |===
 | Name | Description | Default | Type
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -107,7 +106,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 3 options, which are listed below.
+The component supports 2 options, which are listed below.
 
 
 
@@ -116,7 +115,6 @@ The component supports 3 options, which are listed below.
 | Name | Description | Default | Type
 | *camel.component.geocoder.basic-property-binding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | Boolean
 | *camel.component.geocoder.enabled* | Enable geocoder component | true | Boolean
-| *camel.component.geocoder.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
 // spring-boot-auto-configure options: END
 
diff --git a/components/camel-git/src/main/docs/git-component.adoc b/components/camel-git/src/main/docs/git-component.adoc
index 33b436b..34be79b 100644
--- a/components/camel-git/src/main/docs/git-component.adoc
+++ b/components/camel-git/src/main/docs/git-component.adoc
@@ -30,14 +30,13 @@ repository.
 
 
 // component options: START
-The Git component supports 2 options, which are listed below.
+The Git component supports 1 options, which are listed below.
 
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
 |===
 | Name | Description | Default | Type
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -103,7 +102,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 3 options, which are listed below.
+The component supports 2 options, which are listed below.
 
 
 
@@ -112,7 +111,6 @@ The component supports 3 options, which are listed below.
 | Name | Description | Default | Type
 | *camel.component.git.basic-property-binding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | Boolean
 | *camel.component.git.enabled* | Enable git component | true | Boolean
-| *camel.component.git.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
 // spring-boot-auto-configure options: END
 
diff --git a/components/camel-github/src/main/docs/github-component.adoc b/components/camel-github/src/main/docs/github-component.adoc
index 0701102..ae51e3c 100644
--- a/components/camel-github/src/main/docs/github-component.adoc
+++ b/components/camel-github/src/main/docs/github-component.adoc
@@ -46,14 +46,13 @@ Note that these can be configured directly through the endpoint.
 
 
 // component options: START
-The GitHub component supports 2 options, which are listed below.
+The GitHub component supports 1 options, which are listed below.
 
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
 |===
 | Name | Description | Default | Type
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -118,7 +117,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 3 options, which are listed below.
+The component supports 2 options, which are listed below.
 
 
 
@@ -127,7 +126,6 @@ The component supports 3 options, which are listed below.
 | Name | Description | Default | Type
 | *camel.component.github.basic-property-binding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | Boolean
 | *camel.component.github.enabled* | Enable github component | true | Boolean
-| *camel.component.github.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
 // spring-boot-auto-configure options: END
 
diff --git a/components/camel-google-bigquery/src/main/docs/google-bigquery-component.adoc b/components/camel-google-bigquery/src/main/docs/google-bigquery-component.adoc
index bb753d8..60a4e27 100644
--- a/components/camel-google-bigquery/src/main/docs/google-bigquery-component.adoc
+++ b/components/camel-google-bigquery/src/main/docs/google-bigquery-component.adoc
@@ -57,7 +57,7 @@ Service Account Email and Service Account Key can be found in the GCP JSON crede
 == Options
 
 // component options: START
-The Google BigQuery component supports 5 options, which are listed below.
+The Google BigQuery component supports 4 options, which are listed below.
 
 
 
@@ -67,7 +67,6 @@ The Google BigQuery component supports 5 options, which are listed below.
 | *projectId* (producer) | Google Cloud Project Id |  | String
 | *datasetId* (producer) | BigQuery Dataset Id |  | String
 | *connectionFactory* (producer) | ConnectionFactory to obtain connection to Bigquery Service. If non provided the default one will be used |  | GoogleBigQuery ConnectionFactory
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -122,7 +121,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 9 options, which are listed below.
+The component supports 8 options, which are listed below.
 
 
 
@@ -137,7 +136,6 @@ The component supports 9 options, which are listed below.
 | *camel.component.google-bigquery.dataset-id* | BigQuery Dataset Id |  | String
 | *camel.component.google-bigquery.enabled* | Whether to enable auto configuration of the google-bigquery component. This is enabled by default. |  | Boolean
 | *camel.component.google-bigquery.project-id* | Google Cloud Project Id |  | String
-| *camel.component.google-bigquery.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
 // spring-boot-auto-configure options: END
 
diff --git a/components/camel-google-bigquery/src/main/docs/google-bigquery-sql-component.adoc b/components/camel-google-bigquery/src/main/docs/google-bigquery-sql-component.adoc
index a8c85da..fc2b28f 100644
--- a/components/camel-google-bigquery/src/main/docs/google-bigquery-sql-component.adoc
+++ b/components/camel-google-bigquery/src/main/docs/google-bigquery-sql-component.adoc
@@ -74,7 +74,7 @@ You can externalize your SQL queries to files in the classpath or file system as
 == Options
 
 // component options: START
-The Google BigQuery Standard SQL component supports 4 options, which are listed below.
+The Google BigQuery Standard SQL component supports 3 options, which are listed below.
 
 
 
@@ -83,7 +83,6 @@ The Google BigQuery Standard SQL component supports 4 options, which are listed
 | Name | Description | Default | Type
 | *projectId* (producer) | Google Cloud Project Id |  | String
 | *connectionFactory* (producer) | ConnectionFactory to obtain connection to Bigquery Service. If non provided the default one will be used |  | GoogleBigQuery ConnectionFactory
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -136,7 +135,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 8 options, which are listed below.
+The component supports 7 options, which are listed below.
 
 
 
@@ -150,7 +149,6 @@ The component supports 8 options, which are listed below.
 | *camel.component.google-bigquery-sql.connection-factory.service-u-r-l* |  |  | String
 | *camel.component.google-bigquery-sql.enabled* | Whether to enable auto configuration of the google-bigquery-sql component. This is enabled by default. |  | Boolean
 | *camel.component.google-bigquery-sql.project-id* | Google Cloud Project Id |  | String
-| *camel.component.google-bigquery-sql.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
 // spring-boot-auto-configure options: END
 
diff --git a/components/camel-google-calendar/src/main/docs/google-calendar-component.adoc b/components/camel-google-calendar/src/main/docs/google-calendar-component.adoc
index 1d19ba6..41baaac 100644
--- a/components/camel-google-calendar/src/main/docs/google-calendar-component.adoc
+++ b/components/camel-google-calendar/src/main/docs/google-calendar-component.adoc
@@ -37,7 +37,7 @@ for this component:
 
 
 // component options: START
-The Google Calendar component supports 4 options, which are listed below.
+The Google Calendar component supports 3 options, which are listed below.
 
 
 
@@ -46,7 +46,6 @@ The Google Calendar component supports 4 options, which are listed below.
 | Name | Description | Default | Type
 | *configuration* (common) | To use the shared configuration |  | GoogleCalendar Configuration
 | *clientFactory* (advanced) | To use the GoogleCalendarClientFactory as factory for creating the client. Will by default use BatchGoogleCalendarClientFactory |  | GoogleCalendarClient Factory
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -118,7 +117,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 15 options, which are listed below.
+The component supports 14 options, which are listed below.
 
 
 
@@ -139,7 +138,6 @@ The component supports 15 options, which are listed below.
 | *camel.component.google-calendar.configuration.scopes* | Specifies the level of permissions you want a calendar application to have to a user account. You can separate multiple scopes by comma. See \https://developers.google.com/google-apps/calendar/auth for more info. | https://www.googleapis.com/auth/calendar | String
 | *camel.component.google-calendar.configuration.user* | The email address of the user the application is trying to impersonate in the service account flow |  | String
 | *camel.component.google-calendar.enabled* | Enable google-calendar component | true | Boolean
-| *camel.component.google-calendar.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
 // spring-boot-auto-configure options: END
 
diff --git a/components/camel-google-calendar/src/main/docs/google-calendar-stream-component.adoc b/components/camel-google-calendar/src/main/docs/google-calendar-stream-component.adoc
index 92464a6..68d5914 100644
--- a/components/camel-google-calendar/src/main/docs/google-calendar-stream-component.adoc
+++ b/components/camel-google-calendar/src/main/docs/google-calendar-stream-component.adoc
@@ -44,7 +44,7 @@ The Google Calendar Component uses the following URI format:
 
 
 // component options: START
-The Google Calendar Stream component supports 4 options, which are listed below.
+The Google Calendar Stream component supports 3 options, which are listed below.
 
 
 
@@ -53,7 +53,6 @@ The Google Calendar Stream component supports 4 options, which are listed below.
 | Name | Description | Default | Type
 | *configuration* (advanced) | The configuration |  | GoogleCalendarStream Configuration
 | *clientFactory* (advanced) | The client Factory |  | GoogleCalendarClient Factory
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -135,7 +134,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 16 options, which are listed below.
+The component supports 15 options, which are listed below.
 
 
 
@@ -157,7 +156,6 @@ The component supports 16 options, which are listed below.
 | *camel.component.google-calendar-stream.configuration.refresh-token* | OAuth 2 refresh token. Using this, the Google Calendar component can obtain a new accessToken whenever the current one expires - a necessity if the application is long-lived. |  | String
 | *camel.component.google-calendar-stream.configuration.scopes* | Specifies the level of permissions you want a calendar application to have to a user account. See \https://developers.google.com/calendar/auth for more info. |  | List
 | *camel.component.google-calendar-stream.enabled* | Whether to enable auto configuration of the google-calendar-stream component. This is enabled by default. |  | Boolean
-| *camel.component.google-calendar-stream.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
 // spring-boot-auto-configure options: END
 
diff --git a/components/camel-google-drive/src/main/docs/google-drive-component.adoc b/components/camel-google-drive/src/main/docs/google-drive-component.adoc
index 0280a39..d87292e 100644
--- a/components/camel-google-drive/src/main/docs/google-drive-component.adoc
+++ b/components/camel-google-drive/src/main/docs/google-drive-component.adoc
@@ -64,7 +64,7 @@ Endpoint prefix can be one of:
 
 
 // component options: START
-The Google Drive component supports 4 options, which are listed below.
+The Google Drive component supports 3 options, which are listed below.
 
 
 
@@ -73,7 +73,6 @@ The Google Drive component supports 4 options, which are listed below.
 | Name | Description | Default | Type
 | *configuration* (common) | To use the shared configuration |  | GoogleDrive Configuration
 | *clientFactory* (advanced) | To use the GoogleCalendarClientFactory as factory for creating the client. Will by default use BatchGoogleDriveClientFactory |  | GoogleDriveClient Factory
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -143,7 +142,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 12 options, which are listed below.
+The component supports 11 options, which are listed below.
 
 
 
@@ -161,7 +160,6 @@ The component supports 12 options, which are listed below.
 | *camel.component.google-drive.configuration.refresh-token* | OAuth 2 refresh token. Using this, the Google Calendar component can obtain a new accessToken whenever the current one expires - a necessity if the application is long-lived. |  | String
 | *camel.component.google-drive.configuration.scopes* | Specifies the level of permissions you want a drive application to have to a user account. See \https://developers.google.com/drive/web/scopes for more info. |  | List
 | *camel.component.google-drive.enabled* | Enable google-drive component | true | Boolean
-| *camel.component.google-drive.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
 // spring-boot-auto-configure options: END
 
diff --git a/components/camel-google-mail/src/main/docs/google-mail-component.adoc b/components/camel-google-mail/src/main/docs/google-mail-component.adoc
index c7ff43f..db5234a 100644
--- a/components/camel-google-mail/src/main/docs/google-mail-component.adoc
+++ b/components/camel-google-mail/src/main/docs/google-mail-component.adoc
@@ -56,7 +56,7 @@ Endpoint prefix can be one of:
 
 
 // component options: START
-The Google Mail component supports 4 options, which are listed below.
+The Google Mail component supports 3 options, which are listed below.
 
 
 
@@ -65,7 +65,6 @@ The Google Mail component supports 4 options, which are listed below.
 | Name | Description | Default | Type
 | *configuration* (common) | To use the shared configuration |  | GoogleMailConfiguration
 | *clientFactory* (advanced) | To use the GoogleCalendarClientFactory as factory for creating the client. Will by default use BatchGoogleMailClientFactory |  | GoogleMailClient Factory
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -132,7 +131,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 11 options, which are listed below.
+The component supports 10 options, which are listed below.
 
 
 
@@ -149,7 +148,6 @@ The component supports 11 options, which are listed below.
 | *camel.component.google-mail.configuration.method-name* | What sub operation to use for the selected operation |  | String
 | *camel.component.google-mail.configuration.refresh-token* | OAuth 2 refresh token. Using this, the Google Calendar component can obtain a new accessToken whenever the current one expires - a necessity if the application is long-lived. |  | String
 | *camel.component.google-mail.enabled* | Enable google-mail component | true | Boolean
-| *camel.component.google-mail.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
 // spring-boot-auto-configure options: END
 
diff --git a/components/camel-google-mail/src/main/docs/google-mail-stream-component.adoc b/components/camel-google-mail/src/main/docs/google-mail-stream-component.adoc
index dfde7b3..b40b8fd 100644
--- a/components/camel-google-mail/src/main/docs/google-mail-stream-component.adoc
+++ b/components/camel-google-mail/src/main/docs/google-mail-stream-component.adoc
@@ -42,7 +42,7 @@ The GoogleMail Component uses the following URI format:
 
 
 // component options: START
-The Google Mail Stream component supports 4 options, which are listed below.
+The Google Mail Stream component supports 3 options, which are listed below.
 
 
 
@@ -51,7 +51,6 @@ The Google Mail Stream component supports 4 options, which are listed below.
 | Name | Description | Default | Type
 | *configuration* (advanced) | The configuration |  | GoogleMailStream Configuration
 | *clientFactory* (advanced) | The client Factory |  | GoogleMailClient Factory
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -131,7 +130,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 14 options, which are listed below.
+The component supports 13 options, which are listed below.
 
 
 
@@ -151,7 +150,6 @@ The component supports 14 options, which are listed below.
 | *camel.component.google-mail-stream.configuration.query* | The query to execute on gmail box | is:unread | String
 | *camel.component.google-mail-stream.configuration.refresh-token* | OAuth 2 refresh token. Using this, the Google Calendar component can obtain a new accessToken whenever the current one expires - a necessity if the application is long-lived. |  | String
 | *camel.component.google-mail-stream.enabled* | Whether to enable auto configuration of the google-mail-stream component. This is enabled by default. |  | Boolean
-| *camel.component.google-mail-stream.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
 // spring-boot-auto-configure options: END
 
diff --git a/components/camel-google-pubsub/src/main/docs/google-pubsub-component.adoc b/components/camel-google-pubsub/src/main/docs/google-pubsub-component.adoc
index 51be39e..040441e 100644
--- a/components/camel-google-pubsub/src/main/docs/google-pubsub-component.adoc
+++ b/components/camel-google-pubsub/src/main/docs/google-pubsub-component.adoc
@@ -35,7 +35,7 @@ Destination Name can be either a topic or a subscription name.
 == Options
 
 // component options: START
-The Google Pubsub component supports 3 options, which are listed below.
+The Google Pubsub component supports 2 options, which are listed below.
 
 
 
@@ -43,7 +43,6 @@ The Google Pubsub component supports 3 options, which are listed below.
 |===
 | Name | Description | Default | Type
 | *connectionFactory* (common) | Sets the connection factory to use: provides the ability to explicitly manage connection credentials: - the path to the key file - the Service Account Key / Email pair |  | GooglePubsubConnection Factory
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -103,7 +102,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 7 options, which are listed below.
+The component supports 6 options, which are listed below.
 
 
 
@@ -116,7 +115,6 @@ The component supports 7 options, which are listed below.
 | *camel.component.google-pubsub.connection-factory.service-account-key* |  |  | String
 | *camel.component.google-pubsub.connection-factory.service-u-r-l* |  |  | String
 | *camel.component.google-pubsub.enabled* | Enable google-pubsub component | true | Boolean
-| *camel.component.google-pubsub.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
 // spring-boot-auto-configure options: END
 
diff --git a/components/camel-google-sheets/src/main/docs/google-sheets-component.adoc b/components/camel-google-sheets/src/main/docs/google-sheets-component.adoc
index 932711e..7cf6145 100644
--- a/components/camel-google-sheets/src/main/docs/google-sheets-component.adoc
+++ b/components/camel-google-sheets/src/main/docs/google-sheets-component.adoc
@@ -52,7 +52,7 @@ Endpoint prefix can be one of:
 
 
 // component options: START
-The Google Sheets component supports 4 options, which are listed below.
+The Google Sheets component supports 3 options, which are listed below.
 
 
 
@@ -61,7 +61,6 @@ The Google Sheets component supports 4 options, which are listed below.
 | Name | Description | Default | Type
 | *configuration* (common) | To use the shared configuration |  | GoogleSheets Configuration
 | *clientFactory* (advanced) | To use the GoogleSheetsClientFactory as factory for creating the client. Will by default use BatchGoogleSheetsClientFactory |  | GoogleSheetsClient Factory
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -128,7 +127,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 11 options, which are listed below.
+The component supports 10 options, which are listed below.
 
 
 
@@ -145,7 +144,6 @@ The component supports 11 options, which are listed below.
 | *camel.component.google-sheets.configuration.method-name* | What sub operation to use for the selected operation |  | String
 | *camel.component.google-sheets.configuration.refresh-token* | OAuth 2 refresh token. Using this, the Google Sheets component can obtain a new accessToken whenever the current one expires - a necessity if the application is long-lived. |  | String
 | *camel.component.google-sheets.enabled* | Whether to enable auto configuration of the google-sheets component. This is enabled by default. |  | Boolean
-| *camel.component.google-sheets.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
 // spring-boot-auto-configure options: END
 
diff --git a/components/camel-google-sheets/src/main/docs/google-sheets-stream-component.adoc b/components/camel-google-sheets/src/main/docs/google-sheets-stream-component.adoc
index 2e0857c..9693dcc 100644
--- a/components/camel-google-sheets/src/main/docs/google-sheets-stream-component.adoc
+++ b/components/camel-google-sheets/src/main/docs/google-sheets-stream-component.adoc
@@ -44,7 +44,7 @@ The Google Sheets Component uses the following URI format:
 
 
 // component options: START
-The Google Sheets Stream component supports 4 options, which are listed below.
+The Google Sheets Stream component supports 3 options, which are listed below.
 
 
 
@@ -53,7 +53,6 @@ The Google Sheets Stream component supports 4 options, which are listed below.
 | Name | Description | Default | Type
 | *configuration* (consumer) | To use the shared configuration |  | GoogleSheetsStream Configuration
 | *clientFactory* (advanced) | To use the GoogleSheetsClientFactory as factory for creating the client. Will by default use BatchGoogleSheetsClientFactory |  | GoogleSheetsClient Factory
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -137,7 +136,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 18 options, which are listed below.
+The component supports 17 options, which are listed below.
 
 
 
@@ -161,7 +160,6 @@ The component supports 18 options, which are listed below.
 | *camel.component.google-sheets-stream.configuration.spreadsheet-id* | Specifies the spreadsheet identifier that is used to identify the target to obtain. |  | String
 | *camel.component.google-sheets-stream.configuration.value-render-option* | Determines how values should be rendered in the output. | FORMATTED_VALUE | String
 | *camel.component.google-sheets-stream.enabled* | Whether to enable auto configuration of the google-sheets-stream component. This is enabled by default. |  | Boolean
-| *camel.component.google-sheets-stream.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
 // spring-boot-auto-configure options: END
 
diff --git a/components/camel-gora/src/main/docs/gora-component.adoc b/components/camel-gora/src/main/docs/gora-component.adoc
index 54570cc..c0cff6e 100644
--- a/components/camel-gora/src/main/docs/gora-component.adoc
+++ b/components/camel-gora/src/main/docs/gora-component.adoc
@@ -76,14 +76,13 @@ http://gora.apache.org/current/gora-conf.html[gora-conf] page.
 
 
 // component options: START
-The Gora component supports 2 options, which are listed below.
+The Gora component supports 1 options, which are listed below.
 
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
 |===
 | Name | Description | Default | Type
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -158,7 +157,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 3 options, which are listed below.
+The component supports 2 options, which are listed below.
 
 
 
@@ -167,7 +166,6 @@ The component supports 3 options, which are listed below.
 | Name | Description | Default | Type
 | *camel.component.gora.basic-property-binding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | Boolean
 | *camel.component.gora.enabled* | Enable gora component | true | Boolean
-| *camel.component.gora.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
 // spring-boot-auto-configure options: END
 
diff --git a/components/camel-grape/src/main/docs/grape-component.adoc b/components/camel-grape/src/main/docs/grape-component.adoc
index e7a267f..1072a92 100644
--- a/components/camel-grape/src/main/docs/grape-component.adoc
+++ b/components/camel-grape/src/main/docs/grape-component.adoc
@@ -13,7 +13,7 @@ without the restart of the router.
 == Grape options
 
 // component options: START
-The Grape component supports 3 options, which are listed below.
+The Grape component supports 2 options, which are listed below.
 
 
 
@@ -21,7 +21,6 @@ The Grape component supports 3 options, which are listed below.
 |===
 | Name | Description | Default | Type
 | *patchesRepository* (advanced) | Implementation of org.apache.camel.component.grape.PatchesRepository, by default: FilePatchesRepository |  | PatchesRepository
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
diff --git a/components/camel-grpc/src/main/docs/grpc-component.adoc b/components/camel-grpc/src/main/docs/grpc-component.adoc
index c82d4d4..9e64274 100644
--- a/components/camel-grpc/src/main/docs/grpc-component.adoc
+++ b/components/camel-grpc/src/main/docs/grpc-component.adoc
@@ -40,14 +40,13 @@ grpc://service[?options]
 == Endpoint Options
 
 // component options: START
-The gRPC component supports 2 options, which are listed below.
+The gRPC component supports 1 options, which are listed below.
 
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
 |===
 | Name | Description | Default | Type
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -124,7 +123,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 3 options, which are listed below.
+The component supports 2 options, which are listed below.
 
 
 
@@ -133,7 +132,6 @@ The component supports 3 options, which are listed below.
 | Name | Description | Default | Type
 | *camel.component.grpc.basic-property-binding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | Boolean
 | *camel.component.grpc.enabled* | Enable grpc component | true | Boolean
-| *camel.component.grpc.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
 // spring-boot-auto-configure options: END
 
diff --git a/components/camel-guava-eventbus/src/main/docs/guava-eventbus-component.adoc b/components/camel-guava-eventbus/src/main/docs/guava-eventbus-component.adoc
index cdce283..36ee670 100644
--- a/components/camel-guava-eventbus/src/main/docs/guava-eventbus-component.adoc
+++ b/components/camel-guava-eventbus/src/main/docs/guava-eventbus-component.adoc
@@ -46,7 +46,7 @@ registry.
 
 
 // component options: START
-The Guava EventBus component supports 4 options, which are listed below.
+The Guava EventBus component supports 3 options, which are listed below.
 
 
 
@@ -55,7 +55,6 @@ The Guava EventBus component supports 4 options, which are listed below.
 | Name | Description | Default | Type
 | *eventBus* (common) | To use the given Guava EventBus instance |  | EventBus
 | *listenerInterface* (common) | The interface with method(s) marked with the Subscribe annotation. Dynamic proxy will be created over the interface so it could be registered as the EventBus listener. Particularly useful when creating multi-event listeners and for handling DeadEvent properly. This option cannot be used together with eventClass option. |  | Class
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -115,7 +114,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 5 options, which are listed below.
+The component supports 4 options, which are listed below.
 
 
 
@@ -126,7 +125,6 @@ The component supports 5 options, which are listed below.
 | *camel.component.guava-eventbus.enabled* | Enable guava-eventbus component | true | Boolean
 | *camel.component.guava-eventbus.event-bus* | To use the given Guava EventBus instance. The option is a com.google.common.eventbus.EventBus type. |  | String
 | *camel.component.guava-eventbus.listener-interface* | The interface with method(s) marked with the Subscribe annotation. Dynamic proxy will be created over the interface so it could be registered as the EventBus listener. Particularly useful when creating multi-event listeners and for handling DeadEvent properly. This option cannot be used together with eventClass option. |  | Class
-| *camel.component.guava-eventbus.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
 // spring-boot-auto-configure options: END
 
diff --git a/components/camel-hazelcast/src/main/docs/hazelcast-atomicvalue-component.adoc b/components/camel-hazelcast/src/main/docs/hazelcast-atomicvalue-component.adoc
index ad300aa..d9908ba 100644
--- a/components/camel-hazelcast/src/main/docs/hazelcast-atomicvalue-component.adoc
+++ b/components/camel-hazelcast/src/main/docs/hazelcast-atomicvalue-component.adoc
@@ -12,7 +12,7 @@ An atomic number is an object that simply provides a grid wide number (long).
 == Options
 
 // component options: START
-The Hazelcast Atomic Number component supports 4 options, which are listed below.
+The Hazelcast Atomic Number component supports 3 options, which are listed below.
 
 
 
@@ -21,7 +21,6 @@ The Hazelcast Atomic Number component supports 4 options, which are listed below
 | Name | Description | Default | Type
 | *hazelcastInstance* (advanced) | The hazelcast instance reference which can be used for hazelcast endpoint. If you don't specify the instance reference, camel use the default hazelcast instance from the camel-hazelcast instance. |  | HazelcastInstance
 | *hazelcastMode* (advanced) | The hazelcast mode reference which kind of instance should be used. If you don't specify the mode, then the node mode will be the default. | node | String
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -81,7 +80,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 7 options, which are listed below.
+The component supports 6 options, which are listed below.
 
 
 
@@ -94,7 +93,6 @@ The component supports 7 options, which are listed below.
 | *camel.component.hazelcast-atomicvalue.enabled* | Enable hazelcast-atomicvalue component | true | Boolean
 | *camel.component.hazelcast-atomicvalue.hazelcast-instance* | The hazelcast instance reference which can be used for hazelcast endpoint. If you don't specify the instance reference, camel use the default hazelcast instance from the camel-hazelcast instance. The option is a com.hazelcast.core.HazelcastInstance type. |  | String
 | *camel.component.hazelcast-atomicvalue.hazelcast-mode* | The hazelcast mode reference which kind of instance should be used. If you don't specify the mode, then the node mode will be the default. | node | String
-| *camel.component.hazelcast-atomicvalue.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
 // spring-boot-auto-configure options: END
 
diff --git a/components/camel-hazelcast/src/main/docs/hazelcast-instance-component.adoc b/components/camel-hazelcast/src/main/docs/hazelcast-instance-component.adoc
index 70f8341..2e36e3c 100644
--- a/components/camel-hazelcast/src/main/docs/hazelcast-instance-component.adoc
+++ b/components/camel-hazelcast/src/main/docs/hazelcast-instance-component.adoc
@@ -12,7 +12,7 @@ Hazelcast makes sense in one single "server node", but it's extremly powerful in
 == Options
 
 // component options: START
-The Hazelcast Instance component supports 4 options, which are listed below.
+The Hazelcast Instance component supports 3 options, which are listed below.
 
 
 
@@ -21,7 +21,6 @@ The Hazelcast Instance component supports 4 options, which are listed below.
 | Name | Description | Default | Type
 | *hazelcastInstance* (advanced) | The hazelcast instance reference which can be used for hazelcast endpoint. If you don't specify the instance reference, camel use the default hazelcast instance from the camel-hazelcast instance. |  | HazelcastInstance
 | *hazelcastMode* (advanced) | The hazelcast mode reference which kind of instance should be used. If you don't specify the mode, then the node mode will be the default. | node | String
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -85,7 +84,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 27 options, which are listed below.
+The component supports 26 options, which are listed below.
 
 
 
@@ -98,7 +97,6 @@ The component supports 27 options, which are listed below.
 | *camel.component.hazelcast-instance.enabled* | Enable hazelcast-instance component | true | Boolean
 | *camel.component.hazelcast-instance.hazelcast-instance* | The hazelcast instance reference which can be used for hazelcast endpoint. If you don't specify the instance reference, camel use the default hazelcast instance from the camel-hazelcast instance. The option is a com.hazelcast.core.HazelcastInstance type. |  | String
 | *camel.component.hazelcast-instance.hazelcast-mode* | The hazelcast mode reference which kind of instance should be used. If you don't specify the mode, then the node mode will be the default. | node | String
-| *camel.component.hazelcast-instance.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 | *camel.component.hazelcast-list.customizer.hazelcast-instance.enabled* | Enable or disable the cache-manager customizer. | true | Boolean
 | *camel.component.hazelcast-list.customizer.hazelcast-instance.override* | Configure if the cache manager eventually set on the component should be overridden by the customizer. | false | Boolean
 | *camel.component.hazelcast-map.customizer.hazelcast-instance.enabled* | Enable or disable the cache-manager customizer. | true | Boolean
diff --git a/components/camel-hazelcast/src/main/docs/hazelcast-list-component.adoc b/components/camel-hazelcast/src/main/docs/hazelcast-list-component.adoc
index 01ff469..13289a7 100644
--- a/components/camel-hazelcast/src/main/docs/hazelcast-list-component.adoc
+++ b/components/camel-hazelcast/src/main/docs/hazelcast-list-component.adoc
@@ -8,7 +8,7 @@ The http://www.hazelcast.com/[Hazelcast] List component is one of Camel Hazelcas
 == Options
 
 // component options: START
-The Hazelcast List component supports 4 options, which are listed below.
+The Hazelcast List component supports 3 options, which are listed below.
 
 
 
@@ -17,7 +17,6 @@ The Hazelcast List component supports 4 options, which are listed below.
 | Name | Description | Default | Type
 | *hazelcastInstance* (advanced) | The hazelcast instance reference which can be used for hazelcast endpoint. If you don't specify the instance reference, camel use the default hazelcast instance from the camel-hazelcast instance. |  | HazelcastInstance
 | *hazelcastMode* (advanced) | The hazelcast mode reference which kind of instance should be used. If you don't specify the mode, then the node mode will be the default. | node | String
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -82,7 +81,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 7 options, which are listed below.
+The component supports 6 options, which are listed below.
 
 
 
@@ -95,7 +94,6 @@ The component supports 7 options, which are listed below.
 | *camel.component.hazelcast-list.enabled* | Enable hazelcast-list component | true | Boolean
 | *camel.component.hazelcast-list.hazelcast-instance* | The hazelcast instance reference which can be used for hazelcast endpoint. If you don't specify the instance reference, camel use the default hazelcast instance from the camel-hazelcast instance. The option is a com.hazelcast.core.HazelcastInstance type. |  | String
 | *camel.component.hazelcast-list.hazelcast-mode* | The hazelcast mode reference which kind of instance should be used. If you don't specify the mode, then the node mode will be the default. | node | String
-| *camel.component.hazelcast-list.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
 // spring-boot-auto-configure options: END
 
diff --git a/components/camel-hazelcast/src/main/docs/hazelcast-map-component.adoc b/components/camel-hazelcast/src/main/docs/hazelcast-map-component.adoc
index 0560f78..81f7e96 100644
--- a/components/camel-hazelcast/src/main/docs/hazelcast-map-component.adoc
+++ b/components/camel-hazelcast/src/main/docs/hazelcast-map-component.adoc
@@ -9,7 +9,7 @@ The http://www.hazelcast.com/[Hazelcast] Map component is one of Camel Hazelcast
 == Options
 
 // component options: START
-The Hazelcast Map component supports 4 options, which are listed below.
+The Hazelcast Map component supports 3 options, which are listed below.
 
 
 
@@ -18,7 +18,6 @@ The Hazelcast Map component supports 4 options, which are listed below.
 | Name | Description | Default | Type
 | *hazelcastInstance* (advanced) | The hazelcast instance reference which can be used for hazelcast endpoint. If you don't specify the instance reference, camel use the default hazelcast instance from the camel-hazelcast instance. |  | HazelcastInstance
 | *hazelcastMode* (advanced) | The hazelcast mode reference which kind of instance should be used. If you don't specify the mode, then the node mode will be the default. | node | String
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -83,7 +82,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 7 options, which are listed below.
+The component supports 6 options, which are listed below.
 
 
 
@@ -96,7 +95,6 @@ The component supports 7 options, which are listed below.
 | *camel.component.hazelcast-map.enabled* | Enable hazelcast-map component | true | Boolean
 | *camel.component.hazelcast-map.hazelcast-instance* | The hazelcast instance reference which can be used for hazelcast endpoint. If you don't specify the instance reference, camel use the default hazelcast instance from the camel-hazelcast instance. The option is a com.hazelcast.core.HazelcastInstance type. |  | String
 | *camel.component.hazelcast-map.hazelcast-mode* | The hazelcast mode reference which kind of instance should be used. If you don't specify the mode, then the node mode will be the default. | node | String
-| *camel.component.hazelcast-map.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
 // spring-boot-auto-configure options: END
 
diff --git a/components/camel-hazelcast/src/main/docs/hazelcast-multimap-component.adoc b/components/camel-hazelcast/src/main/docs/hazelcast-multimap-component.adoc
index 6daabd6..1971f0f 100644
--- a/components/camel-hazelcast/src/main/docs/hazelcast-multimap-component.adoc
+++ b/components/camel-hazelcast/src/main/docs/hazelcast-multimap-component.adoc
@@ -9,7 +9,7 @@ The http://www.hazelcast.com/[Hazelcast] Multimap component is one of Camel Haze
 == Options
 
 // component options: START
-The Hazelcast Multimap component supports 4 options, which are listed below.
+The Hazelcast Multimap component supports 3 options, which are listed below.
 
 
 
@@ -18,7 +18,6 @@ The Hazelcast Multimap component supports 4 options, which are listed below.
 | Name | Description | Default | Type
 | *hazelcastInstance* (advanced) | The hazelcast instance reference which can be used for hazelcast endpoint. If you don't specify the instance reference, camel use the default hazelcast instance from the camel-hazelcast instance. |  | HazelcastInstance
 | *hazelcastMode* (advanced) | The hazelcast mode reference which kind of instance should be used. If you don't specify the mode, then the node mode will be the default. | node | String
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -84,7 +83,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 7 options, which are listed below.
+The component supports 6 options, which are listed below.
 
 
 
@@ -97,7 +96,6 @@ The component supports 7 options, which are listed below.
 | *camel.component.hazelcast-multimap.enabled* | Enable hazelcast-multimap component | true | Boolean
 | *camel.component.hazelcast-multimap.hazelcast-instance* | The hazelcast instance reference which can be used for hazelcast endpoint. If you don't specify the instance reference, camel use the default hazelcast instance from the camel-hazelcast instance. The option is a com.hazelcast.core.HazelcastInstance type. |  | String
 | *camel.component.hazelcast-multimap.hazelcast-mode* | The hazelcast mode reference which kind of instance should be used. If you don't specify the mode, then the node mode will be the default. | node | String
-| *camel.component.hazelcast-multimap.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
 // spring-boot-auto-configure options: END
 
diff --git a/components/camel-hazelcast/src/main/docs/hazelcast-queue-component.adoc b/components/camel-hazelcast/src/main/docs/hazelcast-queue-component.adoc
index f466a8d..fb22502 100644
--- a/components/camel-hazelcast/src/main/docs/hazelcast-queue-component.adoc
+++ b/components/camel-hazelcast/src/main/docs/hazelcast-queue-component.adoc
@@ -9,7 +9,7 @@ The http://www.hazelcast.com/[Hazelcast] Queue component is one of Camel Hazelca
 == Options
 
 // component options: START
-The Hazelcast Queue component supports 4 options, which are listed below.
+The Hazelcast Queue component supports 3 options, which are listed below.
 
 
 
@@ -18,7 +18,6 @@ The Hazelcast Queue component supports 4 options, which are listed below.
 | Name | Description | Default | Type
 | *hazelcastInstance* (advanced) | The hazelcast instance reference which can be used for hazelcast endpoint. If you don't specify the instance reference, camel use the default hazelcast instance from the camel-hazelcast instance. |  | HazelcastInstance
 | *hazelcastMode* (advanced) | The hazelcast mode reference which kind of instance should be used. If you don't specify the mode, then the node mode will be the default. | node | String
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -83,7 +82,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 7 options, which are listed below.
+The component supports 6 options, which are listed below.
 
 
 
@@ -96,7 +95,6 @@ The component supports 7 options, which are listed below.
 | *camel.component.hazelcast-queue.enabled* | Enable hazelcast-queue component | true | Boolean
 | *camel.component.hazelcast-queue.hazelcast-instance* | The hazelcast instance reference which can be used for hazelcast endpoint. If you don't specify the instance reference, camel use the default hazelcast instance from the camel-hazelcast instance. The option is a com.hazelcast.core.HazelcastInstance type. |  | String
 | *camel.component.hazelcast-queue.hazelcast-mode* | The hazelcast mode reference which kind of instance should be used. If you don't specify the mode, then the node mode will be the default. | node | String
-| *camel.component.hazelcast-queue.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
 // spring-boot-auto-configure options: END
 
diff --git a/components/camel-hazelcast/src/main/docs/hazelcast-replicatedmap-component.adoc b/components/camel-hazelcast/src/main/docs/hazelcast-replicatedmap-component.adoc
index 1d026c9..3b3344b 100644
--- a/components/camel-hazelcast/src/main/docs/hazelcast-replicatedmap-component.adoc
+++ b/components/camel-hazelcast/src/main/docs/hazelcast-replicatedmap-component.adoc
@@ -10,7 +10,7 @@ A replicated map is a weakly consistent, distributed key-value data structure wi
 == Options
  
 // component options: START
-The Hazelcast Replicated Map component supports 4 options, which are listed below.
+The Hazelcast Replicated Map component supports 3 options, which are listed below.
 
 
 
@@ -19,7 +19,6 @@ The Hazelcast Replicated Map component supports 4 options, which are listed belo
 | Name | Description | Default | Type
 | *hazelcastInstance* (advanced) | The hazelcast instance reference which can be used for hazelcast endpoint. If you don't specify the instance reference, camel use the default hazelcast instance from the camel-hazelcast instance. |  | HazelcastInstance
 | *hazelcastMode* (advanced) | The hazelcast mode reference which kind of instance should be used. If you don't specify the mode, then the node mode will be the default. | node | String
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -84,7 +83,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 7 options, which are listed below.
+The component supports 6 options, which are listed below.
 
 
 
@@ -97,7 +96,6 @@ The component supports 7 options, which are listed below.
 | *camel.component.hazelcast-replicatedmap.enabled* | Enable hazelcast-replicatedmap component | true | Boolean
 | *camel.component.hazelcast-replicatedmap.hazelcast-instance* | The hazelcast instance reference which can be used for hazelcast endpoint. If you don't specify the instance reference, camel use the default hazelcast instance from the camel-hazelcast instance. The option is a com.hazelcast.core.HazelcastInstance type. |  | String
 | *camel.component.hazelcast-replicatedmap.hazelcast-mode* | The hazelcast mode reference which kind of instance should be used. If you don't specify the mode, then the node mode will be the default. | node | String
-| *camel.component.hazelcast-replicatedmap.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
 // spring-boot-auto-configure options: END
 
diff --git a/components/camel-hazelcast/src/main/docs/hazelcast-ringbuffer-component.adoc b/components/camel-hazelcast/src/main/docs/hazelcast-ringbuffer-component.adoc
index d0b1aa9..dc9b3ba 100644
--- a/components/camel-hazelcast/src/main/docs/hazelcast-ringbuffer-component.adoc
+++ b/components/camel-hazelcast/src/main/docs/hazelcast-ringbuffer-component.adoc
@@ -9,7 +9,7 @@ Ringbuffer is a distributed data structure where the data is stored in a ring-li
 == Options
 
 // component options: START
-The Hazelcast Ringbuffer component supports 4 options, which are listed below.
+The Hazelcast Ringbuffer component supports 3 options, which are listed below.
 
 
 
@@ -18,7 +18,6 @@ The Hazelcast Ringbuffer component supports 4 options, which are listed below.
 | Name | Description | Default | Type
 | *hazelcastInstance* (advanced) | The hazelcast instance reference which can be used for hazelcast endpoint. If you don't specify the instance reference, camel use the default hazelcast instance from the camel-hazelcast instance. |  | HazelcastInstance
 | *hazelcastMode* (advanced) | The hazelcast mode reference which kind of instance should be used. If you don't specify the mode, then the node mode will be the default. | node | String
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -78,7 +77,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 7 options, which are listed below.
+The component supports 6 options, which are listed below.
 
 
 
@@ -91,7 +90,6 @@ The component supports 7 options, which are listed below.
 | *camel.component.hazelcast-ringbuffer.enabled* | Enable hazelcast-ringbuffer component | true | Boolean
 | *camel.component.hazelcast-ringbuffer.hazelcast-instance* | The hazelcast instance reference which can be used for hazelcast endpoint. If you don't specify the instance reference, camel use the default hazelcast instance from the camel-hazelcast instance. The option is a com.hazelcast.core.HazelcastInstance type. |  | String
 | *camel.component.hazelcast-ringbuffer.hazelcast-mode* | The hazelcast mode reference which kind of instance should be used. If you don't specify the mode, then the node mode will be the default. | node | String
-| *camel.component.hazelcast-ringbuffer.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
 // spring-boot-auto-configure options: END
 
diff --git a/components/camel-hazelcast/src/main/docs/hazelcast-seda-component.adoc b/components/camel-hazelcast/src/main/docs/hazelcast-seda-component.adoc
index 44d43b4..e70800e 100644
--- a/components/camel-hazelcast/src/main/docs/hazelcast-seda-component.adoc
+++ b/components/camel-hazelcast/src/main/docs/hazelcast-seda-component.adoc
@@ -10,7 +10,7 @@ SEDA component differs from the rest components provided. It implements a work-q
 == Options
 
 // component options: START
-The Hazelcast SEDA component supports 4 options, which are listed below.
+The Hazelcast SEDA component supports 3 options, which are listed below.
 
 
 
@@ -19,7 +19,6 @@ The Hazelcast SEDA component supports 4 options, which are listed below.
 | Name | Description | Default | Type
 | *hazelcastInstance* (advanced) | The hazelcast instance reference which can be used for hazelcast endpoint. If you don't specify the instance reference, camel use the default hazelcast instance from the camel-hazelcast instance. |  | HazelcastInstance
 | *hazelcastMode* (advanced) | The hazelcast mode reference which kind of instance should be used. If you don't specify the mode, then the node mode will be the default. | node | String
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -84,7 +83,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 7 options, which are listed below.
+The component supports 6 options, which are listed below.
 
 
 
@@ -97,7 +96,6 @@ The component supports 7 options, which are listed below.
 | *camel.component.hazelcast-seda.enabled* | Enable hazelcast-seda component | true | Boolean
 | *camel.component.hazelcast-seda.hazelcast-instance* | The hazelcast instance reference which can be used for hazelcast endpoint. If you don't specify the instance reference, camel use the default hazelcast instance from the camel-hazelcast instance. The option is a com.hazelcast.core.HazelcastInstance type. |  | String
 | *camel.component.hazelcast-seda.hazelcast-mode* | The hazelcast mode reference which kind of instance should be used. If you don't specify the mode, then the node mode will be the default. | node | String
-| *camel.component.hazelcast-seda.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
 // spring-boot-auto-configure options: END
 
diff --git a/components/camel-hazelcast/src/main/docs/hazelcast-set-component.adoc b/components/camel-hazelcast/src/main/docs/hazelcast-set-component.adoc
index 0f131a9..07d69d7 100644
--- a/components/camel-hazelcast/src/main/docs/hazelcast-set-component.adoc
+++ b/components/camel-hazelcast/src/main/docs/hazelcast-set-component.adoc
@@ -9,7 +9,7 @@ The http://www.hazelcast.com/[Hazelcast] Set component is one of Camel Hazelcast
 == Options
 
 // component options: START
-The Hazelcast Set component supports 4 options, which are listed below.
+The Hazelcast Set component supports 3 options, which are listed below.
 
 
 
@@ -18,7 +18,6 @@ The Hazelcast Set component supports 4 options, which are listed below.
 | Name | Description | Default | Type
 | *hazelcastInstance* (advanced) | The hazelcast instance reference which can be used for hazelcast endpoint. If you don't specify the instance reference, camel use the default hazelcast instance from the camel-hazelcast instance. |  | HazelcastInstance
 | *hazelcastMode* (advanced) | The hazelcast mode reference which kind of instance should be used. If you don't specify the mode, then the node mode will be the default. | node | String
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -83,7 +82,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 7 options, which are listed below.
+The component supports 6 options, which are listed below.
 
 
 
@@ -96,7 +95,6 @@ The component supports 7 options, which are listed below.
 | *camel.component.hazelcast-set.enabled* | Enable hazelcast-set component | true | Boolean
 | *camel.component.hazelcast-set.hazelcast-instance* | The hazelcast instance reference which can be used for hazelcast endpoint. If you don't specify the instance reference, camel use the default hazelcast instance from the camel-hazelcast instance. The option is a com.hazelcast.core.HazelcastInstance type. |  | String
 | *camel.component.hazelcast-set.hazelcast-mode* | The hazelcast mode reference which kind of instance should be used. If you don't specify the mode, then the node mode will be the default. | node | String
-| *camel.component.hazelcast-set.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
 // spring-boot-auto-configure options: END
 
diff --git a/components/camel-hazelcast/src/main/docs/hazelcast-topic-component.adoc b/components/camel-hazelcast/src/main/docs/hazelcast-topic-component.adoc
index 503716c..f5e72c2 100644
--- a/components/camel-hazelcast/src/main/docs/hazelcast-topic-component.adoc
+++ b/components/camel-hazelcast/src/main/docs/hazelcast-topic-component.adoc
@@ -9,7 +9,7 @@ The http://www.hazelcast.com/[Hazelcast] Topic component is one of Camel Hazelca
 == Options
 
 // component options: START
-The Hazelcast Topic component supports 4 options, which are listed below.
+The Hazelcast Topic component supports 3 options, which are listed below.
 
 
 
@@ -18,7 +18,6 @@ The Hazelcast Topic component supports 4 options, which are listed below.
 | Name | Description | Default | Type
 | *hazelcastInstance* (advanced) | The hazelcast instance reference which can be used for hazelcast endpoint. If you don't specify the instance reference, camel use the default hazelcast instance from the camel-hazelcast instance. |  | HazelcastInstance
 | *hazelcastMode* (advanced) | The hazelcast mode reference which kind of instance should be used. If you don't specify the mode, then the node mode will be the default. | node | String
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -83,7 +82,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 9 options, which are listed below.
+The component supports 8 options, which are listed below.
 
 
 
@@ -98,7 +97,6 @@ The component supports 9 options, which are listed below.
 | *camel.component.hazelcast-topic.enabled* | Enable hazelcast-topic component | true | Boolean
 | *camel.component.hazelcast-topic.hazelcast-instance* | The hazelcast instance reference which can be used for hazelcast endpoint. If you don't specify the instance reference, camel use the default hazelcast instance from the camel-hazelcast instance. The option is a com.hazelcast.core.HazelcastInstance type. |  | String
 | *camel.component.hazelcast-topic.hazelcast-mode* | The hazelcast mode reference which kind of instance should be used. If you don't specify the mode, then the node mode will be the default. | node | String
-| *camel.component.hazelcast-topic.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
 // spring-boot-auto-configure options: END
 
diff --git a/components/camel-hbase/src/main/docs/hbase-component.adoc b/components/camel-hbase/src/main/docs/hbase-component.adoc
index 7545401..84de3da 100644
--- a/components/camel-hbase/src/main/docs/hbase-component.adoc
+++ b/components/camel-hbase/src/main/docs/hbase-component.adoc
@@ -102,7 +102,7 @@ The supported operations are:
 
 
 // component options: START
-The HBase component supports 4 options, which are listed below.
+The HBase component supports 3 options, which are listed below.
 
 
 
@@ -111,7 +111,6 @@ The HBase component supports 4 options, which are listed below.
 | Name | Description | Default | Type
 | *configuration* (advanced) | To use the shared configuration |  | Configuration
 | *poolMaxSize* (common) | Maximum number of references to keep for each table in the HTable pool. The default value is 10. | 10 | int
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -182,7 +181,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 5 options, which are listed below.
+The component supports 4 options, which are listed below.
 
 
 
@@ -193,7 +192,6 @@ The component supports 5 options, which are listed below.
 | *camel.component.hbase.configuration* | To use the shared configuration. The option is a org.apache.hadoop.conf.Configuration type. |  | String
 | *camel.component.hbase.enabled* | Enable hbase component | true | Boolean
 | *camel.component.hbase.pool-max-size* | Maximum number of references to keep for each table in the HTable pool. The default value is 10. | 10 | Integer
-| *camel.component.hbase.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
 // spring-boot-auto-configure options: END
 
diff --git a/components/camel-hdfs/src/main/docs/hdfs-component.adoc b/components/camel-hdfs/src/main/docs/hdfs-component.adoc
index b951750..a6c3b10 100644
--- a/components/camel-hdfs/src/main/docs/hdfs-component.adoc
+++ b/components/camel-hdfs/src/main/docs/hdfs-component.adoc
@@ -54,7 +54,7 @@ fileMode=Append to append each of the chunks together.
 
 
 // component options: START
-The HDFS component supports 3 options, which are listed below.
+The HDFS component supports 2 options, which are listed below.
 
 
 
@@ -62,7 +62,6 @@ The HDFS component supports 3 options, which are listed below.
 |===
 | Name | Description | Default | Type
 | *jAASConfiguration* (common) | To use the given configuration for security with JAAS. |  | Configuration
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -157,7 +156,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 4 options, which are listed below.
+The component supports 3 options, which are listed below.
 
 
 
@@ -167,7 +166,6 @@ The component supports 4 options, which are listed below.
 | *camel.component.hdfs.basic-property-binding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | Boolean
 | *camel.component.hdfs.enabled* | Whether to enable auto configuration of the hdfs component. This is enabled by default. |  | Boolean
 | *camel.component.hdfs.j-a-a-s-configuration* | To use the given configuration for security with JAAS. The option is a javax.security.auth.login.Configuration type. |  | String
-| *camel.component.hdfs.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
 // spring-boot-auto-configure options: END
 
diff --git a/components/camel-hipchat/src/main/docs/hipchat-component.adoc b/components/camel-hipchat/src/main/docs/hipchat-component.adoc
index 8dff8fe..b4c07d8 100644
--- a/components/camel-hipchat/src/main/docs/hipchat-component.adoc
+++ b/components/camel-hipchat/src/main/docs/hipchat-component.adoc
@@ -27,14 +27,13 @@ You can append query options to the URI in the following format,
 
 
 // component options: START
-The Hipchat component supports 2 options, which are listed below.
+The Hipchat component supports 1 options, which are listed below.
 
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
 |===
 | Name | Description | Default | Type
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -113,7 +112,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 3 options, which are listed below.
+The component supports 2 options, which are listed below.
 
 
 
@@ -122,7 +121,6 @@ The component supports 3 options, which are listed below.
 | Name | Description | Default | Type
 | *camel.component.hipchat.basic-property-binding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | Boolean
 | *camel.component.hipchat.enabled* | Enable hipchat component | true | Boolean
-| *camel.component.hipchat.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
 // spring-boot-auto-configure options: END
 
diff --git a/components/camel-http/src/main/docs/http-component.adoc b/components/camel-http/src/main/docs/http-component.adoc
index 809cedb..bb1cec6 100644
--- a/components/camel-http/src/main/docs/http-component.adoc
+++ b/components/camel-http/src/main/docs/http-component.adoc
@@ -45,7 +45,7 @@ route, use the xref:jetty-component.adoc[Jetty Component] instead.
 
 
 // component options: START
-The HTTP component supports 19 options, which are listed below.
+The HTTP component supports 18 options, which are listed below.
 
 
 
@@ -69,7 +69,6 @@ The HTTP component supports 19 options, which are listed below.
 | *httpConfiguration* (advanced) | To use the shared HttpConfiguration as base configuration. |  | HttpConfiguration
 | *allowJavaSerialized Object* (advanced) | Whether to allow java serialization when a request uses context-type=application/x-java-serialized-object. 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. | false | boolean
 | *headerFilterStrategy* (filter) | To use a custom org.apache.camel.spi.HeaderFilterStrategy to filter header to and from Camel message. |  | HeaderFilterStrategy
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -177,7 +176,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 20 options, which are listed below.
+The component supports 19 options, which are listed below.
 
 
 
@@ -199,7 +198,6 @@ The component supports 20 options, which are listed below.
 | *camel.component.http.http-configuration* | To use the shared HttpConfiguration as base configuration. The option is a org.apache.camel.http.common.HttpConfiguration type. |  | String
 | *camel.component.http.http-context* | To use a custom org.apache.http.protocol.HttpContext when executing requests. The option is a org.apache.http.protocol.HttpContext type. |  | String
 | *camel.component.http.max-total-connections* | The maximum number of connections. | 200 | Integer
-| *camel.component.http.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 | *camel.component.http.socket-timeout* | Defines the socket timeout (SO_TIMEOUT) in milliseconds, which is the timeout for waiting for data or, put differently, a maximum period inactivity between two consecutive data packets). A timeout value of zero is interpreted as an infinite timeout. A negative value is interpreted as undefined (system default). Default: -1 | -1 | Integer
 | *camel.component.http.ssl-context-parameters* | To configure security using SSLContextParameters. Important: Only one instance of org.apache.camel.support.jsse.SSLContextParameters is supported per HttpComponent. If you need to use 2 or more different instances, you need to define a new HttpComponent per instance you need. The option is a org.apache.camel.support.jsse.SSLContextParameters type. |  | String
 | *camel.component.http.use-global-ssl-context-parameters* | Enable usage of global SSL context parameters. | false | Boolean
diff --git a/components/camel-iec60870/src/main/docs/iec60870-client-component.adoc b/components/camel-iec60870/src/main/docs/iec60870-client-component.adoc
index 7f10b1a..a7ba118 100644
--- a/components/camel-iec60870/src/main/docs/iec60870-client-component.adoc
+++ b/components/camel-iec60870/src/main/docs/iec60870-client-component.adoc
@@ -20,7 +20,7 @@ for this component:
 ----
 
 // component options: START
-The IEC 60870 Client component supports 3 options, which are listed below.
+The IEC 60870 Client component supports 2 options, which are listed below.
 
 
 
@@ -28,7 +28,6 @@ The IEC 60870 Client component supports 3 options, which are listed below.
 |===
 | Name | Description | Default | Type
 | *defaultConnection Options* (common) | Default connection options |  | ClientOptions
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -117,7 +116,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 6 options, which are listed below.
+The component supports 5 options, which are listed below.
 
 
 
@@ -129,7 +128,6 @@ The component supports 6 options, which are listed below.
 | *camel.component.iec60870-client.default-connection-options.data-module-options* | Whether to include the source address |  | DataModuleOptions
 | *camel.component.iec60870-client.default-connection-options.ignore-background-scan* | Whether to include the source address | true | Boolean
 | *camel.component.iec60870-client.enabled* | Whether to enable auto configuration of the iec60870-client component. This is enabled by default. |  | Boolean
-| *camel.component.iec60870-client.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
 // spring-boot-auto-configure options: END
 
diff --git a/components/camel-iec60870/src/main/docs/iec60870-server-component.adoc b/components/camel-iec60870/src/main/docs/iec60870-server-component.adoc
index d08674e..0d5e39d 100644
--- a/components/camel-iec60870/src/main/docs/iec60870-server-component.adoc
+++ b/components/camel-iec60870/src/main/docs/iec60870-server-component.adoc
@@ -21,7 +21,7 @@ for this component:
 
 
 // component options: START
-The IEC 60870 Server component supports 3 options, which are listed below.
+The IEC 60870 Server component supports 2 options, which are listed below.
 
 
 
@@ -29,7 +29,6 @@ The IEC 60870 Server component supports 3 options, which are listed below.
 |===
 | Name | Description | Default | Type
 | *defaultConnection Options* (common) | Default connection options |  | ServerOptions
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -121,7 +120,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 9 options, which are listed below.
+The component supports 8 options, which are listed below.
 
 
 
@@ -136,7 +135,6 @@ The component supports 9 options, which are listed below.
 | *camel.component.iec60870-server.default-connection-options.floats-with-timestamp* | The period in "ms" between background transmission cycles. <p> If this is set to zero or less, background transmissions will be disabled. </p> |  | Boolean
 | *camel.component.iec60870-server.default-connection-options.spontaneous-duplicates* | The period in "ms" between background transmission cycles. <p> If this is set to zero or less, background transmissions will be disabled. </p> |  | Integer
 | *camel.component.iec60870-server.enabled* | Whether to enable auto configuration of the iec60870-server component. This is enabled by default. |  | Boolean
-| *camel.component.iec60870-server.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
 // spring-boot-auto-configure options: END
 
diff --git a/components/camel-ignite/src/main/docs/ignite-cache-component.adoc b/components/camel-ignite/src/main/docs/ignite-cache-component.adoc
index c42fc03..1dd704e 100644
--- a/components/camel-ignite/src/main/docs/ignite-cache-component.adoc
+++ b/components/camel-ignite/src/main/docs/ignite-cache-component.adoc
@@ -13,7 +13,7 @@ Even if you configure a fixed operation in the endpoint URI, you can vary it per
 == Options
 
 // component options: START
-The Ignite Cache component supports 5 options, which are listed below.
+The Ignite Cache component supports 4 options, which are listed below.
 
 
 
@@ -23,7 +23,6 @@ The Ignite Cache component supports 5 options, which are listed below.
 | *ignite* (common) | Sets the Ignite instance. |  | Ignite
 | *configurationResource* (common) | Sets the resource from where to load the configuration. It can be a: URI, String (URI) or an InputStream. |  | Object
 | *igniteConfiguration* (common) | Allows the user to set a programmatic IgniteConfiguration. |  | IgniteConfiguration
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -89,7 +88,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 6 options, which are listed below.
+The component supports 5 options, which are listed below.
 
 
 
@@ -101,7 +100,6 @@ The component supports 6 options, which are listed below.
 | *camel.component.ignite-cache.enabled* | Enable ignite-cache component | true | Boolean
 | *camel.component.ignite-cache.ignite* | Sets the Ignite instance. The option is a org.apache.ignite.Ignite type. |  | String
 | *camel.component.ignite-cache.ignite-configuration* | Allows the user to set a programmatic IgniteConfiguration. The option is a org.apache.ignite.configuration.IgniteConfiguration type. |  | String
-| *camel.component.ignite-cache.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
 // spring-boot-auto-configure options: END
 
diff --git a/components/camel-ignite/src/main/docs/ignite-compute-component.adoc b/components/camel-ignite/src/main/docs/ignite-compute-component.adoc
index bb90ec6..94aaa42 100644
--- a/components/camel-ignite/src/main/docs/ignite-compute-component.adoc
+++ b/components/camel-ignite/src/main/docs/ignite-compute-component.adoc
@@ -14,7 +14,7 @@ The endpoint tries to run the object passed in the body of the IN message as the
 == Options
 
 // component options: START
-The Ignite Compute component supports 5 options, which are listed below.
+The Ignite Compute component supports 4 options, which are listed below.
 
 
 
@@ -24,7 +24,6 @@ The Ignite Compute component supports 5 options, which are listed below.
 | *ignite* (producer) | Sets the Ignite instance. |  | Ignite
 | *configurationResource* (producer) | Sets the resource from where to load the configuration. It can be a: URI, String (URI) or an InputStream. |  | Object
 | *igniteConfiguration* (producer) | Allows the user to set a programmatic IgniteConfiguration. |  | IgniteConfiguration
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -82,7 +81,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 6 options, which are listed below.
+The component supports 5 options, which are listed below.
 
 
 
@@ -94,7 +93,6 @@ The component supports 6 options, which are listed below.
 | *camel.component.ignite-compute.enabled* | Enable ignite-compute component | true | Boolean
 | *camel.component.ignite-compute.ignite* | Sets the Ignite instance. The option is a org.apache.ignite.Ignite type. |  | String
 | *camel.component.ignite-compute.ignite-configuration* | Allows the user to set a programmatic IgniteConfiguration. The option is a org.apache.ignite.configuration.IgniteConfiguration type. |  | String
-| *camel.component.ignite-compute.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
 // spring-boot-auto-configure options: END
 
diff --git a/components/camel-ignite/src/main/docs/ignite-events-component.adoc b/components/camel-ignite/src/main/docs/ignite-events-component.adoc
index 9107263..d9ac803 100644
--- a/components/camel-ignite/src/main/docs/ignite-events-component.adoc
+++ b/components/camel-ignite/src/main/docs/ignite-events-component.adoc
@@ -11,7 +11,7 @@ The Exchanges created by this consumer put the received Event object into the bo
 == Options
 
 // component options: START
-The Ignite Events component supports 5 options, which are listed below.
+The Ignite Events component supports 4 options, which are listed below.
 
 
 
@@ -21,7 +21,6 @@ The Ignite Events component supports 5 options, which are listed below.
 | *ignite* (consumer) | Sets the Ignite instance. |  | Ignite
 | *configurationResource* (consumer) | Sets the resource from where to load the configuration. It can be a: URI, String (URI) or an InputStream. |  | Object
 | *igniteConfiguration* (consumer) | Allows the user to set a programmatic IgniteConfiguration. |  | IgniteConfiguration
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -78,7 +77,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 6 options, which are listed below.
+The component supports 5 options, which are listed below.
 
 
 
@@ -90,7 +89,6 @@ The component supports 6 options, which are listed below.
 | *camel.component.ignite-events.enabled* | Enable ignite-events component | true | Boolean
 | *camel.component.ignite-events.ignite* | Sets the Ignite instance. The option is a org.apache.ignite.Ignite type. |  | String
 | *camel.component.ignite-events.ignite-configuration* | Allows the user to set a programmatic IgniteConfiguration. The option is a org.apache.ignite.configuration.IgniteConfiguration type. |  | String
-| *camel.component.ignite-events.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
 // spring-boot-auto-configure options: END
 
diff --git a/components/camel-ignite/src/main/docs/ignite-idgen-component.adoc b/components/camel-ignite/src/main/docs/ignite-idgen-component.adoc
index 484dd3a..1a2291e 100644
--- a/components/camel-ignite/src/main/docs/ignite-idgen-component.adoc
+++ b/components/camel-ignite/src/main/docs/ignite-idgen-component.adoc
@@ -10,7 +10,7 @@ This endpoint only supports producers.
 == Options
 
 // component options: START
-The Ignite ID Generator component supports 5 options, which are listed below.
+The Ignite ID Generator component supports 4 options, which are listed below.
 
 
 
@@ -20,7 +20,6 @@ The Ignite ID Generator component supports 5 options, which are listed below.
 | *ignite* (producer) | Sets the Ignite instance. |  | Ignite
 | *configurationResource* (producer) | Sets the resource from where to load the configuration. It can be a: URI, String (URI) or an InputStream. |  | Object
 | *igniteConfiguration* (producer) | Allows the user to set a programmatic IgniteConfiguration. |  | IgniteConfiguration
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -76,7 +75,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 6 options, which are listed below.
+The component supports 5 options, which are listed below.
 
 
 
@@ -88,7 +87,6 @@ The component supports 6 options, which are listed below.
 | *camel.component.ignite-idgen.enabled* | Enable ignite-idgen component | true | Boolean
 | *camel.component.ignite-idgen.ignite* | Sets the Ignite instance. The option is a org.apache.ignite.Ignite type. |  | String
 | *camel.component.ignite-idgen.ignite-configuration* | Allows the user to set a programmatic IgniteConfiguration. The option is a org.apache.ignite.configuration.IgniteConfiguration type. |  | String
-| *camel.component.ignite-idgen.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
 // spring-boot-auto-configure options: END
 
diff --git a/components/camel-ignite/src/main/docs/ignite-messaging-component.adoc b/components/camel-ignite/src/main/docs/ignite-messaging-component.adoc
index 07ff226..22a668d 100644
--- a/components/camel-ignite/src/main/docs/ignite-messaging-component.adoc
+++ b/components/camel-ignite/src/main/docs/ignite-messaging-component.adoc
@@ -10,7 +10,7 @@ This endpoint supports producers (to send messages) and consumers (to receive me
 == Options
 
 // component options: START
-The Ignite Messaging component supports 5 options, which are listed below.
+The Ignite Messaging component supports 4 options, which are listed below.
 
 
 
@@ -20,7 +20,6 @@ The Ignite Messaging component supports 5 options, which are listed below.
 | *ignite* (common) | Sets the Ignite instance. |  | Ignite
 | *configurationResource* (common) | Sets the resource from where to load the configuration. It can be a: URI, String (URI) or an InputStream. |  | Object
 | *igniteConfiguration* (common) | Allows the user to set a programmatic IgniteConfiguration. |  | IgniteConfiguration
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -79,7 +78,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 6 options, which are listed below.
+The component supports 5 options, which are listed below.
 
 
 
@@ -91,7 +90,6 @@ The component supports 6 options, which are listed below.
 | *camel.component.ignite-messaging.enabled* | Enable ignite-messaging component | true | Boolean
 | *camel.component.ignite-messaging.ignite* | Sets the Ignite instance. The option is a org.apache.ignite.Ignite type. |  | String
 | *camel.component.ignite-messaging.ignite-configuration* | Allows the user to set a programmatic IgniteConfiguration. The option is a org.apache.ignite.configuration.IgniteConfiguration type. |  | String
-| *camel.component.ignite-messaging.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
 // spring-boot-auto-configure options: END
 
diff --git a/components/camel-ignite/src/main/docs/ignite-queue-component.adoc b/components/camel-ignite/src/main/docs/ignite-queue-component.adoc
index f372469..2d9b2ce 100644
--- a/components/camel-ignite/src/main/docs/ignite-queue-component.adoc
+++ b/components/camel-ignite/src/main/docs/ignite-queue-component.adoc
@@ -10,7 +10,7 @@ This endpoint only supports producers.
 == Options
 
 // component options: START
-The Ignite Queues component supports 5 options, which are listed below.
+The Ignite Queues component supports 4 options, which are listed below.
 
 
 
@@ -20,7 +20,6 @@ The Ignite Queues component supports 5 options, which are listed below.
 | *ignite* (producer) | Sets the Ignite instance. |  | Ignite
 | *configurationResource* (producer) | Sets the resource from where to load the configuration. It can be a: URI, String (URI) or an InputStream. |  | Object
 | *igniteConfiguration* (producer) | Allows the user to set a programmatic IgniteConfiguration. |  | IgniteConfiguration
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -77,7 +76,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 6 options, which are listed below.
+The component supports 5 options, which are listed below.
 
 
 
@@ -89,7 +88,6 @@ The component supports 6 options, which are listed below.
 | *camel.component.ignite-queue.enabled* | Enable ignite-queue component | true | Boolean
 | *camel.component.ignite-queue.ignite* | Sets the Ignite instance. The option is a org.apache.ignite.Ignite type. |  | String
 | *camel.component.ignite-queue.ignite-configuration* | Allows the user to set a programmatic IgniteConfiguration. The option is a org.apache.ignite.configuration.IgniteConfiguration type. |  | String
-| *camel.component.ignite-queue.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
 // spring-boot-auto-configure options: END
 
diff --git a/components/camel-ignite/src/main/docs/ignite-set-component.adoc b/components/camel-ignite/src/main/docs/ignite-set-component.adoc
index 4f6feba..b8afb46 100644
--- a/components/camel-ignite/src/main/docs/ignite-set-component.adoc
+++ b/components/camel-ignite/src/main/docs/ignite-set-component.adoc
@@ -10,7 +10,7 @@ This endpoint only supports producers.
 == Options
 
 // component options: START
-The Ignite Sets component supports 5 options, which are listed below.
+The Ignite Sets component supports 4 options, which are listed below.
 
 
 
@@ -20,7 +20,6 @@ The Ignite Sets component supports 5 options, which are listed below.
 | *ignite* (producer) | Sets the Ignite instance. |  | Ignite
 | *configurationResource* (producer) | Sets the resource from where to load the configuration. It can be a: URI, String (URI) or an InputStream. |  | Object
 | *igniteConfiguration* (producer) | Allows the user to set a programmatic IgniteConfiguration. |  | IgniteConfiguration
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -75,7 +74,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 6 options, which are listed below.
+The component supports 5 options, which are listed below.
 
 
 
@@ -87,7 +86,6 @@ The component supports 6 options, which are listed below.
 | *camel.component.ignite-set.enabled* | Enable ignite-set component | true | Boolean
 | *camel.component.ignite-set.ignite* | Sets the Ignite instance. The option is a org.apache.ignite.Ignite type. |  | String
 | *camel.component.ignite-set.ignite-configuration* | Allows the user to set a programmatic IgniteConfiguration. The option is a org.apache.ignite.configuration.IgniteConfiguration type. |  | String
-| *camel.component.ignite-set.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
 // spring-boot-auto-configure options: END
 
diff --git a/components/camel-infinispan/src/main/docs/infinispan-component.adoc b/components/camel-infinispan/src/main/docs/infinispan-component.adoc
index b12c1c7..09aef66 100644
--- a/components/camel-infinispan/src/main/docs/infinispan-component.adoc
+++ b/components/camel-infinispan/src/main/docs/infinispan-component.adoc
@@ -52,7 +52,7 @@ accessible from the registry.
 
 
 // component options: START
-The Infinispan component supports 4 options, which are listed below.
+The Infinispan component supports 3 options, which are listed below.
 
 
 
@@ -61,7 +61,6 @@ The Infinispan component supports 4 options, which are listed below.
 | Name | Description | Default | Type
 | *configuration* (common) | The default configuration shared among endpoints. |  | InfinispanConfiguration
 | *cacheContainer* (common) | The default cache container. |  | BasicCacheContainer
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -133,7 +132,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 23 options, which are listed below.
+The component supports 22 options, which are listed below.
 
 
 
@@ -161,7 +160,6 @@ The component supports 23 options, which are listed below.
 | *camel.component.infinispan.customizer.remote-cache-manager.enabled* | Enable or disable the cache-manager customizer. | true | Boolean
 | *camel.component.infinispan.customizer.remote-cache-manager.override* | Configure if the cache manager eventually set on the component should be overridden by the customizer. | false | Boolean
 | *camel.component.infinispan.enabled* | Enable infinispan component | true | Boolean
-| *camel.component.infinispan.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 | *camel.component.infinispan.configuration.command* | *Deprecated* The operation to perform. | PUT | String
 |===
 // spring-boot-auto-configure options: END
diff --git a/components/camel-influxdb/src/main/docs/influxdb-component.adoc b/components/camel-influxdb/src/main/docs/influxdb-component.adoc
index d545a99..7e8cd25 100644
--- a/components/camel-influxdb/src/main/docs/influxdb-component.adoc
+++ b/components/camel-influxdb/src/main/docs/influxdb-component.adoc
@@ -42,14 +42,13 @@ configured in the registry, using the native java driver.
 
 
 // component options: START
-The InfluxDB component supports 2 options, which are listed below.
+The InfluxDB component supports 1 options, which are listed below.
 
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
 |===
 | Name | Description | Default | Type
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -108,7 +107,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 3 options, which are listed below.
+The component supports 2 options, which are listed below.
 
 
 
@@ -117,7 +116,6 @@ The component supports 3 options, which are listed below.
 | Name | Description | Default | Type
 | *camel.component.influxdb.basic-property-binding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | Boolean
 | *camel.component.influxdb.enabled* | Enable influxdb component | true | Boolean
-| *camel.component.influxdb.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
 // spring-boot-auto-configure options: END
 
diff --git a/components/camel-iota/src/main/docs/iota-component.adoc b/components/camel-iota/src/main/docs/iota-component.adoc
index dc470fa..3b9363c 100644
--- a/components/camel-iota/src/main/docs/iota-component.adoc
+++ b/components/camel-iota/src/main/docs/iota-component.adoc
@@ -28,14 +28,13 @@ iota:name?url=nodeurl[&moreOptions...]
 == Options
 
 // component options: START
-The IOTA component supports 2 options, which are listed below.
+The IOTA component supports 1 options, which are listed below.
 
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
 |===
 | Name | Description | Default | Type
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -96,7 +95,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 3 options, which are listed below.
+The component supports 2 options, which are listed below.
 
 
 
@@ -105,7 +104,6 @@ The component supports 3 options, which are listed below.
 | Name | Description | Default | Type
 | *camel.component.iota.basic-property-binding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | Boolean
 | *camel.component.iota.enabled* | Whether to enable auto configuration of the iota component. This is enabled by default. |  | Boolean
-| *camel.component.iota.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
 // spring-boot-auto-configure options: END
 
diff --git a/components/camel-ipfs/src/main/docs/ipfs-component.adoc b/components/camel-ipfs/src/main/docs/ipfs-component.adoc
index 047ba26..b15874a 100644
--- a/components/camel-ipfs/src/main/docs/ipfs-component.adoc
+++ b/components/camel-ipfs/src/main/docs/ipfs-component.adoc
@@ -28,14 +28,13 @@ ipfs://cmd?options
 == Options
 
 // component options: START
-The IPFS component supports 2 options, which are listed below.
+The IPFS component supports 1 options, which are listed below.
 
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
 |===
 | Name | Description | Default | Type
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -89,7 +88,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 3 options, which are listed below.
+The component supports 2 options, which are listed below.
 
 
 
@@ -98,7 +97,6 @@ The component supports 3 options, which are listed below.
 | Name | Description | Default | Type
 | *camel.component.ipfs.basic-property-binding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | Boolean
 | *camel.component.ipfs.enabled* | Whether to enable auto configuration of the ipfs component. This is enabled by default. |  | Boolean
-| *camel.component.ipfs.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
 // spring-boot-auto-configure options: END
 
diff --git a/components/camel-irc/src/main/docs/irc-component.adoc b/components/camel-irc/src/main/docs/irc-component.adoc
index d38c955..6c661f8 100644
--- a/components/camel-irc/src/main/docs/irc-component.adoc
+++ b/components/camel-irc/src/main/docs/irc-component.adoc
@@ -35,7 +35,7 @@ You can append query options to the URI in the following format,
 
 
 // component options: START
-The IRC component supports 3 options, which are listed below.
+The IRC component supports 2 options, which are listed below.
 
 
 
@@ -43,7 +43,6 @@ The IRC component supports 3 options, which are listed below.
 |===
 | Name | Description | Default | Type
 | *useGlobalSslContext Parameters* (security) | Enable usage of global SSL context parameters. | false | boolean
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -125,7 +124,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 4 options, which are listed below.
+The component supports 3 options, which are listed below.
 
 
 
@@ -134,7 +133,6 @@ The component supports 4 options, which are listed below.
 | Name | Description | Default | Type
 | *camel.component.irc.basic-property-binding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | Boolean
 | *camel.component.irc.enabled* | Enable irc component | true | Boolean
-| *camel.component.irc.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 | *camel.component.irc.use-global-ssl-context-parameters* | Enable usage of global SSL context parameters. | false | Boolean
 |===
 // spring-boot-auto-configure options: END
diff --git a/components/camel-ironmq/src/main/docs/ironmq-component.adoc b/components/camel-ironmq/src/main/docs/ironmq-component.adoc
index bd3b19a..dc166e0 100644
--- a/components/camel-ironmq/src/main/docs/ironmq-component.adoc
+++ b/components/camel-ironmq/src/main/docs/ironmq-component.adoc
@@ -115,7 +115,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 3 options, which are listed below.
+The component supports 2 options, which are listed below.
 
 
 
@@ -124,7 +124,6 @@ The component supports 3 options, which are listed below.
 | Name | Description | Default | Type
 | *camel.component.ironmq.basic-property-binding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | Boolean
 | *camel.component.ironmq.enabled* | Enable ironmq component | true | Boolean
-| *camel.component.ironmq.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
 // spring-boot-auto-configure options: END
 
@@ -140,14 +139,13 @@ The component supports 3 options, which are listed below.
 
 
 // component options: START
-The IronMQ component supports 2 options, which are listed below.
+The IronMQ component supports 1 options, which are listed below.
 
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
 |===
 | Name | Description | Default | Type
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
diff --git a/components/camel-jbpm/src/main/docs/jbpm-component.adoc b/components/camel-jbpm/src/main/docs/jbpm-component.adoc
index 158d01d..c2add10 100644
--- a/components/camel-jbpm/src/main/docs/jbpm-component.adoc
+++ b/components/camel-jbpm/src/main/docs/jbpm-component.adoc
@@ -136,14 +136,13 @@ jbpm::hostName[:port][/resourceUri][?options]
 
 
 // component options: START
-The JBPM component supports 2 options, which are listed below.
+The JBPM component supports 1 options, which are listed below.
 
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
 |===
 | Name | Description | Default | Type
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -228,7 +227,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 3 options, which are listed below.
+The component supports 2 options, which are listed below.
 
 
 
@@ -237,7 +236,6 @@ The component supports 3 options, which are listed below.
 | Name | Description | Default | Type
 | *camel.component.jbpm.basic-property-binding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | Boolean
 | *camel.component.jbpm.enabled* | Enable jbpm component | true | Boolean
-| *camel.component.jbpm.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
 // spring-boot-auto-configure options: END
 
diff --git a/components/camel-jcache/src/main/docs/jcache-component.adoc b/components/camel-jcache/src/main/docs/jcache-component.adoc
index b6f33ec..a59b32a 100644
--- a/components/camel-jcache/src/main/docs/jcache-component.adoc
+++ b/components/camel-jcache/src/main/docs/jcache-component.adoc
@@ -81,7 +81,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 7 options, which are listed below.
+The component supports 6 options, which are listed below.
 
 
 
@@ -94,7 +94,6 @@ The component supports 7 options, which are listed below.
 | *camel.component.jcache.caching-provider* | The fully qualified class name of the javax.cache.spi.CachingProvider |  | String
 | *camel.component.jcache.configuration-uri* | An implementation specific URI for the CacheManager |  | String
 | *camel.component.jcache.enabled* | Enable jcache component | true | Boolean
-| *camel.component.jcache.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
 // spring-boot-auto-configure options: END
 
@@ -107,7 +106,7 @@ The component supports 7 options, which are listed below.
 
 
 // component options: START
-The JCache component supports 6 options, which are listed below.
+The JCache component supports 5 options, which are listed below.
 
 
 
@@ -118,7 +117,6 @@ The JCache component supports 6 options, which are listed below.
 | *cacheConfiguration* (common) | A Configuration for the Cache |  | Configuration
 | *cacheConfiguration Properties* (common) | The Properties for the javax.cache.spi.CachingProvider to create the CacheManager |  | Properties
 | *configurationUri* (common) | An implementation specific URI for the CacheManager |  | String
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
diff --git a/components/camel-jclouds/src/main/docs/jclouds-component.adoc b/components/camel-jclouds/src/main/docs/jclouds-component.adoc
index 287481c..e6bdb3a 100644
--- a/components/camel-jclouds/src/main/docs/jclouds-component.adoc
+++ b/components/camel-jclouds/src/main/docs/jclouds-component.adoc
@@ -103,7 +103,7 @@ You can append query options to the URI in the following format,
 
 
 // component options: START
-The JClouds component supports 4 options, which are listed below.
+The JClouds component supports 3 options, which are listed below.
 
 
 
@@ -112,7 +112,6 @@ The JClouds component supports 4 options, which are listed below.
 | Name | Description | Default | Type
 | *blobStores* (common) | To use the given BlobStore which must be configured when using blobstore. |  | List
 | *computeServices* (common) | To use the given ComputeService which must be configured when use compute. |  | List
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -197,7 +196,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 5 options, which are listed below.
+The component supports 4 options, which are listed below.
 
 
 
@@ -208,7 +207,6 @@ The component supports 5 options, which are listed below.
 | *camel.component.jclouds.blob-stores* | To use the given BlobStore which must be configured when using blobstore. |  | List
 | *camel.component.jclouds.compute-services* | To use the given ComputeService which must be configured when use compute. |  | List
 | *camel.component.jclouds.enabled* | Whether to enable auto configuration of the jclouds component. This is enabled by default. |  | Boolean
-| *camel.component.jclouds.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
 // spring-boot-auto-configure options: END
 
diff --git a/components/camel-jcr/src/main/docs/jcr-component.adoc b/components/camel-jcr/src/main/docs/jcr-component.adoc
index bbdbe12..39c0879 100644
--- a/components/camel-jcr/src/main/docs/jcr-component.adoc
+++ b/components/camel-jcr/src/main/docs/jcr-component.adoc
@@ -42,14 +42,13 @@ The `repository` element of the URI is used to look up the JCR
 
 
 // component options: START
-The JCR component supports 2 options, which are listed below.
+The JCR component supports 1 options, which are listed below.
 
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
 |===
 | Name | Description | Default | Type
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -117,7 +116,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 3 options, which are listed below.
+The component supports 2 options, which are listed below.
 
 
 
@@ -126,7 +125,6 @@ The component supports 3 options, which are listed below.
 | Name | Description | Default | Type
 | *camel.component.jcr.basic-property-binding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | Boolean
 | *camel.component.jcr.enabled* | Enable jcr component | true | Boolean
-| *camel.component.jcr.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
 // spring-boot-auto-configure options: END
 
diff --git a/components/camel-jdbc/src/main/docs/jdbc-component.adoc b/components/camel-jdbc/src/main/docs/jdbc-component.adoc
index 5fdc08a..91a9334 100644
--- a/components/camel-jdbc/src/main/docs/jdbc-component.adoc
+++ b/components/camel-jdbc/src/main/docs/jdbc-component.adoc
@@ -40,7 +40,7 @@ You can append query options to the URI in the following format,
 == Options
 
 // component options: START
-The JDBC component supports 3 options, which are listed below.
+The JDBC component supports 2 options, which are listed below.
 
 
 
@@ -48,7 +48,6 @@ The JDBC component supports 3 options, which are listed below.
 |===
 | Name | Description | Default | Type
 | *dataSource* (producer) | To use the DataSource instance instead of looking up the data source by name from the registry. |  | DataSource
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -117,7 +116,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 4 options, which are listed below.
+The component supports 3 options, which are listed below.
 
 
 
@@ -127,7 +126,6 @@ The component supports 4 options, which are listed below.
 | *camel.component.jdbc.basic-property-binding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | Boolean
 | *camel.component.jdbc.data-source* | To use the DataSource instance instead of looking up the data source by name from the registry. The option is a javax.sql.DataSource type. |  | String
 | *camel.component.jdbc.enabled* | Enable jdbc component | true | Boolean
-| *camel.component.jdbc.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
 // spring-boot-auto-configure options: END
 
diff --git a/components/camel-jetty/src/main/docs/jetty-component.adoc b/components/camel-jetty/src/main/docs/jetty-component.adoc
index 05a43f0..296f30c 100644
--- a/components/camel-jetty/src/main/docs/jetty-component.adoc
+++ b/components/camel-jetty/src/main/docs/jetty-component.adoc
@@ -49,7 +49,7 @@ You can append query options to the URI in the following format,
 
 
 // component options: START
-The Jetty component supports 34 options, which are listed below.
+The Jetty component supports 33 options, which are listed below.
 
 
 
@@ -88,7 +88,6 @@ The Jetty component supports 34 options, which are listed below.
 | *sendServerVersion* (consumer) | If the option is true, jetty will send the server header with the jetty version information to the client which sends the request. NOTE please make sure there is no any other camel-jetty endpoint is share the same port, otherwise this option may not work as expected. | true | boolean
 | *allowJavaSerialized Object* (advanced) | Whether to allow java serialization when a request uses context-type=application/x-java-serialized-object. 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. | false | boolean
 | *headerFilterStrategy* (filter) | To use a custom org.apache.camel.spi.HeaderFilterStrategy to filter header to and from Camel message. |  | HeaderFilterStrategy
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -177,7 +176,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 35 options, which are listed below.
+The component supports 34 options, which are listed below.
 
 
 
@@ -204,7 +203,6 @@ The component supports 35 options, which are listed below.
 | *camel.component.jetty.proxy-port* | To use a http proxy to configure the port number. |  | Integer
 | *camel.component.jetty.request-buffer-size* | Allows to configure a custom value of the request buffer size on the Jetty connectors. |  | Integer
 | *camel.component.jetty.request-header-size* | Allows to configure a custom value of the request header size on the Jetty connectors. |  | Integer
-| *camel.component.jetty.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 | *camel.component.jetty.response-buffer-size* | Allows to configure a custom value of the response buffer size on the Jetty connectors. |  | Integer
 | *camel.component.jetty.response-header-size* | Allows to configure a custom value of the response header size on the Jetty connectors. |  | Integer
 | *camel.component.jetty.send-server-version* | If the option is true, jetty will send the server header with the jetty version information to the client which sends the request. NOTE please make sure there is no any other camel-jetty endpoint is share the same port, otherwise this option may not work as expected. | true | Boolean
diff --git a/components/camel-jgroups-raft/src/main/docs/jgroups-raft-component.adoc b/components/camel-jgroups-raft/src/main/docs/jgroups-raft-component.adoc
index 61fd159..6700935 100644
--- a/components/camel-jgroups-raft/src/main/docs/jgroups-raft-component.adoc
+++ b/components/camel-jgroups-raft/src/main/docs/jgroups-raft-component.adoc
@@ -32,7 +32,7 @@ component should connect to.
 == Options
 
 // component options: START
-The JGroups raft component supports 6 options, which are listed below.
+The JGroups raft component supports 5 options, which are listed below.
 
 
 
@@ -43,7 +43,6 @@ The JGroups raft component supports 6 options, which are listed below.
 | *stateMachine* (common) | StateMachine to use. | NopStateMachine | StateMachine
 | *raftId* (common) | *Required* Unique raftId to use. |  | String
 | *channelProperties* (common) | Specifies configuration properties of the RaftHandle JChannel used by the endpoint (ignored if raftHandle ref is provided). | raft.xml | String
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -99,7 +98,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 12 options, which are listed below.
+The component supports 11 options, which are listed below.
 
 
 
@@ -111,7 +110,6 @@ The component supports 12 options, which are listed below.
 | *camel.component.jgroups-raft.enabled* | Enable jgroups-raft component | true | Boolean
 | *camel.component.jgroups-raft.raft-handle* | RaftHandle to use. The option is a org.jgroups.raft.RaftHandle type. |  | String
 | *camel.component.jgroups-raft.raft-id* | Unique raftId to use. |  | String
-| *camel.component.jgroups-raft.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 | *camel.component.jgroups-raft.state-machine* | StateMachine to use. The option is a org.jgroups.protocols.raft.StateMachine type. |  | String
 | *camel.component.jgroups.raft.cluster.service.enabled* | Sets if the jgroups raft cluster service should be enabled or not, default is false. | false | Boolean
 | *camel.component.jgroups.raft.cluster.service.id* | Cluster Service ID |  | String
diff --git a/components/camel-jgroups/src/main/docs/jgroups-component.adoc b/components/camel-jgroups/src/main/docs/jgroups-component.adoc
index 83642ef..3ef2b6a 100644
--- a/components/camel-jgroups/src/main/docs/jgroups-component.adoc
+++ b/components/camel-jgroups/src/main/docs/jgroups-component.adoc
@@ -36,7 +36,7 @@ component should connect to.
 
 
 // component options: START
-The JGroups component supports 5 options, which are listed below.
+The JGroups component supports 4 options, which are listed below.
 
 
 
@@ -46,7 +46,6 @@ The JGroups component supports 5 options, which are listed below.
 | *channel* (common) | Channel to use |  | JChannel
 | *channelProperties* (common) | Specifies configuration properties of the JChannel used by the endpoint. |  | String
 | *enableViewMessages* (consumer) | If set to true, the consumer endpoint will receive org.jgroups.View messages as well (not only org.jgroups.Message instances). By default only regular messages are consumed by the endpoint. | false | boolean
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -107,7 +106,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 10 options, which are listed below.
+The component supports 9 options, which are listed below.
 
 
 
@@ -123,7 +122,6 @@ The component supports 10 options, which are listed below.
 | *camel.component.jgroups.lock.cluster.service.id* | Cluster Service ID |  | String
 | *camel.component.jgroups.lock.cluster.service.jgroups-cluster-name* | JGroups Cluster name |  | String
 | *camel.component.jgroups.lock.cluster.service.jgroups-config* | JGrups configuration File name |  | String
-| *camel.component.jgroups.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
 // spring-boot-auto-configure options: END
 
diff --git a/components/camel-jing/src/main/docs/jing-component.adoc b/components/camel-jing/src/main/docs/jing-component.adoc
index e7c87e7..764e64b 100644
--- a/components/camel-jing/src/main/docs/jing-component.adoc
+++ b/components/camel-jing/src/main/docs/jing-component.adoc
@@ -41,14 +41,13 @@ option compactSyntax to turn on either RNG or RNC mode.
 
 
 // component options: START
-The Jing component supports 2 options, which are listed below.
+The Jing component supports 1 options, which are listed below.
 
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
 |===
 | Name | Description | Default | Type
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -103,7 +102,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 3 options, which are listed below.
+The component supports 2 options, which are listed below.
 
 
 
@@ -112,7 +111,6 @@ The component supports 3 options, which are listed below.
 | Name | Description | Default | Type
 | *camel.component.jing.basic-property-binding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | Boolean
 | *camel.component.jing.enabled* | Enable jing component | true | Boolean
-| *camel.component.jing.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
 // spring-boot-auto-configure options: END
 
diff --git a/components/camel-jira/src/main/docs/jira-component.adoc b/components/camel-jira/src/main/docs/jira-component.adoc
index a69dc5d..094ec9f 100644
--- a/components/camel-jira/src/main/docs/jira-component.adoc
+++ b/components/camel-jira/src/main/docs/jira-component.adoc
@@ -42,7 +42,7 @@ jira://type[?options]
 
 
 // component options: START
-The Jira component supports 3 options, which are listed below.
+The Jira component supports 2 options, which are listed below.
 
 
 
@@ -50,7 +50,6 @@ The Jira component supports 3 options, which are listed below.
 |===
 | Name | Description | Default | Type
 | *configuration* (advanced) | The JiraConfiguration parameters |  | JiraConfiguration
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -134,7 +133,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 11 options, which are listed below.
+The component supports 10 options, which are listed below.
 
 
 
@@ -151,7 +150,6 @@ The component supports 11 options, which are listed below.
 | *camel.component.jira.configuration.username* | (Basic authentication only) The username to authenticate to the Jira server. Use only if OAuth is not enabled on the Jira server. Do not set the username and OAuth token parameter, if they are both set, the username basic authentication takes precedence. |  | String
 | *camel.component.jira.configuration.verification-code* | (OAuth only) The verification code from Jira generated in the first step of the authorization proccess. |  | String
 | *camel.component.jira.enabled* | Whether to enable auto configuration of the jira component. This is enabled by default. |  | Boolean
-| *camel.component.jira.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
 // spring-boot-auto-configure options: END
 
diff --git a/components/camel-jmx/src/main/docs/jmx-component.adoc b/components/camel-jmx/src/main/docs/jmx-component.adoc
index 3fa18d6..f084433 100644
--- a/components/camel-jmx/src/main/docs/jmx-component.adoc
+++ b/components/camel-jmx/src/main/docs/jmx-component.adoc
@@ -23,14 +23,13 @@ monitor Camel using JMX.
 == Options
 
 // component options: START
-The JMX component supports 2 options, which are listed below.
+The JMX component supports 1 options, which are listed below.
 
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
 |===
 | Name | Description | Default | Type
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -109,7 +108,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 3 options, which are listed below.
+The component supports 2 options, which are listed below.
 
 
 
@@ -118,7 +117,6 @@ The component supports 3 options, which are listed below.
 | Name | Description | Default | Type
 | *camel.component.jmx.basic-property-binding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | Boolean
 | *camel.component.jmx.enabled* | Enable jmx component | true | Boolean
-| *camel.component.jmx.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
 // spring-boot-auto-configure options: END
 
diff --git a/components/camel-jolt/src/main/docs/jolt-component.adoc b/components/camel-jolt/src/main/docs/jolt-component.adoc
index bd08eea..29b4543 100644
--- a/components/camel-jolt/src/main/docs/jolt-component.adoc
+++ b/components/camel-jolt/src/main/docs/jolt-component.adoc
@@ -42,7 +42,7 @@ format, `?option=value&option=value&...`
 
 
 // component options: START
-The JOLT component supports 3 options, which are listed below.
+The JOLT component supports 2 options, which are listed below.
 
 
 
@@ -50,7 +50,6 @@ The JOLT component supports 3 options, which are listed below.
 |===
 | Name | Description | Default | Type
 | *transform* (advanced) | Explicitly sets the Transform to use. If not set a Transform specified by the transformDsl will be created |  | Transform
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -110,7 +109,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 4 options, which are listed below.
+The component supports 3 options, which are listed below.
 
 
 
@@ -119,7 +118,6 @@ The component supports 4 options, which are listed below.
 | Name | Description | Default | Type
 | *camel.component.jolt.basic-property-binding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | Boolean
 | *camel.component.jolt.enabled* | Enable jolt component | true | Boolean
-| *camel.component.jolt.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 | *camel.component.jolt.transform* | Explicitly sets the Transform to use. If not set a Transform specified by the transformDsl will be created. The option is a com.bazaarvoice.jolt.Transform type. |  | String
 |===
 // spring-boot-auto-configure options: END
diff --git a/components/camel-jooq/src/main/docs/jooq-component.adoc b/components/camel-jooq/src/main/docs/jooq-component.adoc
index 61c72e0..07ab472 100644
--- a/components/camel-jooq/src/main/docs/jooq-component.adoc
+++ b/components/camel-jooq/src/main/docs/jooq-component.adoc
@@ -40,7 +40,7 @@ If you do not wish to delete the entity bean when it has been processed, you can
 == Options
 
 // component options: START
-The JOOQ component supports 3 options, which are listed below.
+The JOOQ component supports 2 options, which are listed below.
 
 
 
@@ -48,7 +48,6 @@ The JOOQ component supports 3 options, which are listed below.
 |===
 | Name | Description | Default | Type
 | *configuration* (common) | Component configuration (database connection, database entity type, etc.) |  | JooqConfiguration
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -122,7 +121,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 8 options, which are listed below.
+The component supports 7 options, which are listed below.
 
 
 
@@ -136,7 +135,6 @@ The component supports 8 options, which are listed below.
 | *camel.component.jooq.configuration.operation* | Type of operation to execute on query |  | JooqOperation
 | *camel.component.jooq.configuration.query* | To execute plain SQL query |  | String
 | *camel.component.jooq.enabled* | Whether to enable auto configuration of the jooq component. This is enabled by default. |  | Boolean
-| *camel.component.jooq.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
 // spring-boot-auto-configure options: END
 
diff --git a/components/camel-jpa/src/main/docs/jpa-component.adoc b/components/camel-jpa/src/main/docs/jpa-component.adoc
index 8346852..2833426 100644
--- a/components/camel-jpa/src/main/docs/jpa-component.adoc
+++ b/components/camel-jpa/src/main/docs/jpa-component.adoc
@@ -94,7 +94,7 @@ You can append query options to the URI in the following format,
 
 
 // component options: START
-The JPA component supports 6 options, which are listed below.
+The JPA component supports 5 options, which are listed below.
 
 
 
@@ -105,7 +105,6 @@ The JPA component supports 6 options, which are listed below.
 | *transactionManager* (common) | To use the PlatformTransactionManager for managing transactions. |  | PlatformTransaction Manager
 | *joinTransaction* (common) | The camel-jpa component will join transaction by default. You can use this option to turn this off, for example if you use LOCAL_RESOURCE and join transaction doesn't work with your JPA provider. This option can also be set globally on the JpaComponent, instead of having to set it on all endpoints. | true | boolean
 | *sharedEntityManager* (common) | Whether to use Spring's SharedEntityManager for the consumer/producer. Note in most cases joinTransaction should be set to false as this is not an EXTENDED EntityManager. | false | boolean
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -205,7 +204,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 7 options, which are listed below.
+The component supports 6 options, which are listed below.
 
 
 
@@ -216,7 +215,6 @@ The component supports 7 options, which are listed below.
 | *camel.component.jpa.enabled* | Enable jpa component | true | Boolean
 | *camel.component.jpa.entity-manager-factory* | To use the EntityManagerFactory. This is strongly recommended to configure. The option is a javax.persistence.EntityManagerFactory type. |  | String
 | *camel.component.jpa.join-transaction* | The camel-jpa component will join transaction by default. You can use this option to turn this off, for example if you use LOCAL_RESOURCE and join transaction doesn't work with your JPA provider. This option can also be set globally on the JpaComponent, instead of having to set it on all endpoints. | true | Boolean
-| *camel.component.jpa.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 | *camel.component.jpa.shared-entity-manager* | Whether to use Spring's SharedEntityManager for the consumer/producer. Note in most cases joinTransaction should be set to false as this is not an EXTENDED EntityManager. | false | Boolean
 | *camel.component.jpa.transaction-manager* | To use the PlatformTransactionManager for managing transactions. The option is a org.springframework.transaction.PlatformTransactionManager type. |  | String
 |===
diff --git a/components/camel-jsch/src/main/docs/scp-component.adoc b/components/camel-jsch/src/main/docs/scp-component.adoc
index c637eb2..f80aff3 100644
--- a/components/camel-jsch/src/main/docs/scp-component.adoc
+++ b/components/camel-jsch/src/main/docs/scp-component.adoc
@@ -42,7 +42,7 @@ in code).
 
 
 // component options: START
-The SCP component supports 3 options, which are listed below.
+The SCP component supports 2 options, which are listed below.
 
 
 
@@ -50,7 +50,6 @@ The SCP component supports 3 options, which are listed below.
 |===
 | Name | Description | Default | Type
 | *verboseLogging* (producer) | JSCH is verbose logging out of the box. Therefore we turn the logging down to DEBUG logging by default. But setting this option to true turns on the verbose logging again. | false | boolean
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -132,7 +131,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 4 options, which are listed below.
+The component supports 3 options, which are listed below.
 
 
 
@@ -141,7 +140,6 @@ The component supports 4 options, which are listed below.
 | Name | Description | Default | Type
 | *camel.component.scp.basic-property-binding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | Boolean
 | *camel.component.scp.enabled* | Enable scp component | true | Boolean
-| *camel.component.scp.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 | *camel.component.scp.verbose-logging* | JSCH is verbose logging out of the box. Therefore we turn the logging down to DEBUG logging by default. But setting this option to true turns on the verbose logging again. | false | Boolean
 |===
 // spring-boot-auto-configure options: END
diff --git a/components/camel-json-validator/src/main/docs/json-validator-component.adoc b/components/camel-json-validator/src/main/docs/json-validator-component.adoc
index d1b1b2b..2f2b3c8 100644
--- a/components/camel-json-validator/src/main/docs/json-validator-component.adoc
+++ b/components/camel-json-validator/src/main/docs/json-validator-component.adoc
@@ -36,14 +36,13 @@ the JSON Schema to validate against.
 == URI Options
 
 // component options: START
-The JSON Schema Validator component supports 2 options, which are listed below.
+The JSON Schema Validator component supports 1 options, which are listed below.
 
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
 |===
 | Name | Description | Default | Type
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -102,7 +101,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 3 options, which are listed below.
+The component supports 2 options, which are listed below.
 
 
 
@@ -111,7 +110,6 @@ The component supports 3 options, which are listed below.
 | Name | Description | Default | Type
 | *camel.component.json-validator.basic-property-binding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | Boolean
 | *camel.component.json-validator.enabled* | Whether to enable auto configuration of the json-validator component. This is enabled by default. |  | Boolean
-| *camel.component.json-validator.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
 // spring-boot-auto-configure options: END
 
diff --git a/components/camel-jt400/src/main/docs/jt400-component.adoc b/components/camel-jt400/src/main/docs/jt400-component.adoc
index a1dd862..e16b41a 100644
--- a/components/camel-jt400/src/main/docs/jt400-component.adoc
+++ b/components/camel-jt400/src/main/docs/jt400-component.adoc
@@ -39,7 +39,7 @@ You can append query options to the URI in the following format,
 == JT400 options
 
 // component options: START
-The JT400 component supports 3 options, which are listed below.
+The JT400 component supports 2 options, which are listed below.
 
 
 
@@ -47,7 +47,6 @@ The JT400 component supports 3 options, which are listed below.
 |===
 | Name | Description | Default | Type
 | *connectionPool* (advanced) | Returns the default connection pool used by this component. |  | AS400ConnectionPool
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -132,7 +131,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 4 options, which are listed below.
+The component supports 3 options, which are listed below.
 
 
 
@@ -142,7 +141,6 @@ The component supports 4 options, which are listed below.
 | *camel.component.jt400.basic-property-binding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | Boolean
 | *camel.component.jt400.connection-pool* | Returns the default connection pool used by this component. The option is a com.ibm.as400.access.AS400ConnectionPool type. |  | String
 | *camel.component.jt400.enabled* | Enable jt400 component | true | Boolean
-| *camel.component.jt400.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
 // spring-boot-auto-configure options: END
 
diff --git a/components/camel-kafka/src/main/docs/kafka-component.adoc b/components/camel-kafka/src/main/docs/kafka-component.adoc
index d070dcb..e85e11b 100644
--- a/components/camel-kafka/src/main/docs/kafka-component.adoc
+++ b/components/camel-kafka/src/main/docs/kafka-component.adoc
@@ -33,7 +33,7 @@ kafka:topic[?options]
 
 
 // component options: START
-The Kafka component supports 9 options, which are listed below.
+The Kafka component supports 8 options, which are listed below.
 
 
 
@@ -47,7 +47,6 @@ The Kafka component supports 9 options, which are listed below.
 | *breakOnFirstError* (consumer) | This options controls what happens when a consumer is processing an exchange and it fails. If the option is false then the consumer continues to the next message and processes it. If the option is true then the consumer breaks out, and will seek back to offset of the message that caused a failure, and then re-attempt to process this message. However this can lead to endless processing of the same message if its bound to fail every time, eg a poison mess [...]
 | *allowManualCommit* (consumer) | Whether to allow doing manual commits via KafkaManualCommit. If this option is enabled then an instance of KafkaManualCommit is stored on the Exchange message header, which allows end users to access this API and perform manual offset commits via the Kafka consumer. | false | boolean
 | *kafkaManualCommit Factory* (consumer) | Factory to use for creating KafkaManualCommit instances. This allows to plugin a custom factory to create custom KafkaManualCommit instances in case special logic is needed when doing manual commits that deviates from the default implementation that comes out of the box. |  | KafkaManualCommit Factory
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -194,7 +193,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 101 options, which are listed below.
+The component supports 100 options, which are listed below.
 
 
 
@@ -299,7 +298,6 @@ The component supports 101 options, which are listed below.
 | *camel.component.kafka.configuration.worker-pool-max-size* | Maximum number of threads for the worker pool for continue routing {@link Exchange} after kafka server has acknowledge the message that was sent to it from {@link KafkaProducer} using asynchronous non-blocking processing. | 20 | Integer
 | *camel.component.kafka.enabled* | Enable kafka component | true | Boolean
 | *camel.component.kafka.kafka-manual-commit-factory* | Factory to use for creating KafkaManualCommit instances. This allows to plugin a custom factory to create custom KafkaManualCommit instances in case special logic is needed when doing manual commits that deviates from the default implementation that comes out of the box. The option is a org.apache.camel.component.kafka.KafkaManualCommitFactory type. |  | String
-| *camel.component.kafka.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 | *camel.component.kafka.use-global-ssl-context-parameters* | Enable usage of global SSL context parameters. | false | Boolean
 | *camel.component.kafka.worker-pool* | To use a shared custom worker pool for continue routing Exchange after kafka server has acknowledge the message that was sent to it from KafkaProducer using asynchronous non-blocking processing. If using this option then you must handle the lifecycle of the thread pool to shut the pool down when no longer needed. The option is a java.util.concurrent.ExecutorService type. |  | String
 |===
diff --git a/components/camel-kubernetes/src/main/docs/kubernetes-config-maps-component.adoc b/components/camel-kubernetes/src/main/docs/kubernetes-config-maps-component.adoc
index 536aceb..33d1dba 100644
--- a/components/camel-kubernetes/src/main/docs/kubernetes-config-maps-component.adoc
+++ b/components/camel-kubernetes/src/main/docs/kubernetes-config-maps-component.adoc
@@ -10,14 +10,13 @@ provides a producer to execute kubernetes ConfigMap operations.
 == Component Options
 
 // component options: START
-The Kubernetes ConfigMap component supports 2 options, which are listed below.
+The Kubernetes ConfigMap component supports 1 options, which are listed below.
 
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
 |===
 | Name | Description | Default | Type
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -90,7 +89,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 3 options, which are listed below.
+The component supports 2 options, which are listed below.
 
 
 
@@ -99,7 +98,6 @@ The component supports 3 options, which are listed below.
 | Name | Description | Default | Type
 | *camel.component.kubernetes-config-maps.basic-property-binding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | Boolean
 | *camel.component.kubernetes-config-maps.enabled* | Whether to enable auto configuration of the kubernetes-config-maps component. This is enabled by default. |  | Boolean
-| *camel.component.kubernetes-config-maps.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
 // spring-boot-auto-configure options: END
 
diff --git a/components/camel-kubernetes/src/main/docs/kubernetes-deployments-component.adoc b/components/camel-kubernetes/src/main/docs/kubernetes-deployments-component.adoc
index bc7f2b5..1f78fca 100644
--- a/components/camel-kubernetes/src/main/docs/kubernetes-deployments-component.adoc
+++ b/components/camel-kubernetes/src/main/docs/kubernetes-deployments-component.adoc
@@ -11,14 +11,13 @@ provides a producer to execute kubernetes secret operations.
 == Component Options
 
 // component options: START
-The Kubernetes Deployments component supports 2 options, which are listed below.
+The Kubernetes Deployments component supports 1 options, which are listed below.
 
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
 |===
 | Name | Description | Default | Type
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -99,7 +98,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 3 options, which are listed below.
+The component supports 2 options, which are listed below.
 
 
 
@@ -108,7 +107,6 @@ The component supports 3 options, which are listed below.
 | Name | Description | Default | Type
 | *camel.component.kubernetes-deployments.basic-property-binding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | Boolean
 | *camel.component.kubernetes-deployments.enabled* | Whether to enable auto configuration of the kubernetes-deployments component. This is enabled by default. |  | Boolean
-| *camel.component.kubernetes-deployments.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
 // spring-boot-auto-configure options: END
 
diff --git a/components/camel-kubernetes/src/main/docs/kubernetes-hpa-component.adoc b/components/camel-kubernetes/src/main/docs/kubernetes-hpa-component.adoc
index 7ad8fcb..8887d13 100644
--- a/components/camel-kubernetes/src/main/docs/kubernetes-hpa-component.adoc
+++ b/components/camel-kubernetes/src/main/docs/kubernetes-hpa-component.adoc
@@ -12,14 +12,13 @@ hpa events.
 == Component Options
 
 // component options: START
-The Kubernetes HPA component supports 2 options, which are listed below.
+The Kubernetes HPA component supports 1 options, which are listed below.
 
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
 |===
 | Name | Description | Default | Type
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -100,7 +99,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 3 options, which are listed below.
+The component supports 2 options, which are listed below.
 
 
 
@@ -109,7 +108,6 @@ The component supports 3 options, which are listed below.
 | Name | Description | Default | Type
 | *camel.component.kubernetes-hpa.basic-property-binding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | Boolean
 | *camel.component.kubernetes-hpa.enabled* | Whether to enable auto configuration of the kubernetes-hpa component. This is enabled by default. |  | Boolean
-| *camel.component.kubernetes-hpa.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
 // spring-boot-auto-configure options: END
 
diff --git a/components/camel-kubernetes/src/main/docs/kubernetes-job-component.adoc b/components/camel-kubernetes/src/main/docs/kubernetes-job-component.adoc
index a2c0e2a..a782d4d 100644
--- a/components/camel-kubernetes/src/main/docs/kubernetes-job-component.adoc
+++ b/components/camel-kubernetes/src/main/docs/kubernetes-job-component.adoc
@@ -11,14 +11,13 @@ provides a producer to execute kubernetes job operations.
 == Component Options
 
 // component options: START
-The Kubernetes Job component supports 2 options, which are listed below.
+The Kubernetes Job component supports 1 options, which are listed below.
 
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
 |===
 | Name | Description | Default | Type
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -99,7 +98,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 3 options, which are listed below.
+The component supports 2 options, which are listed below.
 
 
 
@@ -108,7 +107,6 @@ The component supports 3 options, which are listed below.
 | Name | Description | Default | Type
 | *camel.component.kubernetes-job.basic-property-binding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | Boolean
 | *camel.component.kubernetes-job.enabled* | Whether to enable auto configuration of the kubernetes-job component. This is enabled by default. |  | Boolean
-| *camel.component.kubernetes-job.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
 // spring-boot-auto-configure options: END
 
diff --git a/components/camel-kubernetes/src/main/docs/kubernetes-namespaces-component.adoc b/components/camel-kubernetes/src/main/docs/kubernetes-namespaces-component.adoc
index 35d59af..768a8a8 100644
--- a/components/camel-kubernetes/src/main/docs/kubernetes-namespaces-component.adoc
+++ b/components/camel-kubernetes/src/main/docs/kubernetes-namespaces-component.adoc
@@ -12,14 +12,13 @@ kubernetes namespace events.
 == Component Options
 
 // component options: START
-The Kubernetes Namespaces component supports 2 options, which are listed below.
+The Kubernetes Namespaces component supports 1 options, which are listed below.
 
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
 |===
 | Name | Description | Default | Type
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -100,7 +99,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 3 options, which are listed below.
+The component supports 2 options, which are listed below.
 
 
 
@@ -109,7 +108,6 @@ The component supports 3 options, which are listed below.
 | Name | Description | Default | Type
 | *camel.component.kubernetes-namespaces.basic-property-binding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | Boolean
 | *camel.component.kubernetes-namespaces.enabled* | Whether to enable auto configuration of the kubernetes-namespaces component. This is enabled by default. |  | Boolean
-| *camel.component.kubernetes-namespaces.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
 // spring-boot-auto-configure options: END
 
diff --git a/components/camel-kubernetes/src/main/docs/kubernetes-nodes-component.adoc b/components/camel-kubernetes/src/main/docs/kubernetes-nodes-component.adoc
index 5c76e9d..ff4841c 100644
--- a/components/camel-kubernetes/src/main/docs/kubernetes-nodes-component.adoc
+++ b/components/camel-kubernetes/src/main/docs/kubernetes-nodes-component.adoc
@@ -12,14 +12,13 @@ node events.
 == Component Options
 
 // component options: START
-The Kubernetes Nodes component supports 2 options, which are listed below.
+The Kubernetes Nodes component supports 1 options, which are listed below.
 
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
 |===
 | Name | Description | Default | Type
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -100,7 +99,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 3 options, which are listed below.
+The component supports 2 options, which are listed below.
 
 
 
@@ -109,7 +108,6 @@ The component supports 3 options, which are listed below.
 | Name | Description | Default | Type
 | *camel.component.kubernetes-nodes.basic-property-binding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | Boolean
 | *camel.component.kubernetes-nodes.enabled* | Whether to enable auto configuration of the kubernetes-nodes component. This is enabled by default. |  | Boolean
-| *camel.component.kubernetes-nodes.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
 // spring-boot-auto-configure options: END
 
diff --git a/components/camel-kubernetes/src/main/docs/kubernetes-persistent-volumes-claims-component.adoc b/components/camel-kubernetes/src/main/docs/kubernetes-persistent-volumes-claims-component.adoc
index f9e364c..487d924 100644
--- a/components/camel-kubernetes/src/main/docs/kubernetes-persistent-volumes-claims-component.adoc
+++ b/components/camel-kubernetes/src/main/docs/kubernetes-persistent-volumes-claims-component.adoc
@@ -11,14 +11,13 @@ provides a producer to execute kubernetes persistent volume claim operations.
 == Component Options
 
 // component options: START
-The Kubernetes Persistent Volume Claim component supports 2 options, which are listed below.
+The Kubernetes Persistent Volume Claim component supports 1 options, which are listed below.
 
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
 |===
 | Name | Description | Default | Type
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -91,7 +90,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 3 options, which are listed below.
+The component supports 2 options, which are listed below.
 
 
 
@@ -100,7 +99,6 @@ The component supports 3 options, which are listed below.
 | Name | Description | Default | Type
 | *camel.component.kubernetes-persistent-volumes-claims.basic-property-binding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | Boolean
 | *camel.component.kubernetes-persistent-volumes-claims.enabled* | Whether to enable auto configuration of the kubernetes-persistent-volumes-claims component. This is enabled by default. |  | Boolean
-| *camel.component.kubernetes-persistent-volumes-claims.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
 // spring-boot-auto-configure options: END
 
diff --git a/components/camel-kubernetes/src/main/docs/kubernetes-persistent-volumes-component.adoc b/components/camel-kubernetes/src/main/docs/kubernetes-persistent-volumes-component.adoc
index b5bf15d..8d42ab4 100644
--- a/components/camel-kubernetes/src/main/docs/kubernetes-persistent-volumes-component.adoc
+++ b/components/camel-kubernetes/src/main/docs/kubernetes-persistent-volumes-component.adoc
@@ -11,14 +11,13 @@ provides a producer to execute kubernetes persistent volume operations.
 == Component Options
 
 // component options: START
-The Kubernetes Persistent Volume component supports 2 options, which are listed below.
+The Kubernetes Persistent Volume component supports 1 options, which are listed below.
 
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
 |===
 | Name | Description | Default | Type
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -91,7 +90,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 3 options, which are listed below.
+The component supports 2 options, which are listed below.
 
 
 
@@ -100,7 +99,6 @@ The component supports 3 options, which are listed below.
 | Name | Description | Default | Type
 | *camel.component.kubernetes-persistent-volumes.basic-property-binding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | Boolean
 | *camel.component.kubernetes-persistent-volumes.enabled* | Whether to enable auto configuration of the kubernetes-persistent-volumes component. This is enabled by default. |  | Boolean
-| *camel.component.kubernetes-persistent-volumes.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
 // spring-boot-auto-configure options: END
 
diff --git a/components/camel-kubernetes/src/main/docs/kubernetes-pods-component.adoc b/components/camel-kubernetes/src/main/docs/kubernetes-pods-component.adoc
index 7bd9e00..0352b14 100644
--- a/components/camel-kubernetes/src/main/docs/kubernetes-pods-component.adoc
+++ b/components/camel-kubernetes/src/main/docs/kubernetes-pods-component.adoc
@@ -11,14 +11,13 @@ provides a producer to execute kubernetes pod operations.
 == Component Options
 
 // component options: START
-The Kubernetes Pods component supports 2 options, which are listed below.
+The Kubernetes Pods component supports 1 options, which are listed below.
 
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
 |===
 | Name | Description | Default | Type
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -99,7 +98,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 3 options, which are listed below.
+The component supports 2 options, which are listed below.
 
 
 
@@ -108,7 +107,6 @@ The component supports 3 options, which are listed below.
 | Name | Description | Default | Type
 | *camel.component.kubernetes-pods.basic-property-binding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | Boolean
 | *camel.component.kubernetes-pods.enabled* | Whether to enable auto configuration of the kubernetes-pods component. This is enabled by default. |  | Boolean
-| *camel.component.kubernetes-pods.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
 // spring-boot-auto-configure options: END
 
diff --git a/components/camel-kubernetes/src/main/docs/kubernetes-replication-controllers-component.adoc b/components/camel-kubernetes/src/main/docs/kubernetes-replication-controllers-component.adoc
index c5bafe9..4842407 100644
--- a/components/camel-kubernetes/src/main/docs/kubernetes-replication-controllers-component.adoc
+++ b/components/camel-kubernetes/src/main/docs/kubernetes-replication-controllers-component.adoc
@@ -12,14 +12,13 @@ consume kubernetes replication controller events.
 == Component Options
 
 // component options: START
-The Kubernetes Replication Controller component supports 2 options, which are listed below.
+The Kubernetes Replication Controller component supports 1 options, which are listed below.
 
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
 |===
 | Name | Description | Default | Type
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -100,7 +99,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 3 options, which are listed below.
+The component supports 2 options, which are listed below.
 
 
 
@@ -109,7 +108,6 @@ The component supports 3 options, which are listed below.
 | Name | Description | Default | Type
 | *camel.component.kubernetes-replication-controllers.basic-property-binding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | Boolean
 | *camel.component.kubernetes-replication-controllers.enabled* | Whether to enable auto configuration of the kubernetes-replication-controllers component. This is enabled by default. |  | Boolean
-| *camel.component.kubernetes-replication-controllers.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
 // spring-boot-auto-configure options: END
 
diff --git a/components/camel-kubernetes/src/main/docs/kubernetes-resources-quota-component.adoc b/components/camel-kubernetes/src/main/docs/kubernetes-resources-quota-component.adoc
index c9323d9..f74a21c 100644
--- a/components/camel-kubernetes/src/main/docs/kubernetes-resources-quota-component.adoc
+++ b/components/camel-kubernetes/src/main/docs/kubernetes-resources-quota-component.adoc
@@ -11,14 +11,13 @@ provides a producer to execute kubernetes resource quota operations.
 == Component Options
 
 // component options: START
-The Kubernetes Resources Quota component supports 2 options, which are listed below.
+The Kubernetes Resources Quota component supports 1 options, which are listed below.
 
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
 |===
 | Name | Description | Default | Type
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -91,7 +90,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 3 options, which are listed below.
+The component supports 2 options, which are listed below.
 
 
 
@@ -100,7 +99,6 @@ The component supports 3 options, which are listed below.
 | Name | Description | Default | Type
 | *camel.component.kubernetes-resources-quota.basic-property-binding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | Boolean
 | *camel.component.kubernetes-resources-quota.enabled* | Whether to enable auto configuration of the kubernetes-resources-quota component. This is enabled by default. |  | Boolean
-| *camel.component.kubernetes-resources-quota.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
 // spring-boot-auto-configure options: END
 
diff --git a/components/camel-kubernetes/src/main/docs/kubernetes-secrets-component.adoc b/components/camel-kubernetes/src/main/docs/kubernetes-secrets-component.adoc
index 74c6458..fc8183a 100644
--- a/components/camel-kubernetes/src/main/docs/kubernetes-secrets-component.adoc
+++ b/components/camel-kubernetes/src/main/docs/kubernetes-secrets-component.adoc
@@ -11,14 +11,13 @@ provides a producer to execute kubernetes secret operations.
 == Component Options
 
 // component options: START
-The Kubernetes Secrets component supports 2 options, which are listed below.
+The Kubernetes Secrets component supports 1 options, which are listed below.
 
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
 |===
 | Name | Description | Default | Type
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -91,7 +90,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 3 options, which are listed below.
+The component supports 2 options, which are listed below.
 
 
 
@@ -100,7 +99,6 @@ The component supports 3 options, which are listed below.
 | Name | Description | Default | Type
 | *camel.component.kubernetes-secrets.basic-property-binding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | Boolean
 | *camel.component.kubernetes-secrets.enabled* | Whether to enable auto configuration of the kubernetes-secrets component. This is enabled by default. |  | Boolean
-| *camel.component.kubernetes-secrets.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
 // spring-boot-auto-configure options: END
 
diff --git a/components/camel-kubernetes/src/main/docs/kubernetes-service-accounts-component.adoc b/components/camel-kubernetes/src/main/docs/kubernetes-service-accounts-component.adoc
index cd3351a..d68d339 100644
--- a/components/camel-kubernetes/src/main/docs/kubernetes-service-accounts-component.adoc
+++ b/components/camel-kubernetes/src/main/docs/kubernetes-service-accounts-component.adoc
@@ -10,14 +10,13 @@ provides a producer to execute kubernetes Service Account operations.
 == Component Options
 
 // component options: START
-The Kubernetes Service Account component supports 2 options, which are listed below.
+The Kubernetes Service Account component supports 1 options, which are listed below.
 
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
 |===
 | Name | Description | Default | Type
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -89,7 +88,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 3 options, which are listed below.
+The component supports 2 options, which are listed below.
 
 
 
@@ -98,7 +97,6 @@ The component supports 3 options, which are listed below.
 | Name | Description | Default | Type
 | *camel.component.kubernetes-service-accounts.basic-property-binding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | Boolean
 | *camel.component.kubernetes-service-accounts.enabled* | Whether to enable auto configuration of the kubernetes-service-accounts component. This is enabled by default. |  | Boolean
-| *camel.component.kubernetes-service-accounts.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
 // spring-boot-auto-configure options: END
 
diff --git a/components/camel-kubernetes/src/main/docs/kubernetes-services-component.adoc b/components/camel-kubernetes/src/main/docs/kubernetes-services-component.adoc
index aea2bb6..362f0ee 100644
--- a/components/camel-kubernetes/src/main/docs/kubernetes-services-component.adoc
+++ b/components/camel-kubernetes/src/main/docs/kubernetes-services-component.adoc
@@ -12,14 +12,13 @@ service events.
 == Component Options
 
 // component options: START
-The Kubernetes Services component supports 2 options, which are listed below.
+The Kubernetes Services component supports 1 options, which are listed below.
 
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
 |===
 | Name | Description | Default | Type
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -100,7 +99,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 3 options, which are listed below.
+The component supports 2 options, which are listed below.
 
 
 
@@ -109,7 +108,6 @@ The component supports 3 options, which are listed below.
 | Name | Description | Default | Type
 | *camel.component.kubernetes-services.basic-property-binding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | Boolean
 | *camel.component.kubernetes-services.enabled* | Whether to enable auto configuration of the kubernetes-services component. This is enabled by default. |  | Boolean
-| *camel.component.kubernetes-services.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
 // spring-boot-auto-configure options: END
 
diff --git a/components/camel-kubernetes/src/main/docs/openshift-build-configs-component.adoc b/components/camel-kubernetes/src/main/docs/openshift-build-configs-component.adoc
index 475e2ef..7dc1d83 100644
--- a/components/camel-kubernetes/src/main/docs/openshift-build-configs-component.adoc
+++ b/components/camel-kubernetes/src/main/docs/openshift-build-configs-component.adoc
@@ -10,14 +10,13 @@ provides a producer to execute kubernetes build config operations.
 == Component Options
 
 // component options: START
-The Openshift Build Config component supports 2 options, which are listed below.
+The Openshift Build Config component supports 1 options, which are listed below.
 
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
 |===
 | Name | Description | Default | Type
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
diff --git a/components/camel-kubernetes/src/main/docs/openshift-builds-component.adoc b/components/camel-kubernetes/src/main/docs/openshift-builds-component.adoc
index 3b819a7..a96425a 100644
--- a/components/camel-kubernetes/src/main/docs/openshift-builds-component.adoc
+++ b/components/camel-kubernetes/src/main/docs/openshift-builds-component.adoc
@@ -10,14 +10,13 @@ provides a producer to execute kubernetes build operations.
 == Component Options
 
 // component options: START
-The Openshift Builds component supports 2 options, which are listed below.
+The Openshift Builds component supports 1 options, which are listed below.
 
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
 |===
 | Name | Description | Default | Type
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
diff --git a/components/camel-language/src/main/docs/language-component.adoc b/components/camel-language/src/main/docs/language-component.adoc
index d606587..4da6918 100644
--- a/components/camel-language/src/main/docs/language-component.adoc
+++ b/components/camel-language/src/main/docs/language-component.adoc
@@ -37,14 +37,13 @@ language://languageName:resource:scheme:location][?options]
 
 
 // component options: START
-The Language component supports 2 options, which are listed below.
+The Language component supports 1 options, which are listed below.
 
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
 |===
 | Name | Description | Default | Type
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -104,7 +103,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 3 options, which are listed below.
+The component supports 2 options, which are listed below.
 
 
 
@@ -113,7 +112,6 @@ The component supports 3 options, which are listed below.
 | Name | Description | Default | Type
 | *camel.component.language.basic-property-binding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | Boolean
 | *camel.component.language.enabled* | Whether to enable auto configuration of the language component. This is enabled by default. |  | Boolean
-| *camel.component.language.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
 // spring-boot-auto-configure options: END
 
diff --git a/components/camel-ldap/src/main/docs/ldap-component.adoc b/components/camel-ldap/src/main/docs/ldap-component.adoc
index f6ca606..e582ddf 100644
--- a/components/camel-ldap/src/main/docs/ldap-component.adoc
+++ b/components/camel-ldap/src/main/docs/ldap-component.adoc
@@ -41,14 +41,13 @@ You can append query options to the URI in the following format,
 
 
 // component options: START
-The LDAP component supports 2 options, which are listed below.
+The LDAP component supports 1 options, which are listed below.
 
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
 |===
 | Name | Description | Default | Type
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -106,7 +105,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 3 options, which are listed below.
+The component supports 2 options, which are listed below.
 
 
 
@@ -115,7 +114,6 @@ The component supports 3 options, which are listed below.
 | Name | Description | Default | Type
 | *camel.component.ldap.basic-property-binding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | Boolean
 | *camel.component.ldap.enabled* | Enable ldap component | true | Boolean
-| *camel.component.ldap.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
 // spring-boot-auto-configure options: END
 
diff --git a/components/camel-ldif/src/main/docs/ldif-component.adoc b/components/camel-ldif/src/main/docs/ldif-component.adoc
index b4d63c4..5b1fe27 100644
--- a/components/camel-ldif/src/main/docs/ldif-component.adoc
+++ b/components/camel-ldif/src/main/docs/ldif-component.adoc
@@ -50,14 +50,13 @@ You can append query options to the URI in the following format,
 == Options
 
 // component options: START
-The LDIF component supports 2 options, which are listed below.
+The LDIF component supports 1 options, which are listed below.
 
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
 |===
 | Name | Description | Default | Type
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -108,7 +107,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 3 options, which are listed below.
+The component supports 2 options, which are listed below.
 
 
 
@@ -117,7 +116,6 @@ The component supports 3 options, which are listed below.
 | Name | Description | Default | Type
 | *camel.component.ldif.basic-property-binding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | Boolean
 | *camel.component.ldif.enabled* | Whether to enable auto configuration of the ldif component. This is enabled by default. |  | Boolean
-| *camel.component.ldif.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
 // spring-boot-auto-configure options: END
 
diff --git a/components/camel-linkedin/camel-linkedin-component/src/main/docs/linkedin-component.adoc b/components/camel-linkedin/camel-linkedin-component/src/main/docs/linkedin-component.adoc
index e309d60..8715e0c 100644
--- a/components/camel-linkedin/camel-linkedin-component/src/main/docs/linkedin-component.adoc
+++ b/components/camel-linkedin/camel-linkedin-component/src/main/docs/linkedin-component.adoc
@@ -53,7 +53,7 @@ Endpoint prefix can be one of:
 
 
 // component options: START
-The Linkedin component supports 3 options, which are listed below.
+The Linkedin component supports 2 options, which are listed below.
 
 
 
@@ -61,7 +61,6 @@ The Linkedin component supports 3 options, which are listed below.
 |===
 | Name | Description | Default | Type
 | *configuration* (common) | To use the shared configuration |  | LinkedInConfiguration
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -132,7 +131,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 16 options, which are listed below.
+The component supports 15 options, which are listed below.
 
 
 
@@ -154,7 +153,6 @@ The component supports 16 options, which are listed below.
 | *camel.component.linkedin.configuration.user-name* | LinkedIn user account name, MUST be provided |  | String
 | *camel.component.linkedin.configuration.user-password* | LinkedIn account password |  | String
 | *camel.component.linkedin.enabled* | Enable linkedin component | true | Boolean
-| *camel.component.linkedin.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
 // spring-boot-auto-configure options: END
 
diff --git a/components/camel-log/src/main/docs/log-component.adoc b/components/camel-log/src/main/docs/log-component.adoc
index d1b9396..ee2b303 100644
--- a/components/camel-log/src/main/docs/log-component.adoc
+++ b/components/camel-log/src/main/docs/log-component.adoc
@@ -59,7 +59,7 @@ LogEIP.
 
 
 // component options: START
-The Log component supports 3 options, which are listed below.
+The Log component supports 2 options, which are listed below.
 
 
 
@@ -67,7 +67,6 @@ The Log component supports 3 options, which are listed below.
 |===
 | Name | Description | Default | Type
 | *exchangeFormatter* (advanced) | Sets a custom ExchangeFormatter to convert the Exchange to a String suitable for logging. If not specified, we default to DefaultExchangeFormatter. |  | ExchangeFormatter
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -146,7 +145,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 4 options, which are listed below.
+The component supports 3 options, which are listed below.
 
 
 
@@ -156,7 +155,6 @@ The component supports 4 options, which are listed below.
 | *camel.component.log.basic-property-binding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | Boolean
 | *camel.component.log.enabled* | Whether to enable auto configuration of the log component. This is enabled by default. |  | Boolean
 | *camel.component.log.exchange-formatter* | Sets a custom ExchangeFormatter to convert the Exchange to a String suitable for logging. If not specified, we default to DefaultExchangeFormatter. The option is a org.apache.camel.spi.ExchangeFormatter type. |  | String
-| *camel.component.log.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
 // spring-boot-auto-configure options: END
 
diff --git a/components/camel-lucene/src/main/docs/lucene-component.adoc b/components/camel-lucene/src/main/docs/lucene-component.adoc
index 546d1c4..b61c069 100644
--- a/components/camel-lucene/src/main/docs/lucene-component.adoc
+++ b/components/camel-lucene/src/main/docs/lucene-component.adoc
@@ -52,7 +52,7 @@ You can append query options to the URI in the following format,
 
 
 // component options: START
-The Lucene component supports 3 options, which are listed below.
+The Lucene component supports 2 options, which are listed below.
 
 
 
@@ -60,7 +60,6 @@ The Lucene component supports 3 options, which are listed below.
 |===
 | Name | Description | Default | Type
 | *config* (advanced) | To use a shared lucene configuration |  | LuceneConfiguration
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -122,7 +121,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 12 options, which are listed below.
+The component supports 11 options, which are listed below.
 
 
 
@@ -140,7 +139,6 @@ The component supports 12 options, which are listed below.
 | *camel.component.lucene.config.source-directory* | An optional directory containing files to be used to be analyzed and added to the index at producer startup. |  | File
 | *camel.component.lucene.config.uri* |  |  | URI
 | *camel.component.lucene.enabled* | Enable lucene component | true | Boolean
-| *camel.component.lucene.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
 // spring-boot-auto-configure options: END
 
diff --git a/components/camel-lumberjack/src/main/docs/lumberjack-component.adoc b/components/camel-lumberjack/src/main/docs/lumberjack-component.adoc
index cdd1073..239943d 100644
--- a/components/camel-lumberjack/src/main/docs/lumberjack-component.adoc
+++ b/components/camel-lumberjack/src/main/docs/lumberjack-component.adoc
@@ -38,7 +38,7 @@ You can append query options to the URI in the following format,
 
 
 // component options: START
-The Lumberjack component supports 4 options, which are listed below.
+The Lumberjack component supports 3 options, which are listed below.
 
 
 
@@ -47,7 +47,6 @@ The Lumberjack component supports 4 options, which are listed below.
 | Name | Description | Default | Type
 | *sslContextParameters* (security) | Sets the default SSL configuration to use for all the endpoints. You can also configure it directly at the endpoint level. |  | SSLContextParameters
 | *useGlobalSslContext Parameters* (security) | Enable usage of global SSL context parameters. | false | boolean
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -108,7 +107,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 5 options, which are listed below.
+The component supports 4 options, which are listed below.
 
 
 
@@ -117,7 +116,6 @@ The component supports 5 options, which are listed below.
 | Name | Description | Default | Type
 | *camel.component.lumberjack.basic-property-binding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | Boolean
 | *camel.component.lumberjack.enabled* | Enable lumberjack component | true | Boolean
-| *camel.component.lumberjack.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 | *camel.component.lumberjack.ssl-context-parameters* | Sets the default SSL configuration to use for all the endpoints. You can also configure it directly at the endpoint level. The option is a org.apache.camel.support.jsse.SSLContextParameters type. |  | String
 | *camel.component.lumberjack.use-global-ssl-context-parameters* | Enable usage of global SSL context parameters. | false | Boolean
 |===
diff --git a/components/camel-mail/src/main/docs/mail-component.adoc b/components/camel-mail/src/main/docs/mail-component.adoc
index c664ff5..5881343 100644
--- a/components/camel-mail/src/main/docs/mail-component.adoc
+++ b/components/camel-mail/src/main/docs/mail-component.adoc
@@ -89,7 +89,7 @@ You can append query options to the URI in the following format,
 
 
 // component options: START
-The Mail component supports 6 options, which are listed below.
+The Mail component supports 5 options, which are listed below.
 
 
 
@@ -100,7 +100,6 @@ The Mail component supports 6 options, which are listed below.
 | *contentTypeResolver* (advanced) | Resolver to determine Content-Type for file attachments. |  | ContentTypeResolver
 | *useGlobalSslContext Parameters* (security) | Enable usage of global SSL context parameters. | false | boolean
 | *headerFilterStrategy* (filter) | To use a custom org.apache.camel.spi.HeaderFilterStrategy to filter header to and from Camel message. |  | HeaderFilterStrategy
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -217,7 +216,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 49 options, which are listed below.
+The component supports 48 options, which are listed below.
 
 
 
@@ -264,7 +263,6 @@ The component supports 49 options, which are listed below.
 | *camel.component.mail.content-type-resolver* | Resolver to determine Content-Type for file attachments. The option is a org.apache.camel.component.mail.ContentTypeResolver type. |  | String
 | *camel.component.mail.enabled* | Enable mail component | true | Boolean
 | *camel.component.mail.header-filter-strategy* | To use a custom org.apache.camel.spi.HeaderFilterStrategy to filter header to and from Camel message. The option is a org.apache.camel.spi.HeaderFilterStrategy type. |  | String
-| *camel.component.mail.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 | *camel.component.mail.use-global-ssl-context-parameters* | Enable usage of global SSL context parameters. | false | Boolean
 | *camel.dataformat.mime-multipart.binary-content* | Defines whether the content of binary parts in the MIME multipart is binary (true) or Base-64 encoded (false) Default is false. | false | Boolean
 | *camel.dataformat.mime-multipart.content-type-header* | Whether the data format should set the Content-Type header with the type from the data format if the data format is capable of doing so. For example application/xml for data formats marshalling to XML, or application/json for data formats marshalling to JSon etc. | false | Boolean
diff --git a/components/camel-master/src/main/docs/master-component.adoc b/components/camel-master/src/main/docs/master-component.adoc
index 1093f9b..5675edc 100644
--- a/components/camel-master/src/main/docs/master-component.adoc
+++ b/components/camel-master/src/main/docs/master-component.adoc
@@ -34,7 +34,7 @@ Where endpoint is any Camel endpoint you want to run in master/slave mode.
 == Options
 
 // component options: START
-The Master component supports 4 options, which are listed below.
+The Master component supports 3 options, which are listed below.
 
 
 
@@ -43,7 +43,6 @@ The Master component supports 4 options, which are listed below.
 | Name | Description | Default | Type
 | *service* (advanced) | Inject the service to use. |  | CamelClusterService
 | *serviceSelector* (advanced) | Inject the service selector used to lookup the CamelClusterService to use. |  | Selector
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -97,7 +96,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 5 options, which are listed below.
+The component supports 4 options, which are listed below.
 
 
 
@@ -106,7 +105,6 @@ The component supports 5 options, which are listed below.
 | Name | Description | Default | Type
 | *camel.component.master.basic-property-binding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | Boolean
 | *camel.component.master.enabled* | Whether to enable auto configuration of the master component. This is enabled by default. |  | Boolean
-| *camel.component.master.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 | *camel.component.master.service* | Inject the service to use. The option is a org.apache.camel.cluster.CamelClusterService type. |  | String
 | *camel.component.master.service-selector* | Inject the service selector used to lookup the CamelClusterService to use. The option is a org.apache.camel.cluster.CamelClusterService.Selector type. |  | String
 |===
diff --git a/components/camel-metrics/src/main/docs/metrics-component.adoc b/components/camel-metrics/src/main/docs/metrics-component.adoc
index 6f65b67..096ecb8 100644
--- a/components/camel-metrics/src/main/docs/metrics-component.adoc
+++ b/components/camel-metrics/src/main/docs/metrics-component.adoc
@@ -45,7 +45,7 @@ metrics:[ meter | counter | histogram | timer | gauge ]:metricname[?options]
 == Options
 
 // component options: START
-The Metrics component supports 3 options, which are listed below.
+The Metrics component supports 2 options, which are listed below.
 
 
 
@@ -53,7 +53,6 @@ The Metrics component supports 3 options, which are listed below.
 |===
 | Name | Description | Default | Type
 | *metricRegistry* (advanced) | To use a custom configured MetricRegistry. |  | MetricRegistry
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -112,7 +111,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 4 options, which are listed below.
+The component supports 3 options, which are listed below.
 
 
 
@@ -122,7 +121,6 @@ The component supports 4 options, which are listed below.
 | *camel.component.metrics.basic-property-binding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | Boolean
 | *camel.component.metrics.enabled* | Enable metrics component | true | Boolean
 | *camel.component.metrics.metric-registry* | To use a custom configured MetricRegistry. The option is a com.codahale.metrics.MetricRegistry type. |  | String
-| *camel.component.metrics.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
 // spring-boot-auto-configure options: END
 
diff --git a/components/camel-micrometer/src/main/docs/micrometer-component.adoc b/components/camel-micrometer/src/main/docs/micrometer-component.adoc
index 9ee43ee..a6cdb2c 100644
--- a/components/camel-micrometer/src/main/docs/micrometer-component.adoc
+++ b/components/camel-micrometer/src/main/docs/micrometer-component.adoc
@@ -48,7 +48,7 @@ micrometer:[ counter | summary | timer ]:metricname[?options]
 == Options
 
 // component options: START
-The Micrometer component supports 3 options, which are listed below.
+The Micrometer component supports 2 options, which are listed below.
 
 
 
@@ -56,7 +56,6 @@ The Micrometer component supports 3 options, which are listed below.
 |===
 | Name | Description | Default | Type
 | *metricsRegistry* (advanced) | To use a custom configured MetricRegistry. |  | MeterRegistry
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -114,7 +113,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 4 options, which are listed below.
+The component supports 3 options, which are listed below.
 
 
 
@@ -124,7 +123,6 @@ The component supports 4 options, which are listed below.
 | *camel.component.micrometer.basic-property-binding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | Boolean
 | *camel.component.micrometer.enabled* | Whether to enable auto configuration of the micrometer component. This is enabled by default. |  | Boolean
 | *camel.component.micrometer.metrics-registry* | To use a custom configured MetricRegistry. The option is a io.micrometer.core.instrument.MeterRegistry type. |  | String
-| *camel.component.micrometer.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
 // spring-boot-auto-configure options: END
 
diff --git a/components/camel-milo/src/main/docs/milo-client-component.adoc b/components/camel-milo/src/main/docs/milo-client-component.adoc
index 2be5d93..33cfd7e 100644
--- a/components/camel-milo/src/main/docs/milo-client-component.adoc
+++ b/components/camel-milo/src/main/docs/milo-client-component.adoc
@@ -22,7 +22,7 @@ for this component:
 
 
 // component options: START
-The OPC UA Client component supports 7 options, which are listed below.
+The OPC UA Client component supports 6 options, which are listed below.
 
 
 
@@ -34,7 +34,6 @@ The OPC UA Client component supports 7 options, which are listed below.
 | *applicationUri* (common) | Default application URI |  | String
 | *productUri* (common) | Default product URI |  | String
 | *reconnectTimeout* (common) | Default reconnect timeout |  | Long
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -151,7 +150,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 26 options, which are listed below.
+The component supports 25 options, which are listed below.
 
 
 
@@ -183,7 +182,6 @@ The component supports 26 options, which are listed below.
 | *camel.component.milo-client.enabled* | Enable milo-client component | true | Boolean
 | *camel.component.milo-client.product-uri* | Default product URI |  | String
 | *camel.component.milo-client.reconnect-timeout* | Default reconnect timeout |  | Long
-| *camel.component.milo-client.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
 // spring-boot-auto-configure options: END
 
diff --git a/components/camel-milo/src/main/docs/milo-server-component.adoc b/components/camel-milo/src/main/docs/milo-server-component.adoc
index 06614b0..2016273 100644
--- a/components/camel-milo/src/main/docs/milo-server-component.adoc
+++ b/components/camel-milo/src/main/docs/milo-server-component.adoc
@@ -26,7 +26,7 @@ Value write requests from OPC UA Client will trigger messages which are sent int
 
 
 // component options: START
-The OPC UA Server component supports 21 options, which are listed below.
+The OPC UA Server component supports 20 options, which are listed below.
 
 
 
@@ -52,7 +52,6 @@ The OPC UA Server component supports 21 options, which are listed below.
 | *certificateManager* (common) | Server certificate manager |  | CertificateManager
 | *certificateValidator* (common) | Validator for client certificates |  | Supplier
 | *defaultCertificate Validator* (common) | Validator for client certificates using default file based approach |  | File
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -125,7 +124,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 22 options, which are listed below.
+The component supports 21 options, which are listed below.
 
 
 
@@ -146,7 +145,6 @@ The component supports 22 options, which are listed below.
 | *camel.component.milo-server.hostname* | Server hostname |  | String
 | *camel.component.milo-server.namespace-uri* | The URI of the namespace, defaults to urn:org:apache:camel |  | String
 | *camel.component.milo-server.product-uri* | The product URI |  | String
-| *camel.component.milo-server.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 | *camel.component.milo-server.security-policies* | Security policies |  | Set
 | *camel.component.milo-server.security-policies-by-id* | Security policies by URI or name |  | Collection
 | *camel.component.milo-server.server-certificate* | Server certificate. The option is a org.apache.camel.component.milo.KeyStoreLoader.Result type. |  | String
diff --git a/components/camel-mina/src/main/docs/mina-component.adoc b/components/camel-mina/src/main/docs/mina-component.adoc
index bc4292d..ba00489 100644
--- a/components/camel-mina/src/main/docs/mina-component.adoc
+++ b/components/camel-mina/src/main/docs/mina-component.adoc
@@ -64,7 +64,7 @@ You can append query options to the URI in the following format,
 
 
 // component options: START
-The Mina component supports 4 options, which are listed below.
+The Mina component supports 3 options, which are listed below.
 
 
 
@@ -73,7 +73,6 @@ The Mina component supports 4 options, which are listed below.
 | Name | Description | Default | Type
 | *configuration* (advanced) | To use the shared mina configuration. |  | Mina2Configuration
 | *useGlobalSslContext Parameters* (security) | Enable usage of global SSL context parameters. | false | boolean
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -159,7 +158,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 30 options, which are listed below.
+The component supports 29 options, which are listed below.
 
 
 
@@ -194,7 +193,6 @@ The component supports 30 options, which are listed below.
 | *camel.component.mina.configuration.transfer-exchange* | Only used for TCP. You can transfer the exchange over the wire instead of just the body. 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. | false | Boolean
 | *camel.component.mina.configuration.write-timeout* | Maximum amount of time it should take to send data to the MINA session. Default is 10000 milliseconds. | 10000 | Long
 | *camel.component.mina.enabled* | Whether to enable auto configuration of the mina component. This is enabled by default. |  | Boolean
-| *camel.component.mina.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 | *camel.component.mina.use-global-ssl-context-parameters* | Enable usage of global SSL context parameters. | false | Boolean
 |===
 // spring-boot-auto-configure options: END
diff --git a/components/camel-mllp/src/main/docs/mllp-component.adoc b/components/camel-mllp/src/main/docs/mllp-component.adoc
index 84c146b..c5fd09a 100644
--- a/components/camel-mllp/src/main/docs/mllp-component.adoc
+++ b/components/camel-mllp/src/main/docs/mllp-component.adoc
@@ -41,7 +41,7 @@ for this component:
 
 
 // component options: START
-The MLLP component supports 6 options, which are listed below.
+The MLLP component supports 5 options, which are listed below.
 
 
 
@@ -52,7 +52,6 @@ The MLLP component supports 6 options, which are listed below.
 | *logPhiMaxBytes* (advanced) | Set the maximum number of bytes of PHI that will be logged in a log entry. | 5120 | Integer
 | *defaultCharset* (advanced) | Set the default character set to use for byte to/from String conversions. | ISO-8859-1 | String
 | *configuration* (common) | Sets the default configuration to use when creating MLLP endpoints. |  | MllpConfiguration
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -137,7 +136,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 32 options, which are listed below.
+The component supports 31 options, which are listed below.
 
 
 
@@ -173,7 +172,6 @@ The component supports 32 options, which are listed below.
 | *camel.component.mllp.enabled* | Enable mllp component | true | Boolean
 | *camel.component.mllp.log-phi* | Set the component to log PHI data. | true | Boolean
 | *camel.component.mllp.log-phi-max-bytes* | Set the maximum number of bytes of PHI that will be logged in a log entry. | 5120 | Integer
-| *camel.component.mllp.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 | *camel.component.mllp.configuration.buffer-writes* | *Deprecated* Enable/Disable the buffering of HL7 payloads before writing to the socket. | false | Boolean
 | *camel.component.mllp.configuration.max-receive-timeouts* | *Deprecated* The maximum number of timeouts (specified by receiveTimeout) allowed before the TCP Connection will be reset. |  | Integer
 |===
diff --git a/components/camel-mock/src/main/docs/mock-component.adoc b/components/camel-mock/src/main/docs/mock-component.adoc
index 72435d1..db14c69 100644
--- a/components/camel-mock/src/main/docs/mock-component.adoc
+++ b/components/camel-mock/src/main/docs/mock-component.adoc
@@ -76,14 +76,13 @@ You can append query options to the URI in the following format,
 
 
 // component options: START
-The Mock component supports 2 options, which are listed below.
+The Mock component supports 1 options, which are listed below.
 
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
 |===
 | Name | Description | Default | Type
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
diff --git a/components/camel-mongodb-gridfs/src/main/docs/mongodb-gridfs-component.adoc b/components/camel-mongodb-gridfs/src/main/docs/mongodb-gridfs-component.adoc
index 5c1defc..79c9a2d 100644
--- a/components/camel-mongodb-gridfs/src/main/docs/mongodb-gridfs-component.adoc
+++ b/components/camel-mongodb-gridfs/src/main/docs/mongodb-gridfs-component.adoc
@@ -26,14 +26,13 @@ mongodb-gridfs:connectionBean?database=databaseName&bucket=bucketName[&moreOptio
 
 
 // component options: START
-The MongoDB GridFS component supports 2 options, which are listed below.
+The MongoDB GridFS component supports 1 options, which are listed below.
 
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
 |===
 | Name | Description | Default | Type
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -103,7 +102,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 3 options, which are listed below.
+The component supports 2 options, which are listed below.
 
 
 
@@ -112,7 +111,6 @@ The component supports 3 options, which are listed below.
 | Name | Description | Default | Type
 | *camel.component.mongodb-gridfs.basic-property-binding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | Boolean
 | *camel.component.mongodb-gridfs.enabled* | Enable mongodb-gridfs component | true | Boolean
-| *camel.component.mongodb-gridfs.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
 // spring-boot-auto-configure options: END
 
diff --git a/components/camel-mongodb/src/main/docs/mongodb-component.adoc b/components/camel-mongodb/src/main/docs/mongodb-component.adoc
index 77a81fe..b69d06f 100644
--- a/components/camel-mongodb/src/main/docs/mongodb-component.adoc
+++ b/components/camel-mongodb/src/main/docs/mongodb-component.adoc
@@ -54,7 +54,7 @@ mongodb:connectionBean?database=databaseName&collection=collectionName&operation
 
 
 // component options: START
-The MongoDB component supports 3 options, which are listed below.
+The MongoDB component supports 2 options, which are listed below.
 
 
 
@@ -62,7 +62,6 @@ The MongoDB component supports 3 options, which are listed below.
 |===
 | Name | Description | Default | Type
 | *mongoConnection* (common) | Set a client used for connection: all endpoints generated from the component will share this connection bean. |  | MongoClient
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -139,7 +138,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 4 options, which are listed below.
+The component supports 3 options, which are listed below.
 
 
 
@@ -149,7 +148,6 @@ The component supports 4 options, which are listed below.
 | *camel.component.mongodb.basic-property-binding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | Boolean
 | *camel.component.mongodb.enabled* | Whether to enable auto configuration of the mongodb component. This is enabled by default. |  | Boolean
 | *camel.component.mongodb.mongo-connection* | Set a client used for connection: all endpoints generated from the component will share this connection bean. The option is a com.mongodb.MongoClient type. |  | String
-| *camel.component.mongodb.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
 // spring-boot-auto-configure options: END
 
diff --git a/components/camel-mqtt/src/main/docs/mqtt-component.adoc b/components/camel-mqtt/src/main/docs/mqtt-component.adoc
index 44319a0..2b4459a 100644
--- a/components/camel-mqtt/src/main/docs/mqtt-component.adoc
+++ b/components/camel-mqtt/src/main/docs/mqtt-component.adoc
@@ -36,7 +36,7 @@ Where *name* is the name you want to assign the component.
 
 
 // component options: START
-The MQTT component supports 5 options, which are listed below.
+The MQTT component supports 4 options, which are listed below.
 
 
 
@@ -46,7 +46,6 @@ The MQTT component supports 5 options, which are listed below.
 | *host* (common) | The URI of the MQTT broker to connect too - this component also supports SSL - e.g. ssl://127.0.0.1:8883 |  | String
 | *userName* (security) | Username to be used for authentication against the MQTT broker |  | String
 | *password* (security) | Password to be used for authentication against the MQTT broker |  | String
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -140,7 +139,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 6 options, which are listed below.
+The component supports 5 options, which are listed below.
 
 
 
@@ -151,7 +150,6 @@ The component supports 6 options, which are listed below.
 | *camel.component.mqtt.enabled* | Enable mqtt component | true | Boolean
 | *camel.component.mqtt.host* | The URI of the MQTT broker to connect too - this component also supports SSL - e.g. ssl://127.0.0.1:8883 |  | String
 | *camel.component.mqtt.password* | Password to be used for authentication against the MQTT broker |  | String
-| *camel.component.mqtt.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 | *camel.component.mqtt.user-name* | Username to be used for authentication against the MQTT broker |  | String
 |===
 // spring-boot-auto-configure options: END
diff --git a/components/camel-msv/src/main/docs/msv-component.adoc b/components/camel-msv/src/main/docs/msv-component.adoc
index 4c34f3c..7156135 100644
--- a/components/camel-msv/src/main/docs/msv-component.adoc
+++ b/components/camel-msv/src/main/docs/msv-component.adoc
@@ -52,7 +52,7 @@ You can append query options to the URI in the following format,
 
 
 // component options: START
-The MSV component supports 4 options, which are listed below.
+The MSV component supports 3 options, which are listed below.
 
 
 
@@ -61,7 +61,6 @@ The MSV component supports 4 options, which are listed below.
 | Name | Description | Default | Type
 | *schemaFactory* (advanced) | To use the javax.xml.validation.SchemaFactory. |  | SchemaFactory
 | *resourceResolverFactory* (advanced) | To use a custom LSResourceResolver which depends on a dynamic endpoint resource URI |  | ValidatorResource ResolverFactory
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -126,7 +125,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 5 options, which are listed below.
+The component supports 4 options, which are listed below.
 
 
 
@@ -135,7 +134,6 @@ The component supports 5 options, which are listed below.
 | Name | Description | Default | Type
 | *camel.component.msv.basic-property-binding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | Boolean
 | *camel.component.msv.enabled* | Enable msv component | true | Boolean
-| *camel.component.msv.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 | *camel.component.msv.resource-resolver-factory* | To use a custom LSResourceResolver which depends on a dynamic endpoint resource URI. The option is a org.apache.camel.component.validator.ValidatorResourceResolverFactory type. |  | String
 | *camel.component.msv.schema-factory* | To use the javax.xml.validation.SchemaFactory. The option is a javax.xml.validation.SchemaFactory type. |  | String
 |===
diff --git a/components/camel-mustache/src/main/docs/mustache-component.adoc b/components/camel-mustache/src/main/docs/mustache-component.adoc
index 7f8444b..b388b4f 100644
--- a/components/camel-mustache/src/main/docs/mustache-component.adoc
+++ b/components/camel-mustache/src/main/docs/mustache-component.adoc
@@ -38,7 +38,7 @@ You can append query options to the URI in the following format,
 
 
 // component options: START
-The Mustache component supports 3 options, which are listed below.
+The Mustache component supports 2 options, which are listed below.
 
 
 
@@ -46,7 +46,6 @@ The Mustache component supports 3 options, which are listed below.
 |===
 | Name | Description | Default | Type
 | *mustacheFactory* (advanced) | To use a custom MustacheFactory |  | MustacheFactory
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -108,7 +107,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 4 options, which are listed below.
+The component supports 3 options, which are listed below.
 
 
 
@@ -118,7 +117,6 @@ The component supports 4 options, which are listed below.
 | *camel.component.mustache.basic-property-binding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | Boolean
 | *camel.component.mustache.enabled* | Enable mustache component | true | Boolean
 | *camel.component.mustache.mustache-factory* | To use a custom MustacheFactory. The option is a com.github.mustachejava.MustacheFactory type. |  | String
-| *camel.component.mustache.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
 // spring-boot-auto-configure options: END
 
diff --git a/components/camel-mvel/src/main/docs/mvel-component.adoc b/components/camel-mvel/src/main/docs/mvel-component.adoc
index 216ad11..d0ce98d 100644
--- a/components/camel-mvel/src/main/docs/mvel-component.adoc
+++ b/components/camel-mvel/src/main/docs/mvel-component.adoc
@@ -38,14 +38,13 @@ You can append query options to the URI in the following format,
 
 
 // component options: START
-The MVEL component supports 2 options, which are listed below.
+The MVEL component supports 1 options, which are listed below.
 
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
 |===
 | Name | Description | Default | Type
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -101,7 +100,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 5 options, which are listed below.
+The component supports 4 options, which are listed below.
 
 
 
@@ -110,7 +109,6 @@ The component supports 5 options, which are listed below.
 | Name | Description | Default | Type
 | *camel.component.mvel.basic-property-binding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | Boolean
 | *camel.component.mvel.enabled* | Enable mvel component | true | Boolean
-| *camel.component.mvel.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 | *camel.language.mvel.enabled* | Enable mvel language | true | Boolean
 | *camel.language.mvel.trim* | Whether to trim the value to remove leading and trailing whitespaces and line breaks | true | Boolean
 |===
diff --git a/components/camel-mvel/src/main/docs/mvel-language.adoc b/components/camel-mvel/src/main/docs/mvel-language.adoc
index 12017da..ae6bbeb 100644
--- a/components/camel-mvel/src/main/docs/mvel-language.adoc
+++ b/components/camel-mvel/src/main/docs/mvel-language.adoc
@@ -52,7 +52,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 5 options, which are listed below.
+The component supports 4 options, which are listed below.
 
 
 
@@ -61,7 +61,6 @@ The component supports 5 options, which are listed below.
 | Name | Description | Default | Type
 | *camel.component.mvel.basic-property-binding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | Boolean
 | *camel.component.mvel.enabled* | Enable mvel component | true | Boolean
-| *camel.component.mvel.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 | *camel.language.mvel.enabled* | Enable mvel language | true | Boolean
 | *camel.language.mvel.trim* | Whether to trim the value to remove leading and trailing whitespaces and line breaks | true | Boolean
 |===
diff --git a/components/camel-mybatis/src/main/docs/mybatis-bean-component.adoc b/components/camel-mybatis/src/main/docs/mybatis-bean-component.adoc
index a1cd0a2..50cf88e 100644
--- a/components/camel-mybatis/src/main/docs/mybatis-bean-component.adoc
+++ b/components/camel-mybatis/src/main/docs/mybatis-bean-component.adoc
@@ -31,7 +31,7 @@ the `configurationUri` option on the `MyBatisComponent` component.
 == Options
 
 // component options: START
-The MyBatis Bean component supports 4 options, which are listed below.
+The MyBatis Bean component supports 3 options, which are listed below.
 
 
 
@@ -40,7 +40,6 @@ The MyBatis Bean component supports 4 options, which are listed below.
 | Name | Description | Default | Type
 | *sqlSessionFactory* (advanced) | To use the SqlSessionFactory |  | SqlSessionFactory
 | *configurationUri* (producer) | Location of MyBatis xml configuration file. The default value is: SqlMapConfig.xml loaded from the classpath | SqlMapConfig.xml | String
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -96,7 +95,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 5 options, which are listed below.
+The component supports 4 options, which are listed below.
 
 
 
@@ -106,7 +105,6 @@ The component supports 5 options, which are listed below.
 | *camel.component.mybatis-bean.basic-property-binding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | Boolean
 | *camel.component.mybatis-bean.configuration-uri* | Location of MyBatis xml configuration file. The default value is: SqlMapConfig.xml loaded from the classpath | SqlMapConfig.xml | String
 | *camel.component.mybatis-bean.enabled* | Whether to enable auto configuration of the mybatis-bean component. This is enabled by default. |  | Boolean
-| *camel.component.mybatis-bean.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 | *camel.component.mybatis-bean.sql-session-factory* | To use the SqlSessionFactory. The option is a org.apache.ibatis.session.SqlSessionFactory type. |  | String
 |===
 // spring-boot-auto-configure options: END
diff --git a/components/camel-mybatis/src/main/docs/mybatis-component.adoc b/components/camel-mybatis/src/main/docs/mybatis-component.adoc
index 514a395..44013cc 100644
--- a/components/camel-mybatis/src/main/docs/mybatis-component.adoc
+++ b/components/camel-mybatis/src/main/docs/mybatis-component.adoc
@@ -42,7 +42,7 @@ the `configurationUri` option on the `MyBatisComponent` component.
 == Options
 
 // component options: START
-The MyBatis component supports 4 options, which are listed below.
+The MyBatis component supports 3 options, which are listed below.
 
 
 
@@ -51,7 +51,6 @@ The MyBatis component supports 4 options, which are listed below.
 | Name | Description | Default | Type
 | *sqlSessionFactory* (advanced) | To use the SqlSessionFactory |  | SqlSessionFactory
 | *configurationUri* (common) | Location of MyBatis xml configuration file. The default value is: SqlMapConfig.xml loaded from the classpath | SqlMapConfig.xml | String
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -131,7 +130,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 5 options, which are listed below.
+The component supports 4 options, which are listed below.
 
 
 
@@ -141,7 +140,6 @@ The component supports 5 options, which are listed below.
 | *camel.component.mybatis.basic-property-binding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | Boolean
 | *camel.component.mybatis.configuration-uri* | Location of MyBatis xml configuration file. The default value is: SqlMapConfig.xml loaded from the classpath | SqlMapConfig.xml | String
 | *camel.component.mybatis.enabled* | Enable mybatis component | true | Boolean
-| *camel.component.mybatis.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 | *camel.component.mybatis.sql-session-factory* | To use the SqlSessionFactory. The option is a org.apache.ibatis.session.SqlSessionFactory type. |  | String
 |===
 // spring-boot-auto-configure options: END
diff --git a/components/camel-nagios/src/main/docs/nagios-component.adoc b/components/camel-nagios/src/main/docs/nagios-component.adoc
index c928e43..71c9ea4 100644
--- a/components/camel-nagios/src/main/docs/nagios-component.adoc
+++ b/components/camel-nagios/src/main/docs/nagios-component.adoc
@@ -39,7 +39,7 @@ you to send notifications to Nagios.
 
 
 // component options: START
-The Nagios component supports 3 options, which are listed below.
+The Nagios component supports 2 options, which are listed below.
 
 
 
@@ -47,7 +47,6 @@ The Nagios component supports 3 options, which are listed below.
 |===
 | Name | Description | Default | Type
 | *configuration* (advanced) | To use a shared NagiosConfiguration |  | NagiosConfiguration
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -111,7 +110,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 11 options, which are listed below.
+The component supports 10 options, which are listed below.
 
 
 
@@ -127,7 +126,6 @@ The component supports 11 options, which are listed below.
 | *camel.component.nagios.configuration.port* | The port number of the host. |  | Integer
 | *camel.component.nagios.configuration.timeout* | Sending timeout in millis. | 5000 | Integer
 | *camel.component.nagios.enabled* | Enable nagios component | true | Boolean
-| *camel.component.nagios.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 | *camel.component.nagios.configuration.encryption-method* | *Deprecated* To specify an encryption method. |  | NagiosEncryptionMethod
 |===
 // spring-boot-auto-configure options: END
diff --git a/components/camel-nats/src/main/docs/nats-component.adoc b/components/camel-nats/src/main/docs/nats-component.adoc
index fa32957..7165691 100644
--- a/components/camel-nats/src/main/docs/nats-component.adoc
+++ b/components/camel-nats/src/main/docs/nats-component.adoc
@@ -31,7 +31,7 @@ Where *servers* represents the list of NATS servers.
 
 
 // component options: START
-The Nats component supports 3 options, which are listed below.
+The Nats component supports 2 options, which are listed below.
 
 
 
@@ -39,7 +39,6 @@ The Nats component supports 3 options, which are listed below.
 |===
 | Name | Description | Default | Type
 | *useGlobalSslContext Parameters* (security) | Enable usage of global SSL context parameters. | false | boolean
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -118,7 +117,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 4 options, which are listed below.
+The component supports 3 options, which are listed below.
 
 
 
@@ -127,7 +126,6 @@ The component supports 4 options, which are listed below.
 | Name | Description | Default | Type
 | *camel.component.nats.basic-property-binding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | Boolean
 | *camel.component.nats.enabled* | Enable nats component | true | Boolean
-| *camel.component.nats.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 | *camel.component.nats.use-global-ssl-context-parameters* | Enable usage of global SSL context parameters. | false | Boolean
 |===
 // spring-boot-auto-configure options: END
diff --git a/components/camel-netty-http/src/main/docs/netty-http-component.adoc b/components/camel-netty-http/src/main/docs/netty-http-component.adoc
index 823f991..d9d199b 100644
--- a/components/camel-netty-http/src/main/docs/netty-http-component.adoc
+++ b/components/camel-netty-http/src/main/docs/netty-http-component.adoc
@@ -88,7 +88,7 @@ related to UDP transport.
 
 
 // component options: START
-The Netty HTTP component supports 10 options, which are listed below.
+The Netty HTTP component supports 9 options, which are listed below.
 
 
 
@@ -103,7 +103,6 @@ The Netty HTTP component supports 10 options, which are listed below.
 | *maximumPoolSize* (advanced) | The thread pool size for the EventExecutorGroup if its in use. The default value is 16. | 16 | int
 | *executorService* (advanced) | To use the given EventExecutorGroup. |  | EventExecutorGroup
 | *sslContextParameters* (security) | To configure security using SSLContextParameters |  | SSLContextParameters
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -244,7 +243,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 33 options, which are listed below.
+The component supports 32 options, which are listed below.
 
 
 
@@ -274,7 +273,6 @@ The component supports 33 options, which are listed below.
 | *camel.component.netty-http.header-filter-strategy* | To use a custom org.apache.camel.spi.HeaderFilterStrategy to filter headers. The option is a org.apache.camel.spi.HeaderFilterStrategy type. |  | String
 | *camel.component.netty-http.maximum-pool-size* | The thread pool size for the EventExecutorGroup if its in use. The default value is 16. | 16 | Integer
 | *camel.component.netty-http.netty-http-binding* | To use a custom org.apache.camel.component.netty4.http.NettyHttpBinding for binding to/from Netty and Camel Message API. The option is a org.apache.camel.component.netty4.http.NettyHttpBinding type. |  | String
-| *camel.component.netty-http.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 | *camel.component.netty-http.security-configuration.authenticate* | Whether to enable authentication <p/> This is by default enabled. |  | Boolean
 | *camel.component.netty-http.security-configuration.constraint* | The supported restricted. <p/> Currently only Basic is supported. |  | String
 | *camel.component.netty-http.security-configuration.login-denied-logging-level* | Sets a logging level to use for logging denied login attempts (incl stacktraces) <p/> This level is by default DEBUG. |  | LoggingLevel
diff --git a/components/camel-netty/src/main/docs/netty-component.adoc b/components/camel-netty/src/main/docs/netty-component.adoc
index 8e79854..64f91d6 100644
--- a/components/camel-netty/src/main/docs/netty-component.adoc
+++ b/components/camel-netty/src/main/docs/netty-component.adoc
@@ -50,7 +50,7 @@ You can append query options to the URI in the following format,
 == Options
 
 // component options: START
-The Netty component supports 7 options, which are listed below.
+The Netty component supports 6 options, which are listed below.
 
 
 
@@ -62,7 +62,6 @@ The Netty component supports 7 options, which are listed below.
 | *executorService* (advanced) | To use the given EventExecutorGroup. |  | EventExecutorGroup
 | *useGlobalSslContext Parameters* (security) | Enable usage of global SSL context parameters. | false | boolean
 | *sslContextParameters* (security) | To configure security using SSLContextParameters |  | SSLContextParameters
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -187,7 +186,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 79 options, which are listed below.
+The component supports 78 options, which are listed below.
 
 
 
@@ -264,7 +263,6 @@ The component supports 79 options, which are listed below.
 | *camel.component.netty.enabled* | Whether to enable auto configuration of the netty component. This is enabled by default. |  | Boolean
 | *camel.component.netty.executor-service* | To use the given EventExecutorGroup. The option is a io.netty.util.concurrent.EventExecutorGroup type. |  | String
 | *camel.component.netty.maximum-pool-size* | The thread pool size for the EventExecutorGroup if its in use. The default value is 16. | 16 | Integer
-| *camel.component.netty.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 | *camel.component.netty.ssl-context-parameters* | To configure security using SSLContextParameters. The option is a org.apache.camel.support.jsse.SSLContextParameters type. |  | String
 | *camel.component.netty.use-global-ssl-context-parameters* | Enable usage of global SSL context parameters. | false | Boolean
 | *camel.component.netty.configuration.client-pipeline-factory* | *Deprecated*  |  | ClientInitializer Factory
diff --git a/components/camel-nsq/src/main/docs/nsq-component.adoc b/components/camel-nsq/src/main/docs/nsq-component.adoc
index 18ed8fe..c98723c 100644
--- a/components/camel-nsq/src/main/docs/nsq-component.adoc
+++ b/components/camel-nsq/src/main/docs/nsq-component.adoc
@@ -31,7 +31,7 @@ Where *servers* represents the list of NSQ servers - nsqlookupd servers in the c
 
 
 // component options: START
-The NSQ component supports 3 options, which are listed below.
+The NSQ component supports 2 options, which are listed below.
 
 
 
@@ -39,7 +39,6 @@ The NSQ component supports 3 options, which are listed below.
 |===
 | Name | Description | Default | Type
 | *useGlobalSslContext Parameters* (security) | Enable usage of global SSL context parameters. | false | boolean
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -109,7 +108,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 4 options, which are listed below.
+The component supports 3 options, which are listed below.
 
 
 
@@ -118,7 +117,6 @@ The component supports 4 options, which are listed below.
 | Name | Description | Default | Type
 | *camel.component.nsq.basic-property-binding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | Boolean
 | *camel.component.nsq.enabled* | Whether to enable auto configuration of the nsq component. This is enabled by default. |  | Boolean
-| *camel.component.nsq.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 | *camel.component.nsq.use-global-ssl-context-parameters* | Enable usage of global SSL context parameters. | false | Boolean
 |===
 // spring-boot-auto-configure options: END
diff --git a/components/camel-olingo2/camel-olingo2-component/src/main/docs/olingo2-component.adoc b/components/camel-olingo2/camel-olingo2-component/src/main/docs/olingo2-component.adoc
index e6a0570..a22535f 100644
--- a/components/camel-olingo2/camel-olingo2-component/src/main/docs/olingo2-component.adoc
+++ b/components/camel-olingo2/camel-olingo2-component/src/main/docs/olingo2-component.adoc
@@ -44,7 +44,7 @@ for this component:
 
 
 // component options: START
-The Olingo2 component supports 4 options, which are listed below.
+The Olingo2 component supports 3 options, which are listed below.
 
 
 
@@ -53,7 +53,6 @@ The Olingo2 component supports 4 options, which are listed below.
 | Name | Description | Default | Type
 | *configuration* (common) | To use the shared configuration |  | Olingo2Configuration
 | *useGlobalSslContext Parameters* (security) | Enable usage of global SSL context parameters. | false | boolean
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -124,7 +123,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 16 options, which are listed below.
+The component supports 15 options, which are listed below.
 
 
 
@@ -145,7 +144,6 @@ The component supports 16 options, which are listed below.
 | *camel.component.olingo2.configuration.socket-timeout* | HTTP request timeout in milliseconds, defaults to 30,000 (30 seconds) | 30000 | Integer
 | *camel.component.olingo2.configuration.ssl-context-parameters* | To configure security using SSLContextParameters |  | SSLContextParameters
 | *camel.component.olingo2.enabled* | Enable olingo2 component | true | Boolean
-| *camel.component.olingo2.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 | *camel.component.olingo2.use-global-ssl-context-parameters* | Enable usage of global SSL context parameters. | false | Boolean
 |===
 // spring-boot-auto-configure options: END
diff --git a/components/camel-olingo4/camel-olingo4-component/src/main/docs/olingo4-component.adoc b/components/camel-olingo4/camel-olingo4-component/src/main/docs/olingo4-component.adoc
index 7d7534d..5951da4 100644
--- a/components/camel-olingo4/camel-olingo4-component/src/main/docs/olingo4-component.adoc
+++ b/components/camel-olingo4/camel-olingo4-component/src/main/docs/olingo4-component.adoc
@@ -45,7 +45,7 @@ for this component:
 
 
 // component options: START
-The Olingo4 component supports 4 options, which are listed below.
+The Olingo4 component supports 3 options, which are listed below.
 
 
 
@@ -54,7 +54,6 @@ The Olingo4 component supports 4 options, which are listed below.
 | Name | Description | Default | Type
 | *configuration* (common) | To use the shared configuration |  | Olingo4Configuration
 | *useGlobalSslContext Parameters* (security) | Enable usage of global SSL context parameters. | false | boolean
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -125,7 +124,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 16 options, which are listed below.
+The component supports 15 options, which are listed below.
 
 
 
@@ -146,7 +145,6 @@ The component supports 16 options, which are listed below.
 | *camel.component.olingo4.configuration.socket-timeout* | HTTP request timeout in milliseconds, defaults to 30,000 (30 seconds) | 30000 | Integer
 | *camel.component.olingo4.configuration.ssl-context-parameters* | To configure security using SSLContextParameters |  | SSLContextParameters
 | *camel.component.olingo4.enabled* | Enable olingo4 component | true | Boolean
-| *camel.component.olingo4.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 | *camel.component.olingo4.use-global-ssl-context-parameters* | Enable usage of global SSL context parameters. | false | Boolean
 |===
 // spring-boot-auto-configure options: END
diff --git a/components/camel-openstack/src/main/docs/openstack-cinder-component.adoc b/components/camel-openstack/src/main/docs/openstack-cinder-component.adoc
index c0896b6..f7248ab 100644
--- a/components/camel-openstack/src/main/docs/openstack-cinder-component.adoc
+++ b/components/camel-openstack/src/main/docs/openstack-cinder-component.adoc
@@ -36,14 +36,13 @@ You can append query options to the URI in the following format
 == URI Options
 
 // component options: START
-The OpenStack Cinder component supports 2 options, which are listed below.
+The OpenStack Cinder component supports 1 options, which are listed below.
 
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
 |===
 | Name | Description | Default | Type
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -102,7 +101,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 3 options, which are listed below.
+The component supports 2 options, which are listed below.
 
 
 
@@ -111,7 +110,6 @@ The component supports 3 options, which are listed below.
 | Name | Description | Default | Type
 | *camel.component.openstack-cinder.basic-property-binding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | Boolean
 | *camel.component.openstack-cinder.enabled* | Enable openstack-cinder component | true | Boolean
-| *camel.component.openstack-cinder.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
 // spring-boot-auto-configure options: END
 
diff --git a/components/camel-openstack/src/main/docs/openstack-glance-component.adoc b/components/camel-openstack/src/main/docs/openstack-glance-component.adoc
index 80189f6..ceb30f8 100644
--- a/components/camel-openstack/src/main/docs/openstack-glance-component.adoc
+++ b/components/camel-openstack/src/main/docs/openstack-glance-component.adoc
@@ -36,14 +36,13 @@ You can append query options to the URI in the following format
 == URI Options
 
 // component options: START
-The OpenStack Glance component supports 2 options, which are listed below.
+The OpenStack Glance component supports 1 options, which are listed below.
 
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
 |===
 | Name | Description | Default | Type
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -101,7 +100,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 3 options, which are listed below.
+The component supports 2 options, which are listed below.
 
 
 
@@ -110,7 +109,6 @@ The component supports 3 options, which are listed below.
 | Name | Description | Default | Type
 | *camel.component.openstack-glance.basic-property-binding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | Boolean
 | *camel.component.openstack-glance.enabled* | Enable openstack-glance component | true | Boolean
-| *camel.component.openstack-glance.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
 // spring-boot-auto-configure options: END
 
diff --git a/components/camel-openstack/src/main/docs/openstack-keystone-component.adoc b/components/camel-openstack/src/main/docs/openstack-keystone-component.adoc
index 597282b..35c8a44 100644
--- a/components/camel-openstack/src/main/docs/openstack-keystone-component.adoc
+++ b/components/camel-openstack/src/main/docs/openstack-keystone-component.adoc
@@ -38,14 +38,13 @@ You can append query options to the URI in the following format
 == URI Options
 
 // component options: START
-The OpenStack Keystone component supports 2 options, which are listed below.
+The OpenStack Keystone component supports 1 options, which are listed below.
 
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
 |===
 | Name | Description | Default | Type
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -103,7 +102,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 3 options, which are listed below.
+The component supports 2 options, which are listed below.
 
 
 
@@ -112,7 +111,6 @@ The component supports 3 options, which are listed below.
 | Name | Description | Default | Type
 | *camel.component.openstack-keystone.basic-property-binding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | Boolean
 | *camel.component.openstack-keystone.enabled* | Enable openstack-keystone component | true | Boolean
-| *camel.component.openstack-keystone.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
 // spring-boot-auto-configure options: END
 
diff --git a/components/camel-openstack/src/main/docs/openstack-neutron-component.adoc b/components/camel-openstack/src/main/docs/openstack-neutron-component.adoc
index 6ec4aa6..1aefe12 100644
--- a/components/camel-openstack/src/main/docs/openstack-neutron-component.adoc
+++ b/components/camel-openstack/src/main/docs/openstack-neutron-component.adoc
@@ -36,14 +36,13 @@ You can append query options to the URI in the following format
 == URI Options
 
 // component options: START
-The OpenStack Neutron component supports 2 options, which are listed below.
+The OpenStack Neutron component supports 1 options, which are listed below.
 
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
 |===
 | Name | Description | Default | Type
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -102,7 +101,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 3 options, which are listed below.
+The component supports 2 options, which are listed below.
 
 
 
@@ -111,7 +110,6 @@ The component supports 3 options, which are listed below.
 | Name | Description | Default | Type
 | *camel.component.openstack-neutron.basic-property-binding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | Boolean
 | *camel.component.openstack-neutron.enabled* | Enable openstack-neutron component | true | Boolean
-| *camel.component.openstack-neutron.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
 // spring-boot-auto-configure options: END
 
diff --git a/components/camel-openstack/src/main/docs/openstack-nova-component.adoc b/components/camel-openstack/src/main/docs/openstack-nova-component.adoc
index 304d9d3..a5e15ef8 100644
--- a/components/camel-openstack/src/main/docs/openstack-nova-component.adoc
+++ b/components/camel-openstack/src/main/docs/openstack-nova-component.adoc
@@ -36,14 +36,13 @@ You can append query options to the URI in the following format
 == URI Options
 
 // component options: START
-The OpenStack Nova component supports 2 options, which are listed below.
+The OpenStack Nova component supports 1 options, which are listed below.
 
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
 |===
 | Name | Description | Default | Type
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -102,7 +101,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 3 options, which are listed below.
+The component supports 2 options, which are listed below.
 
 
 
@@ -111,7 +110,6 @@ The component supports 3 options, which are listed below.
 | Name | Description | Default | Type
 | *camel.component.openstack-nova.basic-property-binding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | Boolean
 | *camel.component.openstack-nova.enabled* | Enable openstack-nova component | true | Boolean
-| *camel.component.openstack-nova.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
 // spring-boot-auto-configure options: END
 
diff --git a/components/camel-openstack/src/main/docs/openstack-swift-component.adoc b/components/camel-openstack/src/main/docs/openstack-swift-component.adoc
index 69651eb..fb82366 100644
--- a/components/camel-openstack/src/main/docs/openstack-swift-component.adoc
+++ b/components/camel-openstack/src/main/docs/openstack-swift-component.adoc
@@ -36,14 +36,13 @@ You can append query options to the URI in the following format
 == URI Options
 
 // component options: START
-The OpenStack Swift component supports 2 options, which are listed below.
+The OpenStack Swift component supports 1 options, which are listed below.
 
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
 |===
 | Name | Description | Default | Type
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -102,7 +101,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 3 options, which are listed below.
+The component supports 2 options, which are listed below.
 
 
 
@@ -111,7 +110,6 @@ The component supports 3 options, which are listed below.
 | Name | Description | Default | Type
 | *camel.component.openstack-swift.basic-property-binding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | Boolean
 | *camel.component.openstack-swift.enabled* | Enable openstack-swift component | true | Boolean
-| *camel.component.openstack-swift.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
 // spring-boot-auto-configure options: END
 
diff --git a/components/camel-optaplanner/src/main/docs/optaplanner-component.adoc b/components/camel-optaplanner/src/main/docs/optaplanner-component.adoc
index 98aa5e4..6c12c41 100644
--- a/components/camel-optaplanner/src/main/docs/optaplanner-component.adoc
+++ b/components/camel-optaplanner/src/main/docs/optaplanner-component.adoc
@@ -40,14 +40,13 @@ You can append query options to the URI in the following format,
 
 
 // component options: START
-The OptaPlanner component supports 2 options, which are listed below.
+The OptaPlanner component supports 1 options, which are listed below.
 
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
 |===
 | Name | Description | Default | Type
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -106,7 +105,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 3 options, which are listed below.
+The component supports 2 options, which are listed below.
 
 
 
@@ -115,7 +114,6 @@ The component supports 3 options, which are listed below.
 | Name | Description | Default | Type
 | *camel.component.optaplanner.basic-property-binding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | Boolean
 | *camel.component.optaplanner.enabled* | Enable optaplanner component | true | Boolean
-| *camel.component.optaplanner.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
 // spring-boot-auto-configure options: END
 
diff --git a/components/camel-paho/src/main/docs/paho-component.adoc b/components/camel-paho/src/main/docs/paho-component.adoc
index ab08700..cc4381d 100644
--- a/components/camel-paho/src/main/docs/paho-component.adoc
+++ b/components/camel-paho/src/main/docs/paho-component.adoc
@@ -51,7 +51,7 @@ Where *topic* is the name of the topic.
 == Options
 
 // component options: START
-The Paho component supports 5 options, which are listed below.
+The Paho component supports 4 options, which are listed below.
 
 
 
@@ -61,7 +61,6 @@ The Paho component supports 5 options, which are listed below.
 | *brokerUrl* (common) | The URL of the MQTT broker. |  | String
 | *clientId* (common) | MQTT client identifier. |  | String
 | *connectOptions* (advanced) | Client connection options |  | MqttConnectOptions
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -127,7 +126,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 6 options, which are listed below.
+The component supports 5 options, which are listed below.
 
 
 
@@ -139,7 +138,6 @@ The component supports 6 options, which are listed below.
 | *camel.component.paho.client-id* | MQTT client identifier. |  | String
 | *camel.component.paho.connect-options* | Client connection options. The option is a org.eclipse.paho.client.mqttv3.MqttConnectOptions type. |  | String
 | *camel.component.paho.enabled* | Enable paho component | true | Boolean
-| *camel.component.paho.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
 // spring-boot-auto-configure options: END
 
diff --git a/components/camel-paxlogging/src/main/docs/paxlogging-component.adoc b/components/camel-paxlogging/src/main/docs/paxlogging-component.adoc
index ce7eb2a..2056263 100644
--- a/components/camel-paxlogging/src/main/docs/paxlogging-component.adoc
+++ b/components/camel-paxlogging/src/main/docs/paxlogging-component.adoc
@@ -37,7 +37,7 @@ configured in the PaxLogging service configuration.
 
 
 // component options: START
-The OSGi PAX Logging component supports 3 options, which are listed below.
+The OSGi PAX Logging component supports 2 options, which are listed below.
 
 
 
@@ -45,7 +45,6 @@ The OSGi PAX Logging component supports 3 options, which are listed below.
 |===
 | Name | Description | Default | Type
 | *bundleContext* (consumer) | The OSGi BundleContext is automatic injected by Camel |  | BundleContext
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
diff --git a/components/camel-pdf/src/main/docs/pdf-component.adoc b/components/camel-pdf/src/main/docs/pdf-component.adoc
index d9c5b6d..5378a00 100644
--- a/components/camel-pdf/src/main/docs/pdf-component.adoc
+++ b/components/camel-pdf/src/main/docs/pdf-component.adoc
@@ -35,14 +35,13 @@ pdf:operation[?options]
 == Options
 
 // component options: START
-The PDF component supports 2 options, which are listed below.
+The PDF component supports 1 options, which are listed below.
 
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
 |===
 | Name | Description | Default | Type
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -103,7 +102,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 3 options, which are listed below.
+The component supports 2 options, which are listed below.
 
 
 
@@ -112,7 +111,6 @@ The component supports 3 options, which are listed below.
 | Name | Description | Default | Type
 | *camel.component.pdf.basic-property-binding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | Boolean
 | *camel.component.pdf.enabled* | Enable pdf component | true | Boolean
-| *camel.component.pdf.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
 // spring-boot-auto-configure options: END
 
diff --git a/components/camel-pg-replication-slot/src/main/docs/pg-replication-slot-component.adoc b/components/camel-pg-replication-slot/src/main/docs/pg-replication-slot-component.adoc
index c60a921..c20577c 100644
--- a/components/camel-pg-replication-slot/src/main/docs/pg-replication-slot-component.adoc
+++ b/components/camel-pg-replication-slot/src/main/docs/pg-replication-slot-component.adoc
@@ -36,14 +36,13 @@ You can append query options to the URI in the following format,
 
 
 // component options: START
-The PostgresSQL Replication Slot component supports 2 options, which are listed below.
+The PostgresSQL Replication Slot component supports 1 options, which are listed below.
 
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
 |===
 | Name | Description | Default | Type
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -122,7 +121,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 3 options, which are listed below.
+The component supports 2 options, which are listed below.
 
 
 
@@ -131,7 +130,6 @@ The component supports 3 options, which are listed below.
 | Name | Description | Default | Type
 | *camel.component.pg-replication-slot.basic-property-binding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | Boolean
 | *camel.component.pg-replication-slot.enabled* | Enable pg-replication-slot component | true | Boolean
-| *camel.component.pg-replication-slot.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
 // spring-boot-auto-configure options: END
 
diff --git a/components/camel-pgevent/src/main/docs/pgevent-component.adoc b/components/camel-pgevent/src/main/docs/pgevent-component.adoc
index e779a48..78df680 100644
--- a/components/camel-pgevent/src/main/docs/pgevent-component.adoc
+++ b/components/camel-pgevent/src/main/docs/pgevent-component.adoc
@@ -38,14 +38,13 @@ You can append query options to the URI in the following format,
 
 
 // component options: START
-The PostgresSQL Event component supports 2 options, which are listed below.
+The PostgresSQL Event component supports 1 options, which are listed below.
 
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
 |===
 | Name | Description | Default | Type
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -107,7 +106,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 3 options, which are listed below.
+The component supports 2 options, which are listed below.
 
 
 
@@ -116,7 +115,6 @@ The component supports 3 options, which are listed below.
 | Name | Description | Default | Type
 | *camel.component.pgevent.basic-property-binding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | Boolean
 | *camel.component.pgevent.enabled* | Enable pgevent component | true | Boolean
-| *camel.component.pgevent.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
 // spring-boot-auto-configure options: END
 
diff --git a/components/camel-printer/src/main/docs/lpr-component.adoc b/components/camel-printer/src/main/docs/lpr-component.adoc
index 688b67a..6cc8912 100644
--- a/components/camel-printer/src/main/docs/lpr-component.adoc
+++ b/components/camel-printer/src/main/docs/lpr-component.adoc
@@ -47,14 +47,13 @@ You can append query options to the URI in the following format,
 
 
 // component options: START
-The Printer component supports 2 options, which are listed below.
+The Printer component supports 1 options, which are listed below.
 
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
 |===
 | Name | Description | Default | Type
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -119,7 +118,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 3 options, which are listed below.
+The component supports 2 options, which are listed below.
 
 
 
@@ -128,7 +127,6 @@ The component supports 3 options, which are listed below.
 | Name | Description | Default | Type
 | *camel.component.lpr.basic-property-binding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | Boolean
 | *camel.component.lpr.enabled* | Enable lpr component | true | Boolean
-| *camel.component.lpr.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
 // spring-boot-auto-configure options: END
 
diff --git a/components/camel-pubnub/src/main/docs/pubnub-component.adoc b/components/camel-pubnub/src/main/docs/pubnub-component.adoc
index e37382d..5652dd2 100644
--- a/components/camel-pubnub/src/main/docs/pubnub-component.adoc
+++ b/components/camel-pubnub/src/main/docs/pubnub-component.adoc
@@ -43,14 +43,13 @@ Where *channel* is the PubNub channel to publish or subscribe to.
 
 
 // component options: START
-The PubNub component supports 2 options, which are listed below.
+The PubNub component supports 1 options, which are listed below.
 
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
 |===
 | Name | Description | Default | Type
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -116,7 +115,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 3 options, which are listed below.
+The component supports 2 options, which are listed below.
 
 
 
@@ -125,7 +124,6 @@ The component supports 3 options, which are listed below.
 | Name | Description | Default | Type
 | *camel.component.pubnub.basic-property-binding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | Boolean
 | *camel.component.pubnub.enabled* | Enable pubnub component | true | Boolean
-| *camel.component.pubnub.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
 // spring-boot-auto-configure options: END
 
diff --git a/components/camel-quartz/src/main/docs/quartz-component.adoc b/components/camel-quartz/src/main/docs/quartz-component.adoc
index eb224da..95a743f 100644
--- a/components/camel-quartz/src/main/docs/quartz-component.adoc
+++ b/components/camel-quartz/src/main/docs/quartz-component.adoc
@@ -44,7 +44,7 @@ You can append query options to the URI in the following format,
 
 
 // component options: START
-The Quartz component supports 12 options, which are listed below.
+The Quartz component supports 11 options, which are listed below.
 
 
 
@@ -61,7 +61,6 @@ The Quartz component supports 12 options, which are listed below.
 | *interruptJobsOn Shutdown* (scheduler) | Whether to interrupt jobs on shutdown which forces the scheduler to shutdown quicker and attempt to interrupt any running jobs. If this is enabled then any running jobs can fail due to being interrupted. | false | boolean
 | *schedulerFactory* (advanced) | To use the custom SchedulerFactory which is used to create the Scheduler. |  | SchedulerFactory
 | *scheduler* (advanced) | To use the custom configured Quartz scheduler, instead of creating a new Scheduler. |  | Scheduler
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -133,7 +132,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 13 options, which are listed below.
+The component supports 12 options, which are listed below.
 
 
 
@@ -149,7 +148,6 @@ The component supports 13 options, which are listed below.
 | *camel.component.quartz.prefix-job-name-with-endpoint-id* | Whether to prefix the quartz job with the endpoint id. This option is default false. | false | Boolean
 | *camel.component.quartz.properties* | Properties to configure the Quartz scheduler. The option is a java.util.Properties type. |  | String
 | *camel.component.quartz.properties-file* | File name of the properties to load from the classpath |  | String
-| *camel.component.quartz.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 | *camel.component.quartz.scheduler* | To use the custom configured Quartz scheduler, instead of creating a new Scheduler. The option is a org.quartz.Scheduler type. |  | String
 | *camel.component.quartz.scheduler-factory* | To use the custom SchedulerFactory which is used to create the Scheduler. The option is a org.quartz.SchedulerFactory type. |  | String
 | *camel.component.quartz.start-delayed-seconds* | Seconds to wait before starting the quartz scheduler. |  | Integer
diff --git a/components/camel-quickfix/src/main/docs/quickfix-component.adoc b/components/camel-quickfix/src/main/docs/quickfix-component.adoc
index 10f9241..1fd91e9 100644
--- a/components/camel-quickfix/src/main/docs/quickfix-component.adoc
+++ b/components/camel-quickfix/src/main/docs/quickfix-component.adoc
@@ -76,7 +76,7 @@ inject the session-related fields into the FIX message.
 == Options
 
 // component options: START
-The QuickFix component supports 7 options, which are listed below.
+The QuickFix component supports 6 options, which are listed below.
 
 
 
@@ -88,7 +88,6 @@ The QuickFix component supports 7 options, which are listed below.
 | *messageStoreFactory* (advanced) | To use the given MessageStoreFactory |  | MessageStoreFactory
 | *configurations* (common) | To use the given map of pre configured QuickFix configurations mapped to the key |  | Map
 | *lazyCreateEngines* (common) | If set to true, the engines will be created and started when needed (when first message is send) | false | boolean
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -144,7 +143,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 8 options, which are listed below.
+The component supports 7 options, which are listed below.
 
 
 
@@ -158,7 +157,6 @@ The component supports 8 options, which are listed below.
 | *camel.component.quickfix.log-factory* | To use the given LogFactory. The option is a quickfix.LogFactory type. |  | String
 | *camel.component.quickfix.message-factory* | To use the given MessageFactory. The option is a quickfix.MessageFactory type. |  | String
 | *camel.component.quickfix.message-store-factory* | To use the given MessageStoreFactory. The option is a quickfix.MessageStoreFactory type. |  | String
-| *camel.component.quickfix.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
 // spring-boot-auto-configure options: END
 
diff --git a/components/camel-rabbitmq/src/main/docs/rabbitmq-component.adoc b/components/camel-rabbitmq/src/main/docs/rabbitmq-component.adoc
index 939fbbc..36f18ff 100644
--- a/components/camel-rabbitmq/src/main/docs/rabbitmq-component.adoc
+++ b/components/camel-rabbitmq/src/main/docs/rabbitmq-component.adoc
@@ -47,7 +47,7 @@ exchange name determines which exchange the queue will bind to.
 == Options
 
 // component options: START
-The RabbitMQ component supports 51 options, which are listed below.
+The RabbitMQ component supports 50 options, which are listed below.
 
 
 
@@ -103,7 +103,6 @@ The RabbitMQ component supports 51 options, which are listed below.
 | *deadLetterRoutingKey* (common) | The routing key for the dead letter exchange |  | String
 | *deadLetterExchangeType* (common) | The type of the dead letter exchange | direct | String
 | *allowNullHeaders* (producer) | Allow pass null values to header | false | boolean
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -211,7 +210,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 52 options, which are listed below.
+The component supports 51 options, which are listed below.
 
 
 
@@ -259,7 +258,6 @@ The component supports 52 options, which are listed below.
 | *camel.component.rabbitmq.requested-channel-max* | Connection requested channel max (max number of channels offered) | 2047 | Integer
 | *camel.component.rabbitmq.requested-frame-max* | Connection requested frame max (max size of frame offered) | 0 | Integer
 | *camel.component.rabbitmq.requested-heartbeat* | Connection requested heartbeat (heart-beat in seconds offered) | 60 | Integer
-| *camel.component.rabbitmq.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 | *camel.component.rabbitmq.skip-exchange-declare* | This can be used if we need to declare the queue but not the exchange | false | Boolean
 | *camel.component.rabbitmq.skip-queue-bind* | If true the queue will not be bound to the exchange after declaring it | false | Boolean
 | *camel.component.rabbitmq.skip-queue-declare* | If true the producer will not declare and bind a queue. This can be used for directing messages via an existing routing key. | false | Boolean
diff --git a/components/camel-reactive-streams/src/main/docs/reactive-streams-component.adoc b/components/camel-reactive-streams/src/main/docs/reactive-streams-component.adoc
index c40ec10..c603131 100644
--- a/components/camel-reactive-streams/src/main/docs/reactive-streams-component.adoc
+++ b/components/camel-reactive-streams/src/main/docs/reactive-streams-component.adoc
@@ -45,7 +45,7 @@ external stream processing systems.
 
 
 // component options: START
-The Reactive Streams component supports 5 options, which are listed below.
+The Reactive Streams component supports 4 options, which are listed below.
 
 
 
@@ -55,7 +55,6 @@ The Reactive Streams component supports 5 options, which are listed below.
 | *internalEngine Configuration* (advanced) | Configures the internal engine for Reactive Streams. |  | ReactiveStreamsEngine Configuration
 | *backpressureStrategy* (producer) | The backpressure strategy to use when pushing events to a slow subscriber. | BUFFER | ReactiveStreams BackpressureStrategy
 | *serviceType* (advanced) | Set the type of the underlying reactive streams implementation to use. The implementation is looked up from the registry or using a ServiceLoader, the default implementation is DefaultCamelReactiveStreamsService |  | String
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -119,7 +118,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 8 options, which are listed below.
+The component supports 7 options, which are listed below.
 
 
 
@@ -132,7 +131,6 @@ The component supports 8 options, which are listed below.
 | *camel.component.reactive-streams.internal-engine-configuration.thread-pool-max-size* | The maximum number of threads used by the reactive streams internal engine. |  | Integer
 | *camel.component.reactive-streams.internal-engine-configuration.thread-pool-min-size* | The minimum number of threads used by the reactive streams internal engine. |  | Integer
 | *camel.component.reactive-streams.internal-engine-configuration.thread-pool-name* | The name of the thread pool used by the reactive streams internal engine. |  | String
-| *camel.component.reactive-streams.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 | *camel.component.reactive-streams.service-type* | Set the type of the underlying reactive streams implementation to use. The implementation is looked up from the registry or using a ServiceLoader, the default implementation is DefaultCamelReactiveStreamsService |  | String
 |===
 // spring-boot-auto-configure options: END
diff --git a/components/camel-ref/src/main/docs/ref-component.adoc b/components/camel-ref/src/main/docs/ref-component.adoc
index ef2080d..83c8427 100644
--- a/components/camel-ref/src/main/docs/ref-component.adoc
+++ b/components/camel-ref/src/main/docs/ref-component.adoc
@@ -21,14 +21,13 @@ bean ID of an endpoint in the Spring registry.
 == Ref Options
 
 // component options: START
-The Ref component supports 2 options, which are listed below.
+The Ref component supports 1 options, which are listed below.
 
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
 |===
 | Name | Description | Default | Type
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -84,7 +83,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 3 options, which are listed below.
+The component supports 2 options, which are listed below.
 
 
 
@@ -93,7 +92,6 @@ The component supports 3 options, which are listed below.
 | Name | Description | Default | Type
 | *camel.component.ref.basic-property-binding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | Boolean
 | *camel.component.ref.enabled* | Whether to enable auto configuration of the ref component. This is enabled by default. |  | Boolean
-| *camel.component.ref.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
 // spring-boot-auto-configure options: END
 
diff --git a/components/camel-rest-swagger/src/main/docs/rest-swagger-component.adoc b/components/camel-rest-swagger/src/main/docs/rest-swagger-component.adoc
index 016cbe9..caaa5fd 100644
--- a/components/camel-rest-swagger/src/main/docs/rest-swagger-component.adoc
+++ b/components/camel-rest-swagger/src/main/docs/rest-swagger-component.adoc
@@ -83,7 +83,7 @@ in path such as `/api/\{version\}/users/\{id\}`.
 == Options
 
 // component options: START
-The REST Swagger component supports 10 options, which are listed below.
+The REST Swagger component supports 9 options, which are listed below.
 
 
 
@@ -98,7 +98,6 @@ The REST Swagger component supports 10 options, which are listed below.
 | *specificationUri* (producer) | Path to the Swagger specification file. The scheme, host base path are taken from this specification, but these can be overridden with properties on the component or endpoint level. If not given the component tries to load swagger.json resource. Note that the host defined on the component and endpoint of this Component should contain the scheme, hostname and optionally the port in the URI syntax (i.e. \https://api.example.com:8080). Can be overridden in  [...]
 | *sslContextParameters* (security) | Customize TLS parameters used by the component. If not set defaults to the TLS parameters set in the Camel context |  | SSLContextParameters
 | *useGlobalSslContext Parameters* (security) | Enable usage of global SSL context parameters. | false | boolean
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -155,7 +154,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 11 options, which are listed below.
+The component supports 10 options, which are listed below.
 
 
 
@@ -169,7 +168,6 @@ The component supports 11 options, which are listed below.
 | *camel.component.rest-swagger.enabled* | Enable rest-swagger component | true | Boolean
 | *camel.component.rest-swagger.host* | Scheme hostname and port to direct the HTTP requests to in the form of \https://hostname:port. Can be configured at the endpoint, component or in the corresponding REST configuration in the Camel Context. If you give this component a name (e.g. petstore) that REST configuration is consulted first, rest-swagger next, and global configuration last. If set overrides any value found in the Swagger specification, RestConfiguration. Can be overridden in  [...]
 | *camel.component.rest-swagger.produces* | What payload type this component is producing. For example application/json according to the RFC7231. This equates to the value of Content-Type HTTP header. If set overrides any value present in the Swagger specification. Can be overridden in endpoint configuration. |  | String
-| *camel.component.rest-swagger.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 | *camel.component.rest-swagger.specification-uri* | Path to the Swagger specification file. The scheme, host base path are taken from this specification, but these can be overridden with properties on the component or endpoint level. If not given the component tries to load swagger.json resource. Note that the host defined on the component and endpoint of this Component should contain the scheme, hostname and optionally the port in the URI syntax (i.e. \https://api.example.com:8080). Ca [...]
 | *camel.component.rest-swagger.ssl-context-parameters* | Customize TLS parameters used by the component. If not set defaults to the TLS parameters set in the Camel context. The option is a org.apache.camel.support.jsse.SSLContextParameters type. |  | String
 | *camel.component.rest-swagger.use-global-ssl-context-parameters* | Enable usage of global SSL context parameters. | false | Boolean
diff --git a/components/camel-rest/src/main/docs/rest-api-component.adoc b/components/camel-rest/src/main/docs/rest-api-component.adoc
index 8243cf2..3d8fce9 100644
--- a/components/camel-rest/src/main/docs/rest-api-component.adoc
+++ b/components/camel-rest/src/main/docs/rest-api-component.adoc
@@ -9,14 +9,13 @@ The REST API component is used for providing Swagger API of the REST services wh
 
 
 // component options: START
-The REST API component supports 2 options, which are listed below.
+The REST API component supports 1 options, which are listed below.
 
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
 |===
 | Name | Description | Default | Type
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -75,7 +74,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 3 options, which are listed below.
+The component supports 2 options, which are listed below.
 
 
 
@@ -84,7 +83,6 @@ The component supports 3 options, which are listed below.
 | Name | Description | Default | Type
 | *camel.component.rest-api.basic-property-binding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | Boolean
 | *camel.component.rest-api.enabled* | Whether to enable auto configuration of the rest-api component. This is enabled by default. |  | Boolean
-| *camel.component.rest-api.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
 // spring-boot-auto-configure options: END
 
diff --git a/components/camel-rest/src/main/docs/rest-component.adoc b/components/camel-rest/src/main/docs/rest-component.adoc
index 2d0505e..3fda530 100644
--- a/components/camel-rest/src/main/docs/rest-component.adoc
+++ b/components/camel-rest/src/main/docs/rest-component.adoc
@@ -19,7 +19,7 @@ rest://method:path[:uriTemplate]?[options]
 == URI Options
 
 // component options: START
-The REST component supports 7 options, which are listed below.
+The REST component supports 6 options, which are listed below.
 
 
 
@@ -31,7 +31,6 @@ The REST component supports 7 options, which are listed below.
 | *componentName* (producer) | *Deprecated* The Camel Rest component to use for (producer) the REST transport, such as http, undertow. If no component has been explicit configured, then Camel will lookup if there is a Camel component that integrates with the Rest DSL, or if a org.apache.camel.spi.RestProducerFactory is registered in the registry. If either one is found, then that is being used. |  | String
 | *apiDoc* (producer) | The swagger api doc resource to use. The resource is loaded from classpath by default and must be in JSon format. |  | String
 | *host* (producer) | Host and port of HTTP service to use (override host in swagger schema) |  | String
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -100,7 +99,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 8 options, which are listed below.
+The component supports 7 options, which are listed below.
 
 
 
@@ -113,7 +112,6 @@ The component supports 8 options, which are listed below.
 | *camel.component.rest.enabled* | Whether to enable auto configuration of the rest component. This is enabled by default. |  | Boolean
 | *camel.component.rest.host* | Host and port of HTTP service to use (override host in swagger schema) |  | String
 | *camel.component.rest.producer-component-name* | The Camel Rest component to use for (producer) the REST transport, such as http, undertow. If no component has been explicit configured, then Camel will lookup if there is a Camel component that integrates with the Rest DSL, or if a org.apache.camel.spi.RestProducerFactory is registered in the registry. If either one is found, then that is being used. |  | String
-| *camel.component.rest.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 | *camel.component.rest.component-name* | *Deprecated* The Camel Rest component to use for (producer) the REST transport, such as http, undertow. If no component has been explicit configured, then Camel will lookup if there is a Camel component that integrates with the Rest DSL, or if a org.apache.camel.spi.RestProducerFactory is registered in the registry. If either one is found, then that is being used. |  | String
 |===
 // spring-boot-auto-configure options: END
diff --git a/components/camel-restlet/src/main/docs/restlet-component.adoc b/components/camel-restlet/src/main/docs/restlet-component.adoc
index b560ff2..3e7ca83 100644
--- a/components/camel-restlet/src/main/docs/restlet-component.adoc
+++ b/components/camel-restlet/src/main/docs/restlet-component.adoc
@@ -58,7 +58,7 @@ option.
 
 
 // component options: START
-The Restlet component supports 24 options, which are listed below.
+The Restlet component supports 23 options, which are listed below.
 
 
 
@@ -87,7 +87,6 @@ The Restlet component supports 24 options, which are listed below.
 | *enabledConverters* (advanced) | A list of converters to enable as full class name or simple class name. All the converters automatically registered are enabled if empty or null |  | List
 | *useGlobalSslContext Parameters* (security) | Enable usage of global SSL context parameters. | false | boolean
 | *sslContextParameters* (security) | To configure security using SSLContextParameters |  | SSLContextParameters
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -160,7 +159,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 25 options, which are listed below.
+The component supports 24 options, which are listed below.
 
 
 
@@ -185,7 +184,6 @@ The component supports 25 options, which are listed below.
 | *camel.component.restlet.persisting-connections* | Indicates if connections should be kept alive after a call. |  | Boolean
 | *camel.component.restlet.pipelining-connections* | Indicates if pipelining connections are supported. |  | Boolean
 | *camel.component.restlet.port* | To configure the port number for the restlet consumer routes. This allows to configure this once to reuse the same port for these consumers. |  | Integer
-| *camel.component.restlet.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 | *camel.component.restlet.reuse-address* | Enable/disable the SO_REUSEADDR socket option. See java.io.ServerSocket#reuseAddress property for additional details. |  | Boolean
 | *camel.component.restlet.ssl-context-parameters* | To configure security using SSLContextParameters. The option is a org.apache.camel.support.jsse.SSLContextParameters type. |  | String
 | *camel.component.restlet.synchronous* | Whether to use synchronous Restlet Client for the producer. Setting this option to true can yield faster performance as it seems the Restlet synchronous Client works better. |  | Boolean
diff --git a/components/camel-rss/src/main/docs/rss-component.adoc b/components/camel-rss/src/main/docs/rss-component.adoc
index 51f91be..64fd009 100644
--- a/components/camel-rss/src/main/docs/rss-component.adoc
+++ b/components/camel-rss/src/main/docs/rss-component.adoc
@@ -43,14 +43,13 @@ You can append query options to the URI in the following format,
 
 
 // component options: START
-The RSS component supports 2 options, which are listed below.
+The RSS component supports 1 options, which are listed below.
 
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
 |===
 | Name | Description | Default | Type
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -128,7 +127,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 5 options, which are listed below.
+The component supports 4 options, which are listed below.
 
 
 
@@ -137,7 +136,6 @@ The component supports 5 options, which are listed below.
 | Name | Description | Default | Type
 | *camel.component.rss.basic-property-binding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | Boolean
 | *camel.component.rss.enabled* | Enable rss component | true | Boolean
-| *camel.component.rss.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 | *camel.dataformat.rss.content-type-header* | Whether the data format should set the Content-Type header with the type from the data format if the data format is capable of doing so. For example application/xml for data formats marshalling to XML, or application/json for data formats marshalling to JSon etc. | false | Boolean
 | *camel.dataformat.rss.enabled* | Enable rss dataformat | true | Boolean
 |===
diff --git a/components/camel-rss/src/main/docs/rss-dataformat.adoc b/components/camel-rss/src/main/docs/rss-dataformat.adoc
index b946e1a..4c9535f 100644
--- a/components/camel-rss/src/main/docs/rss-dataformat.adoc
+++ b/components/camel-rss/src/main/docs/rss-dataformat.adoc
@@ -50,7 +50,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 5 options, which are listed below.
+The component supports 4 options, which are listed below.
 
 
 
@@ -59,7 +59,6 @@ The component supports 5 options, which are listed below.
 | Name | Description | Default | Type
 | *camel.component.rss.basic-property-binding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | Boolean
 | *camel.component.rss.enabled* | Enable rss component | true | Boolean
-| *camel.component.rss.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 | *camel.dataformat.rss.content-type-header* | Whether the data format should set the Content-Type header with the type from the data format if the data format is capable of doing so. For example application/xml for data formats marshalling to XML, or application/json for data formats marshalling to JSon etc. | false | Boolean
 | *camel.dataformat.rss.enabled* | Enable rss dataformat | true | Boolean
 |===
diff --git a/components/camel-saga/src/main/docs/saga-component.adoc b/components/camel-saga/src/main/docs/saga-component.adoc
index 653c648..4db0a8f 100644
--- a/components/camel-saga/src/main/docs/saga-component.adoc
+++ b/components/camel-saga/src/main/docs/saga-component.adoc
@@ -20,14 +20,13 @@ saga:action
 == Options
 
 // component options: START
-The Saga component supports 2 options, which are listed below.
+The Saga component supports 1 options, which are listed below.
 
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
 |===
 | Name | Description | Default | Type
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -80,7 +79,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 3 options, which are listed below.
+The component supports 2 options, which are listed below.
 
 
 
@@ -89,6 +88,5 @@ The component supports 3 options, which are listed below.
 | Name | Description | Default | Type
 | *camel.component.saga.basic-property-binding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | Boolean
 | *camel.component.saga.enabled* | Whether to enable auto configuration of the saga component. This is enabled by default. |  | Boolean
-| *camel.component.saga.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
 // spring-boot-auto-configure options: END
diff --git a/components/camel-salesforce/camel-salesforce-component/src/main/docs/salesforce-component.adoc b/components/camel-salesforce/camel-salesforce-component/src/main/docs/salesforce-component.adoc
index 510c479..80cc134 100644
--- a/components/camel-salesforce/camel-salesforce-component/src/main/docs/salesforce-component.adoc
+++ b/components/camel-salesforce/camel-salesforce-component/src/main/docs/salesforce-component.adoc
@@ -619,7 +619,7 @@ for details on how to generate the DTO.
 
 
 // component options: START
-The Salesforce component supports 32 options, which are listed below.
+The Salesforce component supports 31 options, which are listed below.
 
 
 
@@ -656,7 +656,6 @@ The Salesforce component supports 32 options, which are listed below.
 | *httpProxyRealm* (security) | Realm of the proxy server, used in preemptive Basic/Digest authentication methods against the HTTP proxy server. |  | String
 | *httpProxyUseDigest Auth* (security) | If set to true Digest authentication will be used when authenticating to the HTTP proxy,otherwise Basic authorization method will be used | false | boolean
 | *packages* (common) | In what packages are the generated DTO classes. Typically the classes would be generated using camel-salesforce-maven-plugin. Set it if using the generated DTOs to gain the benefit of using short SObject names in parameters/header values. |  | String[]
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -760,7 +759,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 88 options, which are listed below.
+The component supports 87 options, which are listed below.
 
 
 
@@ -851,7 +850,6 @@ The component supports 88 options, which are listed below.
 | *camel.component.salesforce.packages* | In what packages are the generated DTO classes. Typically the classes would be generated using camel-salesforce-maven-plugin. Set it if using the generated DTOs to gain the benefit of using short SObject names in parameters/header values. |  | String[]
 | *camel.component.salesforce.password* | Password used in OAuth flow to gain access to access token. It's easy to get started with password OAuth flow, but in general one should avoid it as it is deemed less secure than other flows. Make sure that you append security token to the end of the password if using one. |  | String
 | *camel.component.salesforce.refresh-token* | Refresh token already obtained in the refresh token OAuth flow. One needs to setup a web application and configure a callback URL to receive the refresh token, or configure using the builtin callback at \https://login.salesforce.com/services/oauth2/success or \https://test.salesforce.com/services/oauth2/success and then retrive the refresh_token from the URL at the end of the flow. Note that in development organizations Salesforce allows hos [...]
-| *camel.component.salesforce.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 | *camel.component.salesforce.ssl-context-parameters* | SSL parameters to use, see SSLContextParameters class for all available options. The option is a org.apache.camel.support.jsse.SSLContextParameters type. |  | String
 | *camel.component.salesforce.use-global-ssl-context-parameters* | Enable usage of global SSL context parameters | false | Boolean
 | *camel.component.salesforce.user-name* | Username used in OAuth flow to gain access to access token. It's easy to get started with password OAuth flow, but in general one should avoid it as it is deemed less secure than other flows. |  | String
diff --git a/components/camel-sap-netweaver/src/main/docs/sap-netweaver-component.adoc b/components/camel-sap-netweaver/src/main/docs/sap-netweaver-component.adoc
index c7c063d..231e1d7 100644
--- a/components/camel-sap-netweaver/src/main/docs/sap-netweaver-component.adoc
+++ b/components/camel-sap-netweaver/src/main/docs/sap-netweaver-component.adoc
@@ -48,14 +48,13 @@ NetWeaver.
 
 
 // component options: START
-The SAP NetWeaver component supports 2 options, which are listed below.
+The SAP NetWeaver component supports 1 options, which are listed below.
 
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
 |===
 | Name | Description | Default | Type
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -113,7 +112,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 3 options, which are listed below.
+The component supports 2 options, which are listed below.
 
 
 
@@ -122,7 +121,6 @@ The component supports 3 options, which are listed below.
 | Name | Description | Default | Type
 | *camel.component.sap-netweaver.basic-property-binding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | Boolean
 | *camel.component.sap-netweaver.enabled* | Enable sap-netweaver component | true | Boolean
-| *camel.component.sap-netweaver.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
 // spring-boot-auto-configure options: END
 
diff --git a/components/camel-saxon/src/main/docs/xquery-component.adoc b/components/camel-saxon/src/main/docs/xquery-component.adoc
index 008d0c2..4142c32 100644
--- a/components/camel-saxon/src/main/docs/xquery-component.adoc
+++ b/components/camel-saxon/src/main/docs/xquery-component.adoc
@@ -16,7 +16,7 @@ Recipient List.
 
 
 // component options: START
-The XQuery component supports 5 options, which are listed below.
+The XQuery component supports 4 options, which are listed below.
 
 
 
@@ -26,7 +26,6 @@ The XQuery component supports 5 options, which are listed below.
 | *moduleURIResolver* (advanced) | To use the custom ModuleURIResolver |  | ModuleURIResolver
 | *configuration* (advanced) | To use a custom Saxon configuration |  | Configuration
 | *configurationProperties* (advanced) | To set custom Saxon configuration properties |  | Map
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -110,7 +109,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 9 options, which are listed below.
+The component supports 8 options, which are listed below.
 
 
 
@@ -122,7 +121,6 @@ The component supports 9 options, which are listed below.
 | *camel.component.xquery.configuration-properties* | To set custom Saxon configuration properties |  | Map
 | *camel.component.xquery.enabled* | Enable xquery component | true | Boolean
 | *camel.component.xquery.module-u-r-i-resolver* | To use the custom ModuleURIResolver. The option is a net.sf.saxon.lib.ModuleURIResolver type. |  | String
-| *camel.component.xquery.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 | *camel.language.xquery.enabled* | Enable xquery language | true | Boolean
 | *camel.language.xquery.trim* | Whether to trim the value to remove leading and trailing whitespaces and line breaks | true | Boolean
 | *camel.language.xquery.type* | Sets the class name of the result type (type from output) The default result type is NodeSet |  | String
diff --git a/components/camel-saxon/src/main/docs/xquery-language.adoc b/components/camel-saxon/src/main/docs/xquery-language.adoc
index 6cb3a21..b5ee9ee 100644
--- a/components/camel-saxon/src/main/docs/xquery-language.adoc
+++ b/components/camel-saxon/src/main/docs/xquery-language.adoc
@@ -42,7 +42,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 9 options, which are listed below.
+The component supports 8 options, which are listed below.
 
 
 
@@ -54,7 +54,6 @@ The component supports 9 options, which are listed below.
 | *camel.component.xquery.configuration-properties* | To set custom Saxon configuration properties |  | Map
 | *camel.component.xquery.enabled* | Enable xquery component | true | Boolean
 | *camel.component.xquery.module-u-r-i-resolver* | To use the custom ModuleURIResolver. The option is a net.sf.saxon.lib.ModuleURIResolver type. |  | String
-| *camel.component.xquery.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 | *camel.language.xquery.enabled* | Enable xquery language | true | Boolean
 | *camel.language.xquery.trim* | Whether to trim the value to remove leading and trailing whitespaces and line breaks | true | Boolean
 | *camel.language.xquery.type* | Sets the class name of the result type (type from output) The default result type is NodeSet |  | String
diff --git a/components/camel-scheduler/src/main/docs/scheduler-component.adoc b/components/camel-scheduler/src/main/docs/scheduler-component.adoc
index 251fc6e..d5f0feb 100644
--- a/components/camel-scheduler/src/main/docs/scheduler-component.adoc
+++ b/components/camel-scheduler/src/main/docs/scheduler-component.adoc
@@ -32,7 +32,7 @@ You can append query options to the URI in the following format,
 == Options
 
 // component options: START
-The Scheduler component supports 3 options, which are listed below.
+The Scheduler component supports 2 options, which are listed below.
 
 
 
@@ -40,7 +40,6 @@ The Scheduler component supports 3 options, which are listed below.
 |===
 | Name | Description | Default | Type
 | *concurrentTasks* (scheduler) | Number of threads used by the scheduling thread pool. Is by default using a single thread | 1 | int
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -111,7 +110,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 4 options, which are listed below.
+The component supports 3 options, which are listed below.
 
 
 
@@ -121,7 +120,6 @@ The component supports 4 options, which are listed below.
 | *camel.component.scheduler.basic-property-binding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | Boolean
 | *camel.component.scheduler.concurrent-tasks* | Number of threads used by the scheduling thread pool. Is by default using a single thread | 1 | Integer
 | *camel.component.scheduler.enabled* | Whether to enable auto configuration of the scheduler component. This is enabled by default. |  | Boolean
-| *camel.component.scheduler.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
 // spring-boot-auto-configure options: END
 
diff --git a/components/camel-schematron/src/main/docs/schematron-component.adoc b/components/camel-schematron/src/main/docs/schematron-component.adoc
index 86aad92..7c9536a 100644
--- a/components/camel-schematron/src/main/docs/schematron-component.adoc
+++ b/components/camel-schematron/src/main/docs/schematron-component.adoc
@@ -29,14 +29,13 @@ schematron://path?[options]
 
 
 // component options: START
-The Schematron component supports 2 options, which are listed below.
+The Schematron component supports 1 options, which are listed below.
 
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
 |===
 | Name | Description | Default | Type
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -94,7 +93,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 3 options, which are listed below.
+The component supports 2 options, which are listed below.
 
 
 
@@ -103,7 +102,6 @@ The component supports 3 options, which are listed below.
 | Name | Description | Default | Type
 | *camel.component.schematron.basic-property-binding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | Boolean
 | *camel.component.schematron.enabled* | Enable schematron component | true | Boolean
-| *camel.component.schematron.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
 // spring-boot-auto-configure options: END
 
diff --git a/components/camel-seda/src/main/docs/seda-component.adoc b/components/camel-seda/src/main/docs/seda-component.adoc
index 6f68406..673f822 100644
--- a/components/camel-seda/src/main/docs/seda-component.adoc
+++ b/components/camel-seda/src/main/docs/seda-component.adoc
@@ -39,7 +39,7 @@ You can append query options to the URI in the following format:
 == Options
 
 // component options: START
-The SEDA component supports 7 options, which are listed below.
+The SEDA component supports 6 options, which are listed below.
 
 
 
@@ -51,7 +51,6 @@ The SEDA component supports 7 options, which are listed below.
 | *defaultQueueFactory* (advanced) | Sets the default queue factory. |  | BlockingQueueFactory
 | *defaultBlockWhenFull* (producer) | Whether a thread that sends messages to a full SEDA queue will block until the queue's capacity is no longer exhausted. By default, an exception will be thrown stating that the queue is full. By enabling this option, the calling thread will instead block and wait until the message can be accepted. | false | boolean
 | *defaultOfferTimeout* (producer) | Whether a thread that sends messages to a full SEDA queue will block until the queue's capacity is no longer exhausted. By default, an exception will be thrown stating that the queue is full. By enabling this option, where a configured timeout can be added to the block case. Utilizing the .offer(timeout) method of the underlining java queue |  | long
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -120,7 +119,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 8 options, which are listed below.
+The component supports 7 options, which are listed below.
 
 
 
@@ -134,7 +133,6 @@ The component supports 8 options, which are listed below.
 | *camel.component.seda.default-queue-factory* | Sets the default queue factory. The option is a org.apache.camel.component.seda.BlockingQueueFactory<org.apache.camel.Exchange> type. |  | String
 | *camel.component.seda.enabled* | Whether to enable auto configuration of the seda component. This is enabled by default. |  | Boolean
 | *camel.component.seda.queue-size* | Sets the default maximum capacity of the SEDA queue (i.e., the number of messages it can hold). | 1000 | Integer
-| *camel.component.seda.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
 // spring-boot-auto-configure options: END
 
diff --git a/components/camel-service/src/main/docs/service-component.adoc b/components/camel-service/src/main/docs/service-component.adoc
index 11a9b83..6e6a3d5 100644
--- a/components/camel-service/src/main/docs/service-component.adoc
+++ b/components/camel-service/src/main/docs/service-component.adoc
@@ -18,7 +18,7 @@ service:serviceName:endpoint[?options]
 == Options
 
 // component options: START
-The Service component supports 4 options, which are listed below.
+The Service component supports 3 options, which are listed below.
 
 
 
@@ -27,7 +27,6 @@ The Service component supports 4 options, which are listed below.
 | Name | Description | Default | Type
 | *service* (advanced) | Inject the service to use. |  | ServiceRegistry
 | *serviceSelector* (advanced) | Inject the service selector used to lookup the ServiceRegistry to use. |  | Selector
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -80,7 +79,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 5 options, which are listed below.
+The component supports 4 options, which are listed below.
 
 
 
@@ -89,7 +88,6 @@ The component supports 5 options, which are listed below.
 | Name | Description | Default | Type
 | *camel.component.service.basic-property-binding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | Boolean
 | *camel.component.service.enabled* | Whether to enable auto configuration of the service component. This is enabled by default. |  | Boolean
-| *camel.component.service.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 | *camel.component.service.service* | Inject the service to use. The option is a org.apache.camel.cloud.ServiceRegistry type. |  | String
 | *camel.component.service.service-selector* | Inject the service selector used to lookup the ServiceRegistry to use. The option is a org.apache.camel.cloud.ServiceRegistry.Selector type. |  | String
 |===
diff --git a/components/camel-servicenow/camel-servicenow-component/src/main/docs/servicenow-component.adoc b/components/camel-servicenow/camel-servicenow-component/src/main/docs/servicenow-component.adoc
index 6d7403c..8e3a4bf 100644
--- a/components/camel-servicenow/camel-servicenow-component/src/main/docs/servicenow-component.adoc
+++ b/components/camel-servicenow/camel-servicenow-component/src/main/docs/servicenow-component.adoc
@@ -31,7 +31,7 @@ for this component:
 
 
 // component options: START
-The ServiceNow component supports 15 options, which are listed below.
+The ServiceNow component supports 14 options, which are listed below.
 
 
 
@@ -51,7 +51,6 @@ The ServiceNow component supports 15 options, which are listed below.
 | *proxyUserName* (security) | Username for proxy authentication |  | String
 | *proxyPassword* (security) | Password for proxy authentication |  | String
 | *useGlobalSslContext Parameters* (security) | Enable usage of global SSL context parameters. | false | boolean
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -146,7 +145,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 58 options, which are listed below.
+The component supports 57 options, which are listed below.
 
 
 
@@ -208,7 +207,6 @@ The component supports 58 options, which are listed below.
 | *camel.component.servicenow.proxy-password* | Password for proxy authentication |  | String
 | *camel.component.servicenow.proxy-port* | The proxy port number |  | Integer
 | *camel.component.servicenow.proxy-user-name* | Username for proxy authentication |  | String
-| *camel.component.servicenow.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 | *camel.component.servicenow.use-global-ssl-context-parameters* | Enable usage of global SSL context parameters. | false | Boolean
 | *camel.component.servicenow.user-name* | ServiceNow user account name |  | String
 |===
diff --git a/components/camel-servlet/src/main/docs/servlet-component.adoc b/components/camel-servlet/src/main/docs/servlet-component.adoc
index 7f485ac..fbf508a 100644
--- a/components/camel-servlet/src/main/docs/servlet-component.adoc
+++ b/components/camel-servlet/src/main/docs/servlet-component.adoc
@@ -47,7 +47,7 @@ You can append query options to the URI in the following format:
 == Options
 
 // component options: START
-The Servlet component supports 10 options, which are listed below.
+The Servlet component supports 9 options, which are listed below.
 
 
 
@@ -62,7 +62,6 @@ The Servlet component supports 10 options, which are listed below.
 | *httpConfiguration* (advanced) | To use the shared HttpConfiguration as base configuration. |  | HttpConfiguration
 | *allowJavaSerialized Object* (advanced) | Whether to allow java serialization when a request uses context-type=application/x-java-serialized-object. 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. | false | boolean
 | *headerFilterStrategy* (filter) | To use a custom org.apache.camel.spi.HeaderFilterStrategy to filter header to and from Camel message. |  | HeaderFilterStrategy
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -133,7 +132,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 14 options, which are listed below.
+The component supports 13 options, which are listed below.
 
 
 
@@ -152,7 +151,6 @@ The component supports 14 options, which are listed below.
 | *camel.component.servlet.mapping.context-path* | Context path used by the servlet component for automatic mapping. | /camel/* | String
 | *camel.component.servlet.mapping.enabled* | Enables the automatic mapping of the servlet component into the Spring web context. | true | Boolean
 | *camel.component.servlet.mapping.servlet-name* | The name of the Camel servlet. | CamelServlet | String
-| *camel.component.servlet.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 | *camel.component.servlet.servlet-name* | Default name of servlet to use. The default name is CamelServlet. | CamelServlet | String
 |===
 // spring-boot-auto-configure options: END
diff --git a/components/camel-sip/src/main/docs/sip-component.adoc b/components/camel-sip/src/main/docs/sip-component.adoc
index f8927d2..9fc23ac 100644
--- a/components/camel-sip/src/main/docs/sip-component.adoc
+++ b/components/camel-sip/src/main/docs/sip-component.adoc
@@ -70,14 +70,13 @@ via the SIP protocol.
 
 
 // component options: START
-The SIP component supports 2 options, which are listed below.
+The SIP component supports 1 options, which are listed below.
 
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
 |===
 | Name | Description | Default | Type
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -173,7 +172,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 3 options, which are listed below.
+The component supports 2 options, which are listed below.
 
 
 
@@ -182,7 +181,6 @@ The component supports 3 options, which are listed below.
 | Name | Description | Default | Type
 | *camel.component.sip.basic-property-binding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | Boolean
 | *camel.component.sip.enabled* | Enable sip component | true | Boolean
-| *camel.component.sip.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
 // spring-boot-auto-configure options: END
 
diff --git a/components/camel-sjms/src/main/docs/sjms-batch-component.adoc b/components/camel-sjms/src/main/docs/sjms-batch-component.adoc
index e56186c..d37db18 100644
--- a/components/camel-sjms/src/main/docs/sjms-batch-component.adoc
+++ b/components/camel-sjms/src/main/docs/sjms-batch-component.adoc
@@ -111,7 +111,7 @@ aggregator in this scenario.
 
 
 // component options: START
-The Simple JMS Batch component supports 6 options, which are listed below.
+The Simple JMS Batch component supports 5 options, which are listed below.
 
 
 
@@ -122,7 +122,6 @@ The Simple JMS Batch component supports 6 options, which are listed below.
 | *asyncStartListener* (advanced) | Whether to startup the consumer 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 b [...]
 | *recoveryInterval* (advanced) | 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. | 5000 | int
 | *headerFilterStrategy* (filter) | To use a custom org.apache.camel.spi.HeaderFilterStrategy to filter header to and from Camel message. |  | HeaderFilterStrategy
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -202,7 +201,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 7 options, which are listed below.
+The component supports 6 options, which are listed below.
 
 
 
@@ -215,7 +214,6 @@ The component supports 7 options, which are listed below.
 | *camel.component.sjms-batch.enabled* | Enable sjms-batch component | true | Boolean
 | *camel.component.sjms-batch.header-filter-strategy* | To use a custom org.apache.camel.spi.HeaderFilterStrategy to filter header to and from Camel message. The option is a org.apache.camel.spi.HeaderFilterStrategy type. |  | String
 | *camel.component.sjms-batch.recovery-interval* | 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. | 5000 | Integer
-| *camel.component.sjms-batch.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
 // spring-boot-auto-configure options: END
 
diff --git a/components/camel-sjms/src/main/docs/sjms-component.adoc b/components/camel-sjms/src/main/docs/sjms-component.adoc
index bae7ddb..0f0243c 100644
--- a/components/camel-sjms/src/main/docs/sjms-component.adoc
+++ b/components/camel-sjms/src/main/docs/sjms-component.adoc
@@ -84,7 +84,7 @@ You append query options to the URI using the following format,
 
 
 // component options: START
-The Simple JMS component supports 16 options, which are listed below.
+The Simple JMS component supports 15 options, which are listed below.
 
 
 
@@ -105,7 +105,6 @@ The Simple JMS component supports 16 options, which are listed below.
 | *connectionClientId* (advanced) | The client ID to use when creating javax.jms.Connection when using the default org.apache.camel.component.sjms.jms.ConnectionFactoryResource. |  | String
 | *connectionMaxWait* (advanced) | The max wait time in millis to block and wait on free connection when the pool is exhausted when using the default org.apache.camel.component.sjms.jms.ConnectionFactoryResource. | 5000 | long
 | *headerFilterStrategy* (filter) | To use a custom org.apache.camel.spi.HeaderFilterStrategy to filter header to and from Camel message. |  | HeaderFilterStrategy
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -197,7 +196,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 17 options, which are listed below.
+The component supports 16 options, which are listed below.
 
... 22306 lines suppressed ...


[camel] 17/21: CAMEL-13850: Source code generate ExchangeConstantProvider so we can do fast lookup of its constant values without reflection

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

davsclaus pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git

commit 17cfc8e735cc41e1aa4ab3eb176411cfa68992d1
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Tue Aug 13 18:19:34 2019 +0200

    CAMEL-13850: Source code generate ExchangeConstantProvider so we can do fast lookup of its constant values without reflection
---
 .../main/java/org/apache/camel/model/ProcessorDefinitionHelper.java   | 4 ++--
 .../java/org/apache/camel/tools/apt/ConstantProviderProcessor.java    | 2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/core/camel-core/src/main/java/org/apache/camel/model/ProcessorDefinitionHelper.java b/core/camel-core/src/main/java/org/apache/camel/model/ProcessorDefinitionHelper.java
index 947ee37..501317f 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/ProcessorDefinitionHelper.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/ProcessorDefinitionHelper.java
@@ -32,6 +32,7 @@ import javax.xml.namespace.QName;
 
 import org.apache.camel.CamelContext;
 import org.apache.camel.Exchange;
+import org.apache.camel.ExchangeConstantProvider;
 import org.apache.camel.NamedNode;
 import org.apache.camel.RuntimeCamelException;
 import org.apache.camel.spi.ExecutorServiceManager;
@@ -765,8 +766,7 @@ public final class ProcessorDefinitionHelper {
                 // is the value a known field (currently we only support constants from Exchange.class)
                 if (text != null && text.startsWith("Exchange.")) {
                     String field = StringHelper.after(text, "Exchange.");
-                    // TODO: Avoid reflection via fields
-                    String constant = ObjectHelper.lookupConstantFieldValue(Exchange.class, field);
+                    String constant = ExchangeConstantProvider.lookup(field);
                     if (constant != null) {
                         text = constant;
                     } else {
diff --git a/tooling/apt/src/main/java/org/apache/camel/tools/apt/ConstantProviderProcessor.java b/tooling/apt/src/main/java/org/apache/camel/tools/apt/ConstantProviderProcessor.java
index fa93112..9367d86 100644
--- a/tooling/apt/src/main/java/org/apache/camel/tools/apt/ConstantProviderProcessor.java
+++ b/tooling/apt/src/main/java/org/apache/camel/tools/apt/ConstantProviderProcessor.java
@@ -114,7 +114,7 @@ public class ConstantProviderProcessor extends AbstractCamelAnnotationProcessor
             w.write("        MAP = map;\n");
             w.write("    }\n");
             w.write("\n");
-            w.write("    public static String provider(String key) {\n");
+            w.write("    public static String lookup(String key) {\n");
             w.write("        return MAP.get(key);\n");
             w.write("    }\n");
             w.write("}\n");


[camel] 13/21: CAMEL-13850: Optimize model classes to provide changeable properties that support property placeholders to avoid reflection. Work in progress.

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

davsclaus pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git

commit 06fbd61b51f7ea02e75a0f99284238e13689d024
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Tue Aug 13 12:11:07 2019 +0200

    CAMEL-13850: Optimize model classes to provide changeable properties that support property placeholders to avoid reflection. Work in progress.
---
 .../java/org/apache/camel/tools/apt/AbstractTypeConverterGenerator.java | 1 +
 .../java/org/apache/camel/tools/apt/PropertyPlaceholderGenerator.java   | 2 +-
 2 files changed, 2 insertions(+), 1 deletion(-)

diff --git a/tooling/apt/src/main/java/org/apache/camel/tools/apt/AbstractTypeConverterGenerator.java b/tooling/apt/src/main/java/org/apache/camel/tools/apt/AbstractTypeConverterGenerator.java
index a9f16ac..577cc6f 100644
--- a/tooling/apt/src/main/java/org/apache/camel/tools/apt/AbstractTypeConverterGenerator.java
+++ b/tooling/apt/src/main/java/org/apache/camel/tools/apt/AbstractTypeConverterGenerator.java
@@ -208,6 +208,7 @@ public abstract class AbstractTypeConverterGenerator extends AbstractCamelAnnota
         Set<String> converterClasses = new LinkedHashSet<>();
         try (Writer writer = jfo.openWriter()) {
 
+            writer.append("/* Generated by org.apache.camel:apt */\n");
             writer.append("package ").append(p).append(";\n");
             writer.append("\n");
             writer.append("import org.apache.camel.Exchange;\n");
diff --git a/tooling/apt/src/main/java/org/apache/camel/tools/apt/PropertyPlaceholderGenerator.java b/tooling/apt/src/main/java/org/apache/camel/tools/apt/PropertyPlaceholderGenerator.java
index 263f86e..2cfec56 100644
--- a/tooling/apt/src/main/java/org/apache/camel/tools/apt/PropertyPlaceholderGenerator.java
+++ b/tooling/apt/src/main/java/org/apache/camel/tools/apt/PropertyPlaceholderGenerator.java
@@ -39,7 +39,7 @@ public class PropertyPlaceholderGenerator {
             JavaFileObject src = processingEnv.getFiler().createSourceFile(fqn, parent);
             w = src.openWriter();
 
-            w.write("/* Generated by camel-apt */\n");
+            w.write("/* Generated by org.apache.camel:apt */\n");
             w.write("package org.apache.camel.model.placeholder;\n");
             w.write("\n");
             w.write("import java.util.HashMap;\n");


[camel] 10/21: CAMEL-13850: Polished

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

davsclaus pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git

commit 386687cfd6d66d44e9f6529f9c3fa2fc1d1b82b8
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Tue Aug 13 08:37:57 2019 +0200

    CAMEL-13850: Polished
---
 .../src/main/java/org/apache/camel/model/FromDefinition.java         | 5 -----
 1 file changed, 5 deletions(-)

diff --git a/core/camel-core/src/main/java/org/apache/camel/model/FromDefinition.java b/core/camel-core/src/main/java/org/apache/camel/model/FromDefinition.java
index fb4d762..78df141 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/FromDefinition.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/FromDefinition.java
@@ -16,17 +16,12 @@
  */
 package org.apache.camel.model;
 
-import java.util.HashMap;
-import java.util.Map;
-import java.util.function.Consumer;
-import java.util.function.Supplier;
 import javax.xml.bind.annotation.XmlAccessType;
 import javax.xml.bind.annotation.XmlAccessorType;
 import javax.xml.bind.annotation.XmlAttribute;
 import javax.xml.bind.annotation.XmlRootElement;
 import javax.xml.bind.annotation.XmlTransient;
 
-import org.apache.camel.CamelContext;
 import org.apache.camel.Endpoint;
 import org.apache.camel.builder.EndpointConsumerBuilder;
 import org.apache.camel.spi.Metadata;


[camel] 21/21: Upgrade groovy and logger

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

davsclaus pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git

commit 908e51bc3f3060ea52e63b1e16a9638321559cec
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Wed Aug 14 09:50:21 2019 +0200

    Upgrade groovy and logger
---
 parent/pom.xml | 6 +++---
 pom.xml        | 2 +-
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/parent/pom.xml b/parent/pom.xml
index eab4437..fbaaead 100644
--- a/parent/pom.xml
+++ b/parent/pom.xml
@@ -411,7 +411,7 @@
         <lifecycle-mapping-version>1.0.0</lifecycle-mapping-version>
         <lettuce-version>5.1.0.RELEASE</lettuce-version>
         <log4j-version>1.2.17</log4j-version>
-        <log4j2-version>2.11.2</log4j2-version>
+        <log4j2-version>2.12.1</log4j2-version>
         <logback-version>1.2.3</logback-version>
         <lucene3-version>3.6.0</lucene3-version>
         <lucene-bundle-version>8.1.1_1</lucene-bundle-version>
@@ -559,8 +559,8 @@
         <shrinkwrap-resolver-version>3.1.3</shrinkwrap-resolver-version>
         <shrinkwrap-version>1.2.6</shrinkwrap-version>
         <sip-api-version>1.1</sip-api-version>
-        <slf4j-api-version>1.7.26</slf4j-api-version>
-        <slf4j-version>1.7.26</slf4j-version>
+        <slf4j-api-version>1.7.28</slf4j-api-version>
+        <slf4j-version>1.7.28</slf4j-version>
         <smack-version>4.3.4</smack-version>
         <snakeyaml-version>1.24</snakeyaml-version>
         <snappy-version>1.1.4</snappy-version>
diff --git a/pom.xml b/pom.xml
index a5878fa..b3180aa 100644
--- a/pom.xml
+++ b/pom.xml
@@ -130,7 +130,7 @@
         <errorprone-version>2.5</errorprone-version>
         <mycila-license-version>3.0</mycila-license-version>
         <gmavenplus-plugin-version>1.6.2</gmavenplus-plugin-version>
-        <groovy-version>2.5.7</groovy-version>
+        <groovy-version>2.5.8</groovy-version>
     </properties>
 
     <!-- Comment out the snapshot repositories as we don't need them now -->


[camel] 01/21: CAMEL-13850: Optimize model classes to provide changeable properties that support property placeholders to avoid reflection. Work in progress.

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

davsclaus pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git

commit a1594cb7947ac957303b55a340c477652b56e645
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Mon Aug 12 07:18:47 2019 +0200

    CAMEL-13850: Optimize model classes to provide changeable properties that support property placeholders to avoid reflection. Work in progress.
---
 .../org/apache/camel/model/FromDefinition.java     |  26 ++++-
 .../java/org/apache/camel/model/LogDefinition.java |  31 +++++-
 .../camel/model/ProcessorDefinitionHelper.java     | 111 ++++++++++-----------
 .../camel/model/PropertyPlaceholderAware.java      |  38 +++++++
 .../java/org/apache/camel/model/ToDefinition.java  |  56 ++++++++++-
 ...ockTest.java => SimpleMockPlaceholderTest.java} |  23 ++++-
 .../org/apache/camel/processor/SimpleMockTest.java |   2 -
 .../camel/support/PropertyPlaceholdersHelper.java  |   2 +
 8 files changed, 221 insertions(+), 68 deletions(-)

diff --git a/core/camel-core/src/main/java/org/apache/camel/model/FromDefinition.java b/core/camel-core/src/main/java/org/apache/camel/model/FromDefinition.java
index e1faba2..6d61c6d 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/FromDefinition.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/FromDefinition.java
@@ -16,12 +16,17 @@
  */
 package org.apache.camel.model;
 
+import java.util.HashMap;
+import java.util.Map;
+import java.util.function.Consumer;
+import java.util.function.Supplier;
 import javax.xml.bind.annotation.XmlAccessType;
 import javax.xml.bind.annotation.XmlAccessorType;
 import javax.xml.bind.annotation.XmlAttribute;
 import javax.xml.bind.annotation.XmlRootElement;
 import javax.xml.bind.annotation.XmlTransient;
 
+import org.apache.camel.CamelContext;
 import org.apache.camel.Endpoint;
 import org.apache.camel.builder.EndpointConsumerBuilder;
 import org.apache.camel.spi.Metadata;
@@ -32,7 +37,7 @@ import org.apache.camel.spi.Metadata;
 @Metadata(label = "eip,endpoint,routing")
 @XmlRootElement(name = "from")
 @XmlAccessorType(XmlAccessType.FIELD)
-public class FromDefinition extends OptionalIdentifiedDefinition<FromDefinition> implements EndpointRequiredDefinition {
+public class FromDefinition extends OptionalIdentifiedDefinition<FromDefinition> implements PropertyPlaceholderAware, EndpointRequiredDefinition {
     @XmlAttribute @Metadata(required = true)
     private String uri;
     @XmlTransient
@@ -40,18 +45,28 @@ public class FromDefinition extends OptionalIdentifiedDefinition<FromDefinition>
     @XmlTransient
     private EndpointConsumerBuilder endpointConsumerBuilder;
 
+    private final Map<String, Supplier<String>> readPlaceholders = new HashMap<>();
+    private final Map<String, Consumer<String>> writePlaceholders = new HashMap<>();
+
     public FromDefinition() {
+        readPlaceholders.put("id", this::getId);
+        readPlaceholders.put("uri", this::getUri);
+        writePlaceholders.put("id", this::setId);
+        writePlaceholders.put("uri", this::setUri);
     }
 
     public FromDefinition(String uri) {
+        this();
         setUri(uri);
     }
 
     public FromDefinition(Endpoint endpoint) {
+        this();
         setEndpoint(endpoint);
     }
 
     public FromDefinition(EndpointConsumerBuilder endpointConsumerBuilder) {
+        this();
         setEndpointConsumerBuilder(endpointConsumerBuilder);
     }
 
@@ -135,4 +150,13 @@ public class FromDefinition extends OptionalIdentifiedDefinition<FromDefinition>
         this.uri = null;
     }
 
+    @Override
+    public Map<String, Supplier<String>> getReadPropertyPlaceholderOptions(CamelContext camelContext) {
+        return readPlaceholders;
+    }
+
+    @Override
+    public Map<String, Consumer<String>> getWritePropertyPlaceholderOptions(CamelContext camelContext) {
+        return writePlaceholders;
+    }
 }
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/LogDefinition.java b/core/camel-core/src/main/java/org/apache/camel/model/LogDefinition.java
index c8e1b0a..62281e5 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/LogDefinition.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/LogDefinition.java
@@ -16,12 +16,17 @@
  */
 package org.apache.camel.model;
 
+import java.util.HashMap;
+import java.util.Map;
+import java.util.function.Consumer;
+import java.util.function.Supplier;
 import javax.xml.bind.annotation.XmlAccessType;
 import javax.xml.bind.annotation.XmlAccessorType;
 import javax.xml.bind.annotation.XmlAttribute;
 import javax.xml.bind.annotation.XmlRootElement;
 import javax.xml.bind.annotation.XmlTransient;
 
+import org.apache.camel.CamelContext;
 import org.apache.camel.LoggingLevel;
 import org.apache.camel.spi.Metadata;
 import org.slf4j.Logger;
@@ -32,7 +37,7 @@ import org.slf4j.Logger;
 @Metadata(label = "eip,configuration")
 @XmlRootElement(name = "log")
 @XmlAccessorType(XmlAccessType.FIELD)
-public class LogDefinition extends NoOutputDefinition<LogDefinition> {
+public class LogDefinition extends NoOutputDefinition<LogDefinition> implements PropertyPlaceholderAware {
 
     @XmlAttribute(required = true)
     private String message;
@@ -47,10 +52,24 @@ public class LogDefinition extends NoOutputDefinition<LogDefinition> {
     @XmlTransient
     private Logger logger;
 
+    private final Map<String, Supplier<String>> readPlaceholders = new HashMap<>();
+    private final Map<String, Consumer<String>> writePlaceholders = new HashMap<>();
+
     public LogDefinition() {
+        readPlaceholders.put("id", this::getId);
+        readPlaceholders.put("message", this::getMessage);
+        readPlaceholders.put("logName", this::getLogName);
+        readPlaceholders.put("marker", this::getMarker);
+        readPlaceholders.put("loggerRef", this::getLoggerRef);
+        writePlaceholders.put("id", this::setId);
+        writePlaceholders.put("message", this::setMessage);
+        writePlaceholders.put("logName", this::setLogName);
+        writePlaceholders.put("marker", this::setMarker);
+        writePlaceholders.put("loggerRef", this::setLoggerRef);
     }
 
     public LogDefinition(String message) {
+        this();
         this.message = message;
     }
 
@@ -136,4 +155,14 @@ public class LogDefinition extends NoOutputDefinition<LogDefinition> {
     public void setLogger(Logger logger) {
         this.logger = logger;
     }
+
+    @Override
+    public Map<String, Supplier<String>> getReadPropertyPlaceholderOptions(CamelContext camelContext) {
+        return readPlaceholders;
+    }
+
+    @Override
+    public Map<String, Consumer<String>> getWritePropertyPlaceholderOptions(CamelContext camelContext) {
+        return writePlaceholders;
+    }
 }
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/ProcessorDefinitionHelper.java b/core/camel-core/src/main/java/org/apache/camel/model/ProcessorDefinitionHelper.java
index 420a7af..280965b 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/ProcessorDefinitionHelper.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/ProcessorDefinitionHelper.java
@@ -22,9 +22,12 @@ import java.util.Iterator;
 import java.util.LinkedHashSet;
 import java.util.List;
 import java.util.Map;
+import java.util.Objects;
 import java.util.Set;
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.ScheduledExecutorService;
+import java.util.function.Consumer;
+import java.util.function.Supplier;
 import javax.xml.namespace.QName;
 
 import org.apache.camel.CamelContext;
@@ -628,10 +631,31 @@ public final class ProcessorDefinitionHelper {
         return rc;
     }
 
-    private static void addRestoreAction(final Object target, final Map<String, Object> properties) {
-        addRestoreAction(null, target, properties);
+    private static void addRestoreAction(Map<String, Consumer<String>> writeProperties, final Map<String, String> properties) {
+        if (properties.isEmpty()) {
+            return;
+        }
+
+        RestoreAction restoreAction = CURRENT_RESTORE_ACTION.get();
+        if (restoreAction == null) {
+            return;
+        }
+
+        restoreAction.actions.add(new Runnable() {
+            @Override
+            public void run() {
+                try {
+                    properties.forEach((k, v) -> {
+                        writeProperties.get(k).accept(v);
+                    });
+                } catch (Exception e) {
+                    LOG.warn("Cannot restore definition properties. This exception is ignored.", e);
+                }
+            }
+        });
     }
-    
+
+    @Deprecated
     private static void addRestoreAction(final CamelContext context, final Object target, final Map<String, Object> properties) {
         if (properties.isEmpty()) {
             return;
@@ -681,70 +705,37 @@ public final class ProcessorDefinitionHelper {
     public static void resolvePropertyPlaceholders(CamelContext camelContext, Object definition) throws Exception {
         LOG.trace("Resolving property placeholders for: {}", definition);
 
+        // only do this for models that supports property placeholders
+        if (!(definition instanceof PropertyPlaceholderAware)) {
+            return;
+        }
+
+        PropertyPlaceholderAware ppa = (PropertyPlaceholderAware) definition;
+
         // find all getter/setter which we can use for property placeholders
-        Map<String, Object> properties = new HashMap<>();
-        IntrospectionSupport.getProperties(definition, properties, null);
+        Map<String, String> changedProperties = new HashMap<>();
+        Map<String, Supplier<String>> readProperties = ppa.getReadPropertyPlaceholderOptions(camelContext);
+        Map<String, Consumer<String>> writeProperties = ppa.getWritePropertyPlaceholderOptions(camelContext);
 
-        OtherAttributesAware other = null;
-        if (definition instanceof OtherAttributesAware) {
-            other = (OtherAttributesAware) definition;
-        }
-        // include additional properties which have the Camel placeholder QName
-        // and when the definition parameter is this (otherAttributes belong to this)
-        if (other != null && other.getOtherAttributes() != null) {
-            for (QName key : other.getOtherAttributes().keySet()) {
-                if (Constants.PLACEHOLDER_QNAME.equals(key.getNamespaceURI())) {
-                    String local = key.getLocalPart();
-                    Object value = other.getOtherAttributes().get(key);
-                    if (value instanceof String) {
-                        // enforce a properties component to be created if none existed
-                        camelContext.getPropertiesComponent(true);
-
-                        // value must be enclosed with placeholder tokens
-                        String s = (String) value;
-                        String prefixToken = PropertiesComponent.PREFIX_TOKEN;
-                        String suffixToken = PropertiesComponent.SUFFIX_TOKEN;
-
-                        if (!s.startsWith(prefixToken)) {
-                            s = prefixToken + s;
-                        }
-                        if (!s.endsWith(suffixToken)) {
-                            s = s + suffixToken;
-                        }
-                        value = s;
-                    }
-                    properties.put(local, value);
-                }
+        if (!readProperties.isEmpty()) {
+            if (LOG.isTraceEnabled()) {
+                LOG.trace("There are {} properties on: {}", readProperties.size(), definition);
             }
-        }
-
-        Map<String, Object> changedProperties = new HashMap<>();
-        if (!properties.isEmpty()) {
-            LOG.trace("There are {} properties on: {}", properties.size(), definition);
             // lookup and resolve properties for String based properties
-            for (Map.Entry<String, Object> entry : properties.entrySet()) {
-                // the name is always a String
+            for (Map.Entry<String, Supplier<String>> entry : readProperties.entrySet()) {
                 String name = entry.getKey();
-                Object value = entry.getValue();
-                if (value instanceof String) {
-                    // value must be a String, as a String is the key for a property placeholder
-                    String text = (String) value;
-                    text = camelContext.resolvePropertyPlaceholders(text);
-                    if (text != value) {
-                        // invoke setter as the text has changed
-                        boolean changed = IntrospectionSupport.setProperty(camelContext.getTypeConverter(), definition, name, text);
-                        if (!changed) {
-                            throw new IllegalArgumentException("No setter to set property: " + name + " to: " + text + " on: " + definition);
-                        }
-                        changedProperties.put(name, value);
-                        if (LOG.isDebugEnabled()) {
-                            LOG.debug("Changed property [{}] from: {} to: {}", name, value, text);
-                        }
+                String value = entry.getValue().get();
+                String text = camelContext.resolvePropertyPlaceholders(value);
+                if (!Objects.equals(text, value)) {
+                    writeProperties.get(name).accept(text);
+                    changedProperties.put(name, value);
+                    if (LOG.isDebugEnabled()) {
+                        LOG.debug("Changed property [{}] from: {} to: {}", name, value, text);
                     }
                 }
             }
         }
-        addRestoreAction(camelContext, definition, changedProperties);
+        addRestoreAction(writeProperties, changedProperties);
     }
 
     /**
@@ -758,7 +749,7 @@ public final class ProcessorDefinitionHelper {
      */
     public static void resolveKnownConstantFields(CamelContext camelContext, Object definition) throws Exception {
         LOG.trace("Resolving known fields for: {}", definition);
-
+/*
         // find all String getter/setter
         Map<String, Object> properties = new HashMap<>();
         IntrospectionSupport.getProperties(definition, properties, null);
@@ -793,7 +784,7 @@ public final class ProcessorDefinitionHelper {
                 }
             }
         }
-        addRestoreAction(definition, changedProperties);
+        addRestoreAction(camelContext, definition, changedProperties);*/
     }
 
 }
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/PropertyPlaceholderAware.java b/core/camel-core/src/main/java/org/apache/camel/model/PropertyPlaceholderAware.java
new file mode 100644
index 0000000..9bc6b4a
--- /dev/null
+++ b/core/camel-core/src/main/java/org/apache/camel/model/PropertyPlaceholderAware.java
@@ -0,0 +1,38 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ * <p>
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * <p>
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.model;
+
+import java.util.Map;
+import java.util.function.Consumer;
+import java.util.function.Supplier;
+
+import org.apache.camel.CamelContext;
+
+public interface PropertyPlaceholderAware {
+
+    /**
+     * Gets the options on the model definition which supports property placeholders and can be resolved.
+     *
+     * @return key/values of options
+     */
+    Map<String, Supplier<String>> getReadPropertyPlaceholderOptions(CamelContext camelContext);
+
+    /**
+     * To update an existing property using the function with the ket/value and returning the changed value
+     */
+    Map<String, Consumer<String>> getWritePropertyPlaceholderOptions(CamelContext camelContext);
+}
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/ToDefinition.java b/core/camel-core/src/main/java/org/apache/camel/model/ToDefinition.java
index 78828ad..3a0ba35 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/ToDefinition.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/ToDefinition.java
@@ -16,15 +16,22 @@
  */
 package org.apache.camel.model;
 
+import java.util.HashMap;
+import java.util.Map;
+import java.util.function.BiFunction;
+import java.util.function.Consumer;
+import java.util.function.Supplier;
 import javax.xml.bind.annotation.XmlAccessType;
 import javax.xml.bind.annotation.XmlAccessorType;
 import javax.xml.bind.annotation.XmlAttribute;
 import javax.xml.bind.annotation.XmlRootElement;
 
+import org.apache.camel.CamelContext;
 import org.apache.camel.Endpoint;
 import org.apache.camel.ExchangePattern;
 import org.apache.camel.builder.EndpointProducerBuilder;
 import org.apache.camel.spi.Metadata;
+import org.apache.camel.spi.PropertiesComponent;
 
 /**
  * Sends the message to a static endpoint
@@ -32,22 +39,32 @@ import org.apache.camel.spi.Metadata;
 @Metadata(label = "eip,endpoint,routing")
 @XmlRootElement(name = "to")
 @XmlAccessorType(XmlAccessType.FIELD)
-public class ToDefinition extends SendDefinition<ToDefinition> {
+public class ToDefinition extends SendDefinition<ToDefinition> implements PropertyPlaceholderAware {
     @XmlAttribute
     private ExchangePattern pattern;
 
+    private final Map<String, Supplier<String>> readPlaceholders = new HashMap<>();
+    private final Map<String, Consumer<String>> writePlaceholders = new HashMap<>();
+
     public ToDefinition() {
+        readPlaceholders.put("id", this::getId);
+        readPlaceholders.put("uri", this::getUri);
+        writePlaceholders.put("id", this::setId);
+        writePlaceholders.put("uri", this::setUri);
     }
 
     public ToDefinition(String uri) {
+        this();
         setUri(uri);
     }
 
     public ToDefinition(Endpoint endpoint) {
+        this();
         setEndpoint(endpoint);
     }
 
     public ToDefinition(EndpointProducerBuilder endpointDefinition) {
+        this();
         setEndpointProducerBuilder(endpointDefinition);
     }
 
@@ -88,4 +105,41 @@ public class ToDefinition extends SendDefinition<ToDefinition> {
         this.pattern = pattern;
     }
 
+    @Override
+    public Map<String, Supplier<String>> getReadPropertyPlaceholderOptions(final CamelContext camelContext) {
+        if (getOtherAttributes() != null && !getOtherAttributes().isEmpty()) {
+            final Map<String, Supplier<String>> answer = new HashMap<>(readPlaceholders);
+            getOtherAttributes().forEach((k, v) -> {
+                if (Constants.PLACEHOLDER_QNAME.equals(k.getNamespaceURI())) {
+                    if (v instanceof String) {
+                        // enforce a properties component to be created if none existed
+                        camelContext.getPropertiesComponent(true);
+
+                        // value must be enclosed with placeholder tokens
+                        String s = (String) v;
+                        String prefixToken = PropertiesComponent.PREFIX_TOKEN;
+                        String suffixToken = PropertiesComponent.SUFFIX_TOKEN;
+
+                        if (!s.startsWith(prefixToken)) {
+                            s = prefixToken + s;
+                        }
+                        if (!s.endsWith(suffixToken)) {
+                            s = s + suffixToken;
+                        }
+                        final String value = s;
+                        answer.put(k.getLocalPart(), () -> value);
+                    }
+                }
+            });
+            return answer;
+        } else {
+            return readPlaceholders;
+        }
+    }
+
+    @Override
+    public Map<String, Consumer<String>> getWritePropertyPlaceholderOptions(CamelContext camelContext) {
+        return writePlaceholders;
+    }
 }
+
diff --git a/core/camel-core/src/test/java/org/apache/camel/processor/SimpleMockTest.java b/core/camel-core/src/test/java/org/apache/camel/processor/SimpleMockPlaceholderTest.java
similarity index 71%
copy from core/camel-core/src/test/java/org/apache/camel/processor/SimpleMockTest.java
copy to core/camel-core/src/test/java/org/apache/camel/processor/SimpleMockPlaceholderTest.java
index b8bd72d..dd8b986 100644
--- a/core/camel-core/src/test/java/org/apache/camel/processor/SimpleMockTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/processor/SimpleMockPlaceholderTest.java
@@ -16,14 +16,31 @@
  */
 package org.apache.camel.processor;
 
-import java.util.stream.Stream;
+import java.util.Properties;
 
+import org.apache.camel.CamelContext;
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
+import org.apache.camel.component.properties.PropertiesComponent;
 import org.junit.Test;
 
-public class SimpleMockTest extends ContextTestSupport {
+public class SimpleMockPlaceholderTest extends ContextTestSupport {
+
+    @Override
+    protected CamelContext createCamelContext() throws Exception {
+        CamelContext context = super.createCamelContext();
+
+        Properties myProp = new Properties();
+        myProp.put("foo", "log:foo");
+        myProp.put("end", "result");
+
+        PropertiesComponent pc = new PropertiesComponent();
+        pc.setInitialProperties(myProp);
+        context.addComponent("properties", pc);
+
+        return context;
+    }
 
     @Test
     public void testSimple() throws Exception {
@@ -51,7 +68,7 @@ public class SimpleMockTest extends ContextTestSupport {
         return new RouteBuilder() {
             @Override
             public void configure() throws Exception {
-                from("direct:start").to("log:foo").to("log:bar").to("mock:result");
+                from("direct:start").to("{{foo}}").to("log:bar").to("mock:{{end}}");
             }
         };
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/processor/SimpleMockTest.java b/core/camel-core/src/test/java/org/apache/camel/processor/SimpleMockTest.java
index b8bd72d..015a692 100644
--- a/core/camel-core/src/test/java/org/apache/camel/processor/SimpleMockTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/processor/SimpleMockTest.java
@@ -16,8 +16,6 @@
  */
 package org.apache.camel.processor;
 
-import java.util.stream.Stream;
-
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
diff --git a/core/camel-support/src/main/java/org/apache/camel/support/PropertyPlaceholdersHelper.java b/core/camel-support/src/main/java/org/apache/camel/support/PropertyPlaceholdersHelper.java
index c895914..84e44e9 100644
--- a/core/camel-support/src/main/java/org/apache/camel/support/PropertyPlaceholdersHelper.java
+++ b/core/camel-support/src/main/java/org/apache/camel/support/PropertyPlaceholdersHelper.java
@@ -45,6 +45,8 @@ public final class PropertyPlaceholdersHelper {
     public static void resolvePropertyPlaceholders(CamelContext camelContext, Object object) throws Exception {
         LOG.trace("Resolving property placeholders for: {}", object);
 
+        // TODO: Like ProcessorDefinitionHelper we want to avoid reflection
+
         // find all getter/setter which we can use for property placeholders
         Map<String, Object> properties = new HashMap<>();
         IntrospectionSupport.getProperties(object, properties, null);


[camel] 04/21: CAMEL-13850: Optimize model classes to provide changeable properties that support property placeholders to avoid reflection. Work in progress.

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

davsclaus pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git

commit ec24d17061351141d99be99dcb4417a77b1a3fd8
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Mon Aug 12 22:08:43 2019 +0200

    CAMEL-13850: Optimize model classes to provide changeable properties that support property placeholders to avoid reflection. Work in progress.
---
 .../model/DefinitionPropertiesProviderHelper.java  | 47 -------------
 .../DefinitionPropertyPlaceholderConfigurable.java |  5 +-
 .../apt/CoreEipAnnotationProcessorHelper.java      | 77 +++++++++++++++++++---
 .../camel/tools/apt/ModelAnnotationProcessor.java  | 62 +++++++++++++----
 .../tools/apt/SpringAnnotationProcessorHelper.java |  3 +-
 5 files changed, 122 insertions(+), 72 deletions(-)

diff --git a/core/camel-core/src/main/java/org/apache/camel/model/DefinitionPropertiesProviderHelper.java b/core/camel-core/src/main/java/org/apache/camel/model/DefinitionPropertiesProviderHelper.java
deleted file mode 100644
index 86cb92e..0000000
--- a/core/camel-core/src/main/java/org/apache/camel/model/DefinitionPropertiesProviderHelper.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- * <p>
- * http://www.apache.org/licenses/LICENSE-2.0
- * <p>
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.model;
-
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Optional;
-import java.util.function.Function;
-
-import org.apache.camel.model.placeholder.FromDefinitionPropertyPlaceholderProvider;
-import org.apache.camel.model.placeholder.LogDefinitionPropertyPlaceholderProvider;
-import org.apache.camel.model.placeholder.ToDefinitionPropertyPlaceholderProvider;
-
-public class DefinitionPropertiesProviderHelper {
-
-    private static final Map<Class, Function<Object, DefinitionPropertyPlaceholderConfigurable>> MAP;
-    static {
-        Map<Class, Function<Object, DefinitionPropertyPlaceholderConfigurable>> map = new HashMap<>();
-        map.put(FromDefinition.class, FromDefinitionPropertyPlaceholderProvider::new);
-        map.put(LogDefinition.class, LogDefinitionPropertyPlaceholderProvider::new);
-        map.put(ToDefinition.class, ToDefinitionPropertyPlaceholderProvider::new);
-        MAP = map;
-    }
-
-    public static Optional<DefinitionPropertyPlaceholderConfigurable> provider(Object definition) {
-        Function<Object, DefinitionPropertyPlaceholderConfigurable> func = MAP.get(definition.getClass());
-        if (func != null) {
-            return Optional.of(func.apply(definition));
-        }
-        return Optional.empty();
-    }
-
-}
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/DefinitionPropertyPlaceholderConfigurable.java b/core/camel-core/src/main/java/org/apache/camel/model/DefinitionPropertyPlaceholderConfigurable.java
index 9c82f6b..8d5758c 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/DefinitionPropertyPlaceholderConfigurable.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/DefinitionPropertyPlaceholderConfigurable.java
@@ -21,6 +21,7 @@ import java.util.function.Consumer;
 import java.util.function.Supplier;
 
 import org.apache.camel.CamelContext;
+import org.apache.camel.model.placeholder.DefinitionPropertiesPlaceholderProviderHelper;
 
 /**
  * To be used for configuring property placeholder options on the EIP models.
@@ -34,7 +35,7 @@ public interface DefinitionPropertyPlaceholderConfigurable {
      * @return key/values of options
      */
     default Map<String, Supplier<String>> getReadPropertyPlaceholderOptions(CamelContext camelContext) {
-        DefinitionPropertyPlaceholderConfigurable aware = DefinitionPropertiesProviderHelper.provider(this).orElse(null);
+        DefinitionPropertyPlaceholderConfigurable aware = DefinitionPropertiesPlaceholderProviderHelper.provider(this).orElse(null);
         return aware != null ? aware.getReadPropertyPlaceholderOptions(camelContext) : null;
     }
 
@@ -43,7 +44,7 @@ public interface DefinitionPropertyPlaceholderConfigurable {
      * This will be all the string based options.
      */
     default Map<String, Consumer<String>> getWritePropertyPlaceholderOptions(CamelContext camelContext) {
-        DefinitionPropertyPlaceholderConfigurable aware = DefinitionPropertiesProviderHelper.provider(this).orElse(null);
+        DefinitionPropertyPlaceholderConfigurable aware = DefinitionPropertiesPlaceholderProviderHelper.provider(this).orElse(null);
         return aware != null ? aware.getWritePropertyPlaceholderOptions(camelContext) : null;
     }
 
diff --git a/tooling/apt/src/main/java/org/apache/camel/tools/apt/CoreEipAnnotationProcessorHelper.java b/tooling/apt/src/main/java/org/apache/camel/tools/apt/CoreEipAnnotationProcessorHelper.java
index edb48d7..fc00956 100644
--- a/tooling/apt/src/main/java/org/apache/camel/tools/apt/CoreEipAnnotationProcessorHelper.java
+++ b/tooling/apt/src/main/java/org/apache/camel/tools/apt/CoreEipAnnotationProcessorHelper.java
@@ -18,13 +18,13 @@ package org.apache.camel.tools.apt;
 
 import java.io.PrintWriter;
 import java.io.Writer;
+import java.util.Collections;
 import java.util.Comparator;
 import java.util.HashSet;
 import java.util.LinkedHashSet;
 import java.util.List;
 import java.util.Set;
 import java.util.TreeSet;
-import java.util.function.Consumer;
 import java.util.stream.Collectors;
 
 import javax.annotation.processing.ProcessingEnvironment;
@@ -92,7 +92,8 @@ public class CoreEipAnnotationProcessorHelper {
 
     private boolean skipUnwanted = true;
 
-    protected void processModelClass(final ProcessingEnvironment processingEnv, final RoundEnvironment roundEnv, final TypeElement classElement) {
+    protected void processModelClass(final ProcessingEnvironment processingEnv, final RoundEnvironment roundEnv,
+                                     final TypeElement classElement, Set<String> propertyPlaceholderDefinitions, final boolean last) {
         final String javaTypeName = canonicalClassName(classElement.getQualifiedName().toString());
         String packageName = javaTypeName.substring(0, javaTypeName.lastIndexOf("."));
 
@@ -128,13 +129,20 @@ public class CoreEipAnnotationProcessorHelper {
             fileName = name + ".json";
         }
 
-        // write json schema
-        processFile(processingEnv, packageName, fileName, writer -> writeJSonSchemeDocumentation(processingEnv, writer, roundEnv, classElement, rootElement, javaTypeName, name));
-    }
+        // write json schema and property placeholder provider
+        processFile(processingEnv, packageName, fileName, writer -> writeJSonSchemeDocumentation(processingEnv, writer,
+                roundEnv, classElement, rootElement, javaTypeName, name, propertyPlaceholderDefinitions));
 
+        // if last then generate
+        if (last) {
+            // lets sort themfirst
+            writePropertyPlaceholderDefinitionsHelper(processingEnv, roundEnv, propertyPlaceholderDefinitions);
+        }
+    }
 
+    // TODO: rename this 
     protected void writeJSonSchemeDocumentation(ProcessingEnvironment processingEnv, PrintWriter writer, RoundEnvironment roundEnv, TypeElement classElement,
-                                                XmlRootElement rootElement, String javaTypeName, String modelName) {
+                                                XmlRootElement rootElement, String javaTypeName, String modelName, Set<String> propertyPlaceholderDefinitions) {
         // gather eip information
         EipModel eipModel = findEipModelProperties(processingEnv, roundEnv, classElement, javaTypeName, modelName);
 
@@ -152,11 +160,11 @@ public class CoreEipAnnotationProcessorHelper {
         writer.println(json);
 
         // write property placeholder source code
-        writePropertyPlaceholderProviderSource(processingEnv, writer, roundEnv, classElement, eipModel, eipOptions);
+        writePropertyPlaceholderProviderSource(processingEnv, writer, roundEnv, classElement, eipModel, eipOptions, propertyPlaceholderDefinitions);
     }
 
     protected void writePropertyPlaceholderProviderSource(ProcessingEnvironment processingEnv, PrintWriter writer, RoundEnvironment roundEnv, TypeElement classElement,
-                                                          EipModel eipModel, Set<EipOption> options) {
+                                                          EipModel eipModel, Set<EipOption> options, Set<String> propertyPlaceholderDefinitions) {
 
         // the following are valid class elements which we want to generate
         boolean rest = classElement.getQualifiedName().toString().startsWith("org.apache.camel.model.rest");
@@ -175,6 +183,7 @@ public class CoreEipAnnotationProcessorHelper {
         String fqn = "org.apache.camel.model.placeholder." + cn;
 
         doWritePropertyPlaceholderProviderSource(processingEnv, parent, def, fqnDef, cn, fqn, options);
+        propertyPlaceholderDefinitions.add(fqnDef);
 
         // we also need to generate from when we generate route as from can also configure property placeholders
         if ("RouteDefinition".equals(def)) {
@@ -188,6 +197,7 @@ public class CoreEipAnnotationProcessorHelper {
             options.add(new EipOption("uri", null, null, "java.lang.String", false, null, null, false, null, false, null, false, null, false));
 
             doWritePropertyPlaceholderProviderSource(processingEnv, parent, def, fqnDef, cn, fqn, options);
+            propertyPlaceholderDefinitions.add(fqnDef);
         }
     }
 
@@ -301,6 +311,57 @@ public class CoreEipAnnotationProcessorHelper {
         return option.getName();
     }
 
+    private void writePropertyPlaceholderDefinitionsHelper(ProcessingEnvironment processingEnv, RoundEnvironment roundEnv,
+                                                           Set<String> propertyPlaceholderDefinitions) {
+        Writer w = null;
+        try {
+            JavaFileObject src = processingEnv.getFiler().createSourceFile("org.apache.camel.model.placeholder.DefinitionPropertiesPlaceholderProviderHelper");
+            w = src.openWriter();
+
+            w.write("/* Generated by camel-apt */\n");
+            w.write("package org.apache.camel.model.placeholder;\n");
+            w.write("\n");
+            w.write("import java.util.HashMap;\n");
+            w.write("import java.util.Map;\n");
+            w.write("import java.util.Optional;\n");
+            w.write("import java.util.function.Function;\n");
+            w.write("import java.util.function.Supplier;\n");
+            w.write("\n");
+            w.write("import org.apache.camel.model.DefinitionPropertyPlaceholderConfigurable;\n");
+            for (String def : propertyPlaceholderDefinitions) {
+                w.write("import " + def + ";\n");
+            }
+            w.write("\n");
+            w.write("public class DefinitionPropertiesPlaceholderProviderHelper {\n");
+            w.write("\n");
+            w.write("    private static final Map<Class, Function<Object, DefinitionPropertyPlaceholderConfigurable>> MAP;\n");
+            w.write("    static {\n");
+            w.write("        Map<Class, Function<Object, DefinitionPropertyPlaceholderConfigurable>> map = new HashMap<>();\n");
+            for (String def : propertyPlaceholderDefinitions) {
+                String cn = def.substring(def.lastIndexOf('.') + 1);
+                w.write("        map.put(" + cn + ".class, " + cn + "PropertyPlaceholderProvider::new);\n");
+            }
+            w.write("        MAP = map;\n");
+            w.write("    }\n");
+            w.write("\n");
+            w.write("    public static Optional<DefinitionPropertyPlaceholderConfigurable> provider(Object definition) {\n");
+            w.write("        Function<Object, DefinitionPropertyPlaceholderConfigurable> func = MAP.get(definition.getClass());\n");
+            w.write("        if (func != null) {\n");
+            w.write("            return Optional.of(func.apply(definition));\n");
+            w.write("        }\n");
+            w.write("        return Optional.empty();\n");
+            w.write("    }\n");
+            w.write("\n");
+            w.write("}\n");
+            w.write("\n");
+        } catch (Exception e) {
+            processingEnv.getMessager().printMessage(Diagnostic.Kind.ERROR, "Unable to process annotated elements in " + getClass().getSimpleName() + ": " + e.getMessage());
+            dumpExceptionToErrorFile("camel-apt-error.log", "Error processing annotation in " + getClass().getSimpleName(), e);
+        } finally {
+            IOHelper.close(w);
+        }
+    }
+
     public String createParameterJsonSchema(EipModel eipModel, Set<EipOption> options) {
         StringBuilder buffer = new StringBuilder("{");
         // eip model
diff --git a/tooling/apt/src/main/java/org/apache/camel/tools/apt/ModelAnnotationProcessor.java b/tooling/apt/src/main/java/org/apache/camel/tools/apt/ModelAnnotationProcessor.java
index 211f42b..5d1e380 100644
--- a/tooling/apt/src/main/java/org/apache/camel/tools/apt/ModelAnnotationProcessor.java
+++ b/tooling/apt/src/main/java/org/apache/camel/tools/apt/ModelAnnotationProcessor.java
@@ -16,8 +16,13 @@
  */
 package org.apache.camel.tools.apt;
 
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
 import java.util.Set;
-
+import java.util.TreeSet;
+import java.util.function.Predicate;
+import java.util.stream.Collectors;
 import javax.annotation.processing.RoundEnvironment;
 import javax.annotation.processing.SupportedAnnotationTypes;
 import javax.lang.model.element.Element;
@@ -38,19 +43,48 @@ public class ModelAnnotationProcessor extends AbstractCamelAnnotationProcessor {
     @Override
     protected void doProcess(Set<? extends TypeElement> annotations, RoundEnvironment roundEnv) throws Exception {
         Set<? extends Element> elements = roundEnv.getElementsAnnotatedWith(XmlRootElement.class);
-        for (Element element : elements) {
-            if (element instanceof TypeElement) {
-                TypeElement classElement = (TypeElement) element;
-
-                final String javaTypeName = canonicalClassName(classElement.getQualifiedName().toString());
-                boolean core = javaTypeName.startsWith("org.apache.camel.model");
-                boolean spring = javaTypeName.startsWith("org.apache.camel.spring") || javaTypeName.startsWith("org.apache.camel.core.xml");
-                if (core) {
-                    coreProcessor.processModelClass(processingEnv, roundEnv, classElement);
-                } else if (spring) {
-                    springProcessor.processModelClass(processingEnv, roundEnv, classElement);
-                }
-            }
+
+        Set<? extends Element> coreElements = elements.stream()
+                .filter(new Predicate<Element>() {
+                    @Override
+                    public boolean test(Element element) {
+                        if (element instanceof TypeElement) {
+                            TypeElement classElement = (TypeElement) element;
+
+                            final String javaTypeName = canonicalClassName(classElement.getQualifiedName().toString());
+                            return javaTypeName.startsWith("org.apache.camel.model");
+                        }
+                        return false;
+                    }
+                }).collect(Collectors.toSet());
+
+        Set<? extends Element> springElements = elements.stream()
+                .filter(new Predicate<Element>() {
+                    @Override
+                    public boolean test(Element element) {
+                        if (element instanceof TypeElement) {
+                            TypeElement classElement = (TypeElement) element;
+
+                            final String javaTypeName = canonicalClassName(classElement.getQualifiedName().toString());
+                            return javaTypeName.startsWith("org.apache.camel.spring") || javaTypeName.startsWith("org.apache.camel.core.xml");
+                        }
+                        return false;
+                    }
+                }).collect(Collectors.toSet());
+
+        // we want them to be sorted
+        Set<String> propertyPlaceholderDefinitions = new TreeSet<>(String::compareToIgnoreCase);
+
+        Iterator it = coreElements.iterator();
+        while (it.hasNext()) {
+            TypeElement classElement = (TypeElement) it.next();
+            coreProcessor.processModelClass(processingEnv, roundEnv, classElement, propertyPlaceholderDefinitions, !it.hasNext());
+        }
+
+        it = springElements.iterator();
+        while (it.hasNext()) {
+            TypeElement classElement = (TypeElement) it.next();
+            springProcessor.processModelClass(processingEnv, roundEnv, classElement, !it.hasNext());
         }
     }
 
diff --git a/tooling/apt/src/main/java/org/apache/camel/tools/apt/SpringAnnotationProcessorHelper.java b/tooling/apt/src/main/java/org/apache/camel/tools/apt/SpringAnnotationProcessorHelper.java
index 2300352..75f3110 100644
--- a/tooling/apt/src/main/java/org/apache/camel/tools/apt/SpringAnnotationProcessorHelper.java
+++ b/tooling/apt/src/main/java/org/apache/camel/tools/apt/SpringAnnotationProcessorHelper.java
@@ -56,7 +56,8 @@ import static org.apache.camel.tools.apt.helper.Strings.safeNull;
  */
 public class SpringAnnotationProcessorHelper {
 
-    protected void processModelClass(final ProcessingEnvironment processingEnv, final RoundEnvironment roundEnv, final TypeElement classElement) {
+    protected void processModelClass(final ProcessingEnvironment processingEnv, final RoundEnvironment roundEnv,
+                                     final TypeElement classElement, final boolean last) {
         final String javaTypeName = canonicalClassName(classElement.getQualifiedName().toString());
         String packageName = javaTypeName.substring(0, javaTypeName.lastIndexOf("."));
 


[camel] 05/21: CAMEL-13850: Optimize model classes to provide changeable properties that support property placeholders to avoid reflection. Work in progress.

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

davsclaus pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git

commit 0fb04132baa4b8866e75d62d9c2f8727f2072757
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Mon Aug 12 22:31:52 2019 +0200

    CAMEL-13850: Optimize model classes to provide changeable properties that support property placeholders to avoid reflection. Work in progress.
---
 .../apache/camel/model/DataFormatDefinition.java   |  2 +-
 .../camel/model/ProcessorDefinitionHelper.java     |  6 ++-
 .../java/org/apache/camel/model/ToDefinition.java  | 51 +---------------------
 .../camel/model/language/ExpressionDefinition.java |  3 +-
 4 files changed, 8 insertions(+), 54 deletions(-)

diff --git a/core/camel-core/src/main/java/org/apache/camel/model/DataFormatDefinition.java b/core/camel-core/src/main/java/org/apache/camel/model/DataFormatDefinition.java
index c7f3452..f36fb68 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/DataFormatDefinition.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/DataFormatDefinition.java
@@ -35,7 +35,7 @@ import org.apache.camel.spi.Metadata;
 @Metadata(label = "dataformat,transformation")
 @XmlType(name = "dataFormat")
 @XmlAccessorType(XmlAccessType.FIELD)
-public class DataFormatDefinition extends IdentifiedType implements OtherAttributesAware {
+public class DataFormatDefinition extends IdentifiedType implements OtherAttributesAware, DefinitionPropertyPlaceholderConfigurable {
     @XmlTransient
     private DataFormat dataFormat;
     @XmlTransient
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/ProcessorDefinitionHelper.java b/core/camel-core/src/main/java/org/apache/camel/model/ProcessorDefinitionHelper.java
index b57f51a..169dc3d 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/ProcessorDefinitionHelper.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/ProcessorDefinitionHelper.java
@@ -626,7 +626,7 @@ public final class ProcessorDefinitionHelper {
     }
 
     private static void addRestoreAction(Map<String, Consumer<String>> writeProperties, final Map<String, String> properties) {
-        if (properties.isEmpty()) {
+        if (properties == null || properties.isEmpty()) {
             return;
         }
 
@@ -685,7 +685,7 @@ public final class ProcessorDefinitionHelper {
         Map<String, Supplier<String>> readProperties = ppa.getReadPropertyPlaceholderOptions(camelContext);
         Map<String, Consumer<String>> writeProperties = ppa.getWritePropertyPlaceholderOptions(camelContext);
 
-        if (!readProperties.isEmpty()) {
+        if (readProperties != null && !readProperties.isEmpty()) {
             if (LOG.isTraceEnabled()) {
                 LOG.trace("There are {} properties on: {}", readProperties.size(), definition);
             }
@@ -718,6 +718,8 @@ public final class ProcessorDefinitionHelper {
      */
     public static void resolveKnownConstantFields(CamelContext camelContext, Object definition) throws Exception {
         LOG.trace("Resolving known fields for: {}", definition);
+
+        // TODO: implement this
 /*
         // find all String getter/setter
         Map<String, Object> properties = new HashMap<>();
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/ToDefinition.java b/core/camel-core/src/main/java/org/apache/camel/model/ToDefinition.java
index 10b61d8..4204727 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/ToDefinition.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/ToDefinition.java
@@ -16,21 +16,15 @@
  */
 package org.apache.camel.model;
 
-import java.util.HashMap;
-import java.util.Map;
-import java.util.function.Consumer;
-import java.util.function.Supplier;
 import javax.xml.bind.annotation.XmlAccessType;
 import javax.xml.bind.annotation.XmlAccessorType;
 import javax.xml.bind.annotation.XmlAttribute;
 import javax.xml.bind.annotation.XmlRootElement;
 
-import org.apache.camel.CamelContext;
 import org.apache.camel.Endpoint;
 import org.apache.camel.ExchangePattern;
 import org.apache.camel.builder.EndpointProducerBuilder;
 import org.apache.camel.spi.Metadata;
-import org.apache.camel.spi.PropertiesComponent;
 
 /**
  * Sends the message to a static endpoint
@@ -38,18 +32,11 @@ import org.apache.camel.spi.PropertiesComponent;
 @Metadata(label = "eip,endpoint,routing")
 @XmlRootElement(name = "to")
 @XmlAccessorType(XmlAccessType.FIELD)
-public class ToDefinition extends SendDefinition<ToDefinition> implements DefinitionPropertyPlaceholderConfigurable {
+public class ToDefinition extends SendDefinition<ToDefinition> {
     @XmlAttribute
     private ExchangePattern pattern;
 
-    private final Map<String, Supplier<String>> readPlaceholders = new HashMap<>();
-    private final Map<String, Consumer<String>> writePlaceholders = new HashMap<>();
-
     public ToDefinition() {
-        readPlaceholders.put("id", this::getId);
-        readPlaceholders.put("uri", this::getUri);
-        writePlaceholders.put("id", this::setId);
-        writePlaceholders.put("uri", this::setUri);
     }
 
     public ToDefinition(String uri) {
@@ -104,41 +91,5 @@ public class ToDefinition extends SendDefinition<ToDefinition> implements Defini
         this.pattern = pattern;
     }
 
-    @Override
-    public Map<String, Supplier<String>> getReadPropertyPlaceholderOptions(final CamelContext camelContext) {
-        if (getOtherAttributes() != null && !getOtherAttributes().isEmpty()) {
-            final Map<String, Supplier<String>> answer = new HashMap<>(readPlaceholders);
-            getOtherAttributes().forEach((k, v) -> {
-                if (Constants.PLACEHOLDER_QNAME.equals(k.getNamespaceURI())) {
-                    if (v instanceof String) {
-                        // enforce a properties component to be created if none existed
-                        camelContext.getPropertiesComponent(true);
-
-                        // value must be enclosed with placeholder tokens
-                        String s = (String) v;
-                        String prefixToken = PropertiesComponent.PREFIX_TOKEN;
-                        String suffixToken = PropertiesComponent.SUFFIX_TOKEN;
-
-                        if (!s.startsWith(prefixToken)) {
-                            s = prefixToken + s;
-                        }
-                        if (!s.endsWith(suffixToken)) {
-                            s = s + suffixToken;
-                        }
-                        final String value = s;
-                        answer.put(k.getLocalPart(), () -> value);
-                    }
-                }
-            });
-            return answer;
-        } else {
-            return readPlaceholders;
-        }
-    }
-
-    @Override
-    public Map<String, Consumer<String>> getWritePropertyPlaceholderOptions(CamelContext camelContext) {
-        return writePlaceholders;
-    }
 }
 
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/language/ExpressionDefinition.java b/core/camel-core/src/main/java/org/apache/camel/model/language/ExpressionDefinition.java
index 66fda0a..4e8fb41 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/language/ExpressionDefinition.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/language/ExpressionDefinition.java
@@ -38,6 +38,7 @@ import org.apache.camel.Expression;
 import org.apache.camel.ExpressionFactory;
 import org.apache.camel.NoSuchLanguageException;
 import org.apache.camel.Predicate;
+import org.apache.camel.model.DefinitionPropertyPlaceholderConfigurable;
 import org.apache.camel.model.OtherAttributesAware;
 import org.apache.camel.spi.Language;
 import org.apache.camel.spi.Metadata;
@@ -55,7 +56,7 @@ import org.apache.camel.util.ObjectHelper;
 @XmlRootElement
 @XmlType(name = "expression") // must be named expression
 @XmlAccessorType(XmlAccessType.FIELD)
-public class ExpressionDefinition implements Expression, Predicate, OtherAttributesAware, ExpressionFactory {
+public class ExpressionDefinition implements Expression, Predicate, OtherAttributesAware, ExpressionFactory, DefinitionPropertyPlaceholderConfigurable {
     @XmlAttribute
     @XmlID
     private String id;


[camel] 11/21: CAMEL-13850: Optimize model classes to provide changeable properties that support property placeholders to avoid reflection. Work in progress.

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

davsclaus pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git

commit e59cf7a415deccc2031343c9fca04fae34a226c9
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Tue Aug 13 08:54:11 2019 +0200

    CAMEL-13850: Optimize model classes to provide changeable properties that support property placeholders to avoid reflection. Work in progress.
---
 .../camel/spi/PropertyPlaceholderConfigurer.java}  | 28 +++++++---------------
 .../apache/camel/model/DataFormatDefinition.java   |  2 +-
 ...> DefinitionPropertyPlaceholderConfigurer.java} |  9 +++----
 .../camel/model/OptionalIdentifiedDefinition.java  |  2 +-
 .../camel/model/ProcessorDefinitionHelper.java     |  7 +++---
 .../camel/model/language/ExpressionDefinition.java |  4 ++--
 .../apt/CoreEipAnnotationProcessorHelper.java      | 16 ++++++-------
 7 files changed, 29 insertions(+), 39 deletions(-)

diff --git a/core/camel-core/src/main/java/org/apache/camel/model/DefinitionPropertyPlaceholderConfigurable.java b/core/camel-api/src/main/java/org/apache/camel/spi/PropertyPlaceholderConfigurer.java
similarity index 51%
copy from core/camel-core/src/main/java/org/apache/camel/model/DefinitionPropertyPlaceholderConfigurable.java
copy to core/camel-api/src/main/java/org/apache/camel/spi/PropertyPlaceholderConfigurer.java
index 1209972..34b7693 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/DefinitionPropertyPlaceholderConfigurable.java
+++ b/core/camel-api/src/main/java/org/apache/camel/spi/PropertyPlaceholderConfigurer.java
@@ -1,51 +1,41 @@
-/*
+/**
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
  * this work for additional information regarding copyright ownership.
  * The ASF licenses this file to You under the Apache License, Version 2.0
  * (the "License"); you may not use this file except in compliance with
  * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
+ * <p>
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * <p>
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.camel.model;
+package org.apache.camel.spi;
 
 import java.util.Map;
 import java.util.function.Consumer;
 import java.util.function.Supplier;
 
 import org.apache.camel.CamelContext;
-import org.apache.camel.model.placeholder.DefinitionPropertiesPlaceholderProviderHelper;
 
-/**
- * To be used for configuring property placeholder options on the EIP models.
- */
-public interface DefinitionPropertyPlaceholderConfigurable {
+public interface PropertyPlaceholderConfigurer {
 
     /**
-     * Gets the options on the model definition which supports property placeholders and can be resolved.
+     * Gets the options which supports property placeholders and can be resolved.
      * This will be all the string based options.
      *
      * @return key/values of options
      */
-    default Map<String, Supplier<String>> getReadPropertyPlaceholderOptions(CamelContext camelContext) {
-        DefinitionPropertyPlaceholderConfigurable aware = DefinitionPropertiesPlaceholderProviderHelper.provider(this).orElse(null);
-        return aware != null ? aware.getReadPropertyPlaceholderOptions(camelContext) : null;
-    }
+    Map<String, Supplier<String>> getReadPropertyPlaceholderOptions(CamelContext camelContext);
 
     /**
      * To update an existing property using the function with the key/value and returning the changed value
      * This will be all the string based options.
      */
-    default Map<String, Consumer<String>> getWritePropertyPlaceholderOptions(CamelContext camelContext) {
-        DefinitionPropertyPlaceholderConfigurable aware = DefinitionPropertiesPlaceholderProviderHelper.provider(this).orElse(null);
-        return aware != null ? aware.getWritePropertyPlaceholderOptions(camelContext) : null;
-    }
+    Map<String, Consumer<String>> getWritePropertyPlaceholderOptions(CamelContext camelContext);
 
 }
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/DataFormatDefinition.java b/core/camel-core/src/main/java/org/apache/camel/model/DataFormatDefinition.java
index f36fb68..6e14717 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/DataFormatDefinition.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/DataFormatDefinition.java
@@ -35,7 +35,7 @@ import org.apache.camel.spi.Metadata;
 @Metadata(label = "dataformat,transformation")
 @XmlType(name = "dataFormat")
 @XmlAccessorType(XmlAccessType.FIELD)
-public class DataFormatDefinition extends IdentifiedType implements OtherAttributesAware, DefinitionPropertyPlaceholderConfigurable {
+public class DataFormatDefinition extends IdentifiedType implements OtherAttributesAware, DefinitionPropertyPlaceholderConfigurer {
     @XmlTransient
     private DataFormat dataFormat;
     @XmlTransient
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/DefinitionPropertyPlaceholderConfigurable.java b/core/camel-core/src/main/java/org/apache/camel/model/DefinitionPropertyPlaceholderConfigurer.java
similarity index 78%
rename from core/camel-core/src/main/java/org/apache/camel/model/DefinitionPropertyPlaceholderConfigurable.java
rename to core/camel-core/src/main/java/org/apache/camel/model/DefinitionPropertyPlaceholderConfigurer.java
index 1209972..65ec401 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/DefinitionPropertyPlaceholderConfigurable.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/DefinitionPropertyPlaceholderConfigurer.java
@@ -22,11 +22,12 @@ import java.util.function.Supplier;
 
 import org.apache.camel.CamelContext;
 import org.apache.camel.model.placeholder.DefinitionPropertiesPlaceholderProviderHelper;
+import org.apache.camel.spi.PropertyPlaceholderConfigurer;
 
 /**
  * To be used for configuring property placeholder options on the EIP models.
  */
-public interface DefinitionPropertyPlaceholderConfigurable {
+public interface DefinitionPropertyPlaceholderConfigurer extends PropertyPlaceholderConfigurer {
 
     /**
      * Gets the options on the model definition which supports property placeholders and can be resolved.
@@ -35,8 +36,8 @@ public interface DefinitionPropertyPlaceholderConfigurable {
      * @return key/values of options
      */
     default Map<String, Supplier<String>> getReadPropertyPlaceholderOptions(CamelContext camelContext) {
-        DefinitionPropertyPlaceholderConfigurable aware = DefinitionPropertiesPlaceholderProviderHelper.provider(this).orElse(null);
-        return aware != null ? aware.getReadPropertyPlaceholderOptions(camelContext) : null;
+        PropertyPlaceholderConfigurer configurer = DefinitionPropertiesPlaceholderProviderHelper.provider(this).orElse(null);
+        return configurer != null ? configurer.getReadPropertyPlaceholderOptions(camelContext) : null;
     }
 
     /**
@@ -44,7 +45,7 @@ public interface DefinitionPropertyPlaceholderConfigurable {
      * This will be all the string based options.
      */
     default Map<String, Consumer<String>> getWritePropertyPlaceholderOptions(CamelContext camelContext) {
-        DefinitionPropertyPlaceholderConfigurable aware = DefinitionPropertiesPlaceholderProviderHelper.provider(this).orElse(null);
+        PropertyPlaceholderConfigurer aware = DefinitionPropertiesPlaceholderProviderHelper.provider(this).orElse(null);
         return aware != null ? aware.getWritePropertyPlaceholderOptions(camelContext) : null;
     }
 
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/OptionalIdentifiedDefinition.java b/core/camel-core/src/main/java/org/apache/camel/model/OptionalIdentifiedDefinition.java
index 9ca6bff..1fb350f 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/OptionalIdentifiedDefinition.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/OptionalIdentifiedDefinition.java
@@ -31,7 +31,7 @@ import org.apache.camel.spi.NodeIdFactory;
 @XmlType(name = "optionalIdentifiedDefinition")
 @XmlAccessorType(XmlAccessType.PROPERTY)
 // must use XmlAccessType.PROPERTY which is required by camel-spring / camel-blueprint for their namespace parsers
-public abstract class OptionalIdentifiedDefinition<T extends OptionalIdentifiedDefinition<T>> implements NamedNode, DefinitionPropertyPlaceholderConfigurable {
+public abstract class OptionalIdentifiedDefinition<T extends OptionalIdentifiedDefinition<T>> implements NamedNode, DefinitionPropertyPlaceholderConfigurer {
 
     private String id;
     private Boolean customId;
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/ProcessorDefinitionHelper.java b/core/camel-core/src/main/java/org/apache/camel/model/ProcessorDefinitionHelper.java
index 69e06b3..947ee37 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/ProcessorDefinitionHelper.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/ProcessorDefinitionHelper.java
@@ -28,7 +28,6 @@ import java.util.concurrent.ExecutorService;
 import java.util.concurrent.ScheduledExecutorService;
 import java.util.function.Consumer;
 import java.util.function.Supplier;
-
 import javax.xml.namespace.QName;
 
 import org.apache.camel.CamelContext;
@@ -37,8 +36,8 @@ import org.apache.camel.NamedNode;
 import org.apache.camel.RuntimeCamelException;
 import org.apache.camel.spi.ExecutorServiceManager;
 import org.apache.camel.spi.PropertiesComponent;
+import org.apache.camel.spi.PropertyPlaceholderConfigurer;
 import org.apache.camel.spi.RouteContext;
-import org.apache.camel.support.IntrospectionSupport;
 import org.apache.camel.support.PropertyBindingSupport;
 import org.apache.camel.util.ObjectHelper;
 import org.apache.camel.util.StringHelper;
@@ -686,11 +685,11 @@ public final class ProcessorDefinitionHelper {
         LOG.trace("Resolving property placeholders for: {}", definition);
 
         // only do this for models that supports property placeholders
-        if (!(definition instanceof DefinitionPropertyPlaceholderConfigurable)) {
+        if (!(definition instanceof PropertyPlaceholderConfigurer)) {
             return;
         }
 
-        DefinitionPropertyPlaceholderConfigurable ppa = (DefinitionPropertyPlaceholderConfigurable) definition;
+        PropertyPlaceholderConfigurer ppa = (PropertyPlaceholderConfigurer) definition;
 
         // find all getter/setter which we can use for property placeholders
         Map<String, String> changedProperties = new HashMap<>();
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/language/ExpressionDefinition.java b/core/camel-core/src/main/java/org/apache/camel/model/language/ExpressionDefinition.java
index 4e8fb41..4f59766f 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/language/ExpressionDefinition.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/language/ExpressionDefinition.java
@@ -38,7 +38,7 @@ import org.apache.camel.Expression;
 import org.apache.camel.ExpressionFactory;
 import org.apache.camel.NoSuchLanguageException;
 import org.apache.camel.Predicate;
-import org.apache.camel.model.DefinitionPropertyPlaceholderConfigurable;
+import org.apache.camel.model.DefinitionPropertyPlaceholderConfigurer;
 import org.apache.camel.model.OtherAttributesAware;
 import org.apache.camel.spi.Language;
 import org.apache.camel.spi.Metadata;
@@ -56,7 +56,7 @@ import org.apache.camel.util.ObjectHelper;
 @XmlRootElement
 @XmlType(name = "expression") // must be named expression
 @XmlAccessorType(XmlAccessType.FIELD)
-public class ExpressionDefinition implements Expression, Predicate, OtherAttributesAware, ExpressionFactory, DefinitionPropertyPlaceholderConfigurable {
+public class ExpressionDefinition implements Expression, Predicate, OtherAttributesAware, ExpressionFactory, DefinitionPropertyPlaceholderConfigurer {
     @XmlAttribute
     @XmlID
     private String id;
diff --git a/tooling/apt/src/main/java/org/apache/camel/tools/apt/CoreEipAnnotationProcessorHelper.java b/tooling/apt/src/main/java/org/apache/camel/tools/apt/CoreEipAnnotationProcessorHelper.java
index 6b49614..93f57a0 100644
--- a/tooling/apt/src/main/java/org/apache/camel/tools/apt/CoreEipAnnotationProcessorHelper.java
+++ b/tooling/apt/src/main/java/org/apache/camel/tools/apt/CoreEipAnnotationProcessorHelper.java
@@ -176,7 +176,7 @@ public class CoreEipAnnotationProcessorHelper {
             return;
         }
 
-        TypeElement parent = findTypeElement(processingEnv, roundEnv, "org.apache.camel.model.DefinitionPropertyPlaceholderConfigurable");
+        TypeElement parent = findTypeElement(processingEnv, roundEnv, "org.apache.camel.spi.PropertyPlaceholderConfigurer");
         String def = classElement.getSimpleName().toString();
         String fqnDef = classElement.getQualifiedName().toString();
         String cn = def + "PropertyPlaceholderProvider";
@@ -220,9 +220,9 @@ public class CoreEipAnnotationProcessorHelper {
             w.write("\n");
             w.write("import org.apache.camel.CamelContext;\n");
             w.write("import " + fqnDef + ";\n");
-            w.write("import org.apache.camel.model.DefinitionPropertyPlaceholderConfigurable;\n");
+            w.write("import org.apache.camel.spi.PropertyPlaceholderConfigurer;\n");
             w.write("\n");
-            w.write("public class " + cn + " implements DefinitionPropertyPlaceholderConfigurable {\n");
+            w.write("public class " + cn + " implements PropertyPlaceholderConfigurer {\n");
             w.write("\n");
             w.write("    private final Map<String, Supplier<String>> readPlaceholders = new HashMap<>();\n");
             w.write("    private final Map<String, Consumer<String>> writePlaceholders = new HashMap<>();\n");
@@ -330,16 +330,16 @@ public class CoreEipAnnotationProcessorHelper {
             w.write("import java.util.function.Function;\n");
             w.write("import java.util.function.Supplier;\n");
             w.write("\n");
-            w.write("import org.apache.camel.model.DefinitionPropertyPlaceholderConfigurable;\n");
+            w.write("import org.apache.camel.spi.PropertyPlaceholderConfigurer;\n");
             for (String def : propertyPlaceholderDefinitions) {
                 w.write("import " + def + ";\n");
             }
             w.write("\n");
             w.write("public class DefinitionPropertiesPlaceholderProviderHelper {\n");
             w.write("\n");
-            w.write("    private static final Map<Class, Function<Object, DefinitionPropertyPlaceholderConfigurable>> MAP;\n");
+            w.write("    private static final Map<Class, Function<Object, PropertyPlaceholderConfigurer>> MAP;\n");
             w.write("    static {\n");
-            w.write("        Map<Class, Function<Object, DefinitionPropertyPlaceholderConfigurable>> map = new HashMap<>(" + propertyPlaceholderDefinitions.size() + ");\n");
+            w.write("        Map<Class, Function<Object, PropertyPlaceholderConfigurer>> map = new HashMap<>(" + propertyPlaceholderDefinitions.size() + ");\n");
             for (String def : propertyPlaceholderDefinitions) {
                 String cn = def.substring(def.lastIndexOf('.') + 1);
                 w.write("        map.put(" + cn + ".class, " + cn + "PropertyPlaceholderProvider::new);\n");
@@ -347,8 +347,8 @@ public class CoreEipAnnotationProcessorHelper {
             w.write("        MAP = map;\n");
             w.write("    }\n");
             w.write("\n");
-            w.write("    public static Optional<DefinitionPropertyPlaceholderConfigurable> provider(Object definition) {\n");
-            w.write("        Function<Object, DefinitionPropertyPlaceholderConfigurable> func = MAP.get(definition.getClass());\n");
+            w.write("    public static Optional<PropertyPlaceholderConfigurer> provider(Object definition) {\n");
+            w.write("        Function<Object, PropertyPlaceholderConfigurer> func = MAP.get(definition.getClass());\n");
             w.write("        if (func != null) {\n");
             w.write("            return Optional.of(func.apply(definition));\n");
             w.write("        }\n");


[camel] 19/21: CAMEL-13863: camel3 - Optimize XmlConverterLoader and other loaders as synchronization is not needed as the loader is invoked during bootstrapping.

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

davsclaus pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git

commit 4bf7fda13e757d23b96ca94e4b91f6617ba42f40
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Tue Aug 13 22:45:39 2019 +0200

    CAMEL-13863: camel3 - Optimize XmlConverterLoader and other loaders as synchronization is not needed as the loader is invoked during bootstrapping.
---
 .../src/main/java/org/apache/camel/support/SimpleTypeConverter.java | 1 +
 .../org/apache/camel/tools/apt/AbstractTypeConverterGenerator.java  | 6 +-----
 2 files changed, 2 insertions(+), 5 deletions(-)

diff --git a/core/camel-support/src/main/java/org/apache/camel/support/SimpleTypeConverter.java b/core/camel-support/src/main/java/org/apache/camel/support/SimpleTypeConverter.java
index b529573..4d60c86 100644
--- a/core/camel-support/src/main/java/org/apache/camel/support/SimpleTypeConverter.java
+++ b/core/camel-support/src/main/java/org/apache/camel/support/SimpleTypeConverter.java
@@ -29,6 +29,7 @@ import org.apache.camel.TypeConverter;
  */
 public class SimpleTypeConverter implements TypeConverter {
 
+    @FunctionalInterface
     public interface ConversionMethod {
         Object doConvert(Class<?> type, Exchange exchange, Object value) throws Exception;
     }
diff --git a/tooling/apt/src/main/java/org/apache/camel/tools/apt/AbstractTypeConverterGenerator.java b/tooling/apt/src/main/java/org/apache/camel/tools/apt/AbstractTypeConverterGenerator.java
index 577cc6f..f24e39c 100644
--- a/tooling/apt/src/main/java/org/apache/camel/tools/apt/AbstractTypeConverterGenerator.java
+++ b/tooling/apt/src/main/java/org/apache/camel/tools/apt/AbstractTypeConverterGenerator.java
@@ -296,11 +296,7 @@ public abstract class AbstractTypeConverterGenerator extends AbstractCamelAnnota
                 writer.append("    private volatile ").append(f).append(" ").append(v).append(";\n");
                 writer.append("    private ").append(f).append(" get").append(s).append("() {\n");
                 writer.append("        if (").append(v).append(" == null) {\n");
-                writer.append("            synchronized (this) {\n");
-                writer.append("                if (").append(v).append(" == null) {\n");
-                writer.append("                    ").append(v).append(" = new ").append(f).append("();\n");
-                writer.append("                }\n");
-                writer.append("            }\n");
+                writer.append("            ").append(v).append(" = new ").append(f).append("();\n");
                 writer.append("        }\n");
                 writer.append("        return ").append(v).append(";\n");
                 writer.append("    }\n");


[camel] 20/21: CAMEL-13863: Regen

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

davsclaus pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git

commit ed97387736b7e8287e2e0e6d61a73b5809618b2a
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Wed Aug 14 09:09:59 2019 +0200

    CAMEL-13863: Regen
---
 .../camel-jms/src/main/docs/jms-component.adoc     |  6 +--
 .../src/main/docs/properties-component.adoc        |  6 +--
 .../src/main/docs/pulsar-component.adoc            |  8 ++--
 .../modules/ROOT/pages/jms-component.adoc          |  6 +--
 .../modules/ROOT/pages/properties-component.adoc   |  6 +--
 .../modules/ROOT/pages/pulsar-component.adoc       |  8 ++--
 .../PropertiesComponentConfiguration.java          | 15 ------
 .../springboot/PulsarComponentConfiguration.java   | 15 ------
 .../camel-spring-boot-dependencies/pom.xml         | 56 +++++++++++-----------
 9 files changed, 44 insertions(+), 82 deletions(-)

diff --git a/components/camel-jms/src/main/docs/jms-component.adoc b/components/camel-jms/src/main/docs/jms-component.adoc
index 3e1b79a..83151ae 100644
--- a/components/camel-jms/src/main/docs/jms-component.adoc
+++ b/components/camel-jms/src/main/docs/jms-component.adoc
@@ -192,7 +192,7 @@ about these properties by consulting the relevant Spring documentation.
 
 
 // component options: START
-The JMS component supports 80 options, which are listed below.
+The JMS component supports 79 options, which are listed below.
 
 
 
@@ -277,7 +277,6 @@ The JMS component supports 80 options, which are listed below.
 | *streamMessageType Enabled* (producer) | 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 n [...]
 | *formatDateHeadersTo Iso8601* (producer) | Sets whether date headers should be formatted according to the ISO 8601 standard. | false | boolean
 | *headerFilterStrategy* (filter) | To use a custom org.apache.camel.spi.HeaderFilterStrategy to filter header to and from Camel message. |  | HeaderFilterStrategy
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -436,7 +435,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 170 options, which are listed below.
+The component supports 169 options, which are listed below.
 
 
 
@@ -595,7 +594,6 @@ The component supports 170 options, which are listed below.
 | *camel.component.jms.reply-to-type* | 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  [...]
 | *camel.component.jms.request-timeout* | 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. | 20000 | Long
 | *camel.component.jms.request-timeout-checker-interval* | 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. | 1000 | Long
-| *camel.component.jms.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 | *camel.component.jms.stream-message-type-enabled* | 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 StreamMess [...]
 | *camel.component.jms.subscription-durable* | 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 p [...]
 | *camel.component.jms.subscription-name* | 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 id. Default is the class name of the specified message listener. Note: Only 1 concurrent consumer (which is the default of this message listener container) is allowed for each subscription, except for a shared subscription (which requires JMS 2 [...]
diff --git a/components/camel-properties/src/main/docs/properties-component.adoc b/components/camel-properties/src/main/docs/properties-component.adoc
index df6a525..c561158 100644
--- a/components/camel-properties/src/main/docs/properties-component.adoc
+++ b/components/camel-properties/src/main/docs/properties-component.adoc
@@ -15,7 +15,7 @@ Where *key* is the key for the property to lookup
 == Options
 
 // component options: START
-The Properties component supports 13 options, which are listed below.
+The Properties component supports 12 options, which are listed below.
 
 
 
@@ -33,7 +33,6 @@ The Properties component supports 13 options, which are listed below.
 | *systemPropertiesMode* (common) | Sets the JVM system property mode (0 = never, 1 = fallback, 2 = override). The default mode (override) is to use system properties if present, and override any existing properties. OS environment variable mode is checked before JVM system property mode | 2 | int
 | *environmentVariableMode* (common) | Sets the OS environment variables mode (0 = never, 1 = fallback, 2 = override). The default mode (override) is to use OS environment variables if present, and override any existing properties. OS environment variable mode is checked before JVM system property mode | 2 | int
 | *autoDiscoverProperties Sources* (common) | Whether to automatically discovery instances of PropertiesSource from registry and service factory. | true | boolean
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -89,7 +88,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 14 options, which are listed below.
+The component supports 13 options, which are listed below.
 
 
 
@@ -108,7 +107,6 @@ The component supports 14 options, which are listed below.
 | *camel.component.properties.locations* | A list of locations to load properties. This option will override any default locations and only use the locations from this option. |  | List
 | *camel.component.properties.override-properties* | Sets a special list of override properties that take precedence and will use first, if a property exist. The option is a java.util.Properties type. |  | String
 | *camel.component.properties.properties-parser* | To use a custom PropertiesParser. The option is a org.apache.camel.component.properties.PropertiesParser type. |  | String
-| *camel.component.properties.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 | *camel.component.properties.system-properties-mode* | Sets the JVM system property mode (0 = never, 1 = fallback, 2 = override). The default mode (override) is to use system properties if present, and override any existing properties. OS environment variable mode is checked before JVM system property mode | 2 | Integer
 |===
 // spring-boot-auto-configure options: END
diff --git a/components/camel-pulsar/src/main/docs/pulsar-component.adoc b/components/camel-pulsar/src/main/docs/pulsar-component.adoc
index f157413..89141bb 100644
--- a/components/camel-pulsar/src/main/docs/pulsar-component.adoc
+++ b/components/camel-pulsar/src/main/docs/pulsar-component.adoc
@@ -28,7 +28,7 @@ pulsar:[persistent|non-persistent]://tenant/namespace/topic
 
 
 // component options: START
-The Apache Pulsar component supports 6 options, which are listed below.
+The Apache Pulsar component supports 5 options, which are listed below.
 
 
 
@@ -39,7 +39,6 @@ The Apache Pulsar component supports 6 options, which are listed below.
 | *pulsarClient* (advanced) | The pulsar client |  | PulsarClient
 | *allowManual Acknowledgement* (consumer) | Whether to allow manual message acknowledgements. If this option is enabled, then messages are not immediately acknowledged after being consumed. Instead, an instance of PulsarMessageReceipt is stored as a header on the org.apache.camel.Exchange. Messages can then be acknowledged using PulsarMessageReceipt at any time before the ackTimeout occurs. | false | boolean
 | *pulsarMessageReceipt Factory* (consumer) | Provide a factory to create an alternate implementation of PulsarMessageReceipt. |  | PulsarMessageReceipt Factory
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -111,17 +110,18 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 5 options, which are listed below.
+The component supports 6 options, which are listed below.
 
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
 |===
 | Name | Description | Default | Type
+| *camel.component.pulsar.allow-manual-acknowledgement* | Whether to allow manual message acknowledgements. If this option is enabled, then messages are not immediately acknowledged after being consumed. Instead, an instance of PulsarMessageReceipt is stored as a header on the org.apache.camel.Exchange. Messages can then be acknowledged using PulsarMessageReceipt at any time before the ackTimeout occurs. | false | Boolean
 | *camel.component.pulsar.auto-configuration* | The pulsar auto configuration. The option is a org.apache.camel.component.pulsar.utils.AutoConfiguration type. |  | String
 | *camel.component.pulsar.basic-property-binding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | Boolean
 | *camel.component.pulsar.enabled* | Whether to enable auto configuration of the pulsar component. This is enabled by default. |  | Boolean
 | *camel.component.pulsar.pulsar-client* | The pulsar client. The option is a org.apache.pulsar.client.api.PulsarClient type. |  | String
-| *camel.component.pulsar.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
+| *camel.component.pulsar.pulsar-message-receipt-factory* | Provide a factory to create an alternate implementation of PulsarMessageReceipt. The option is a org.apache.camel.component.pulsar.PulsarMessageReceiptFactory type. |  | String
 |===
 // spring-boot-auto-configure options: END
diff --git a/docs/components/modules/ROOT/pages/jms-component.adoc b/docs/components/modules/ROOT/pages/jms-component.adoc
index 3e1b79a..83151ae 100644
--- a/docs/components/modules/ROOT/pages/jms-component.adoc
+++ b/docs/components/modules/ROOT/pages/jms-component.adoc
@@ -192,7 +192,7 @@ about these properties by consulting the relevant Spring documentation.
 
 
 // component options: START
-The JMS component supports 80 options, which are listed below.
+The JMS component supports 79 options, which are listed below.
 
 
 
@@ -277,7 +277,6 @@ The JMS component supports 80 options, which are listed below.
 | *streamMessageType Enabled* (producer) | 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 n [...]
 | *formatDateHeadersTo Iso8601* (producer) | Sets whether date headers should be formatted according to the ISO 8601 standard. | false | boolean
 | *headerFilterStrategy* (filter) | To use a custom org.apache.camel.spi.HeaderFilterStrategy to filter header to and from Camel message. |  | HeaderFilterStrategy
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -436,7 +435,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 170 options, which are listed below.
+The component supports 169 options, which are listed below.
 
 
 
@@ -595,7 +594,6 @@ The component supports 170 options, which are listed below.
 | *camel.component.jms.reply-to-type* | 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  [...]
 | *camel.component.jms.request-timeout* | 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. | 20000 | Long
 | *camel.component.jms.request-timeout-checker-interval* | 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. | 1000 | Long
-| *camel.component.jms.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 | *camel.component.jms.stream-message-type-enabled* | 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 StreamMess [...]
 | *camel.component.jms.subscription-durable* | 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 p [...]
 | *camel.component.jms.subscription-name* | 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 id. Default is the class name of the specified message listener. Note: Only 1 concurrent consumer (which is the default of this message listener container) is allowed for each subscription, except for a shared subscription (which requires JMS 2 [...]
diff --git a/docs/components/modules/ROOT/pages/properties-component.adoc b/docs/components/modules/ROOT/pages/properties-component.adoc
index df6a525..c561158 100644
--- a/docs/components/modules/ROOT/pages/properties-component.adoc
+++ b/docs/components/modules/ROOT/pages/properties-component.adoc
@@ -15,7 +15,7 @@ Where *key* is the key for the property to lookup
 == Options
 
 // component options: START
-The Properties component supports 13 options, which are listed below.
+The Properties component supports 12 options, which are listed below.
 
 
 
@@ -33,7 +33,6 @@ The Properties component supports 13 options, which are listed below.
 | *systemPropertiesMode* (common) | Sets the JVM system property mode (0 = never, 1 = fallback, 2 = override). The default mode (override) is to use system properties if present, and override any existing properties. OS environment variable mode is checked before JVM system property mode | 2 | int
 | *environmentVariableMode* (common) | Sets the OS environment variables mode (0 = never, 1 = fallback, 2 = override). The default mode (override) is to use OS environment variables if present, and override any existing properties. OS environment variable mode is checked before JVM system property mode | 2 | int
 | *autoDiscoverProperties Sources* (common) | Whether to automatically discovery instances of PropertiesSource from registry and service factory. | true | boolean
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -89,7 +88,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 14 options, which are listed below.
+The component supports 13 options, which are listed below.
 
 
 
@@ -108,7 +107,6 @@ The component supports 14 options, which are listed below.
 | *camel.component.properties.locations* | A list of locations to load properties. This option will override any default locations and only use the locations from this option. |  | List
 | *camel.component.properties.override-properties* | Sets a special list of override properties that take precedence and will use first, if a property exist. The option is a java.util.Properties type. |  | String
 | *camel.component.properties.properties-parser* | To use a custom PropertiesParser. The option is a org.apache.camel.component.properties.PropertiesParser type. |  | String
-| *camel.component.properties.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 | *camel.component.properties.system-properties-mode* | Sets the JVM system property mode (0 = never, 1 = fallback, 2 = override). The default mode (override) is to use system properties if present, and override any existing properties. OS environment variable mode is checked before JVM system property mode | 2 | Integer
 |===
 // spring-boot-auto-configure options: END
diff --git a/docs/components/modules/ROOT/pages/pulsar-component.adoc b/docs/components/modules/ROOT/pages/pulsar-component.adoc
index f157413..89141bb 100644
--- a/docs/components/modules/ROOT/pages/pulsar-component.adoc
+++ b/docs/components/modules/ROOT/pages/pulsar-component.adoc
@@ -28,7 +28,7 @@ pulsar:[persistent|non-persistent]://tenant/namespace/topic
 
 
 // component options: START
-The Apache Pulsar component supports 6 options, which are listed below.
+The Apache Pulsar component supports 5 options, which are listed below.
 
 
 
@@ -39,7 +39,6 @@ The Apache Pulsar component supports 6 options, which are listed below.
 | *pulsarClient* (advanced) | The pulsar client |  | PulsarClient
 | *allowManual Acknowledgement* (consumer) | Whether to allow manual message acknowledgements. If this option is enabled, then messages are not immediately acknowledged after being consumed. Instead, an instance of PulsarMessageReceipt is stored as a header on the org.apache.camel.Exchange. Messages can then be acknowledged using PulsarMessageReceipt at any time before the ackTimeout occurs. | false | boolean
 | *pulsarMessageReceipt Factory* (consumer) | Provide a factory to create an alternate implementation of PulsarMessageReceipt. |  | PulsarMessageReceipt Factory
-| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
 // component options: END
@@ -111,17 +110,18 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 5 options, which are listed below.
+The component supports 6 options, which are listed below.
 
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
 |===
 | Name | Description | Default | Type
+| *camel.component.pulsar.allow-manual-acknowledgement* | Whether to allow manual message acknowledgements. If this option is enabled, then messages are not immediately acknowledged after being consumed. Instead, an instance of PulsarMessageReceipt is stored as a header on the org.apache.camel.Exchange. Messages can then be acknowledged using PulsarMessageReceipt at any time before the ackTimeout occurs. | false | Boolean
 | *camel.component.pulsar.auto-configuration* | The pulsar auto configuration. The option is a org.apache.camel.component.pulsar.utils.AutoConfiguration type. |  | String
 | *camel.component.pulsar.basic-property-binding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | Boolean
 | *camel.component.pulsar.enabled* | Whether to enable auto configuration of the pulsar component. This is enabled by default. |  | Boolean
 | *camel.component.pulsar.pulsar-client* | The pulsar client. The option is a org.apache.pulsar.client.api.PulsarClient type. |  | String
-| *camel.component.pulsar.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
+| *camel.component.pulsar.pulsar-message-receipt-factory* | Provide a factory to create an alternate implementation of PulsarMessageReceipt. The option is a org.apache.camel.component.pulsar.PulsarMessageReceiptFactory type. |  | String
 |===
 // spring-boot-auto-configure options: END
diff --git a/platforms/spring-boot/components-starter/camel-properties-starter/src/main/java/org/apache/camel/component/properties/springboot/PropertiesComponentConfiguration.java b/platforms/spring-boot/components-starter/camel-properties-starter/src/main/java/org/apache/camel/component/properties/springboot/PropertiesComponentConfiguration.java
index 2218e81..5a0d072 100644
--- a/platforms/spring-boot/components-starter/camel-properties-starter/src/main/java/org/apache/camel/component/properties/springboot/PropertiesComponentConfiguration.java
+++ b/platforms/spring-boot/components-starter/camel-properties-starter/src/main/java/org/apache/camel/component/properties/springboot/PropertiesComponentConfiguration.java
@@ -103,12 +103,6 @@ public class PropertiesComponentConfiguration
      */
     private Boolean autoDiscoverPropertiesSources = true;
     /**
-     * Whether the component should resolve property placeholders on itself when
-     * starting. Only properties which are of String type can use property
-     * placeholders.
-     */
-    private Boolean resolvePropertyPlaceholders = true;
-    /**
      * Whether the component should use basic property binding (Camel 2.x) or
      * the newer property binding with additional capabilities
      */
@@ -203,15 +197,6 @@ public class PropertiesComponentConfiguration
         this.autoDiscoverPropertiesSources = autoDiscoverPropertiesSources;
     }
 
-    public Boolean getResolvePropertyPlaceholders() {
-        return resolvePropertyPlaceholders;
-    }
-
-    public void setResolvePropertyPlaceholders(
-            Boolean resolvePropertyPlaceholders) {
-        this.resolvePropertyPlaceholders = resolvePropertyPlaceholders;
-    }
-
     public Boolean getBasicPropertyBinding() {
         return basicPropertyBinding;
     }
diff --git a/platforms/spring-boot/components-starter/camel-pulsar-starter/src/main/java/org/apache/camel/component/pulsar/springboot/PulsarComponentConfiguration.java b/platforms/spring-boot/components-starter/camel-pulsar-starter/src/main/java/org/apache/camel/component/pulsar/springboot/PulsarComponentConfiguration.java
index c34dc8d..1b87018 100644
--- a/platforms/spring-boot/components-starter/camel-pulsar-starter/src/main/java/org/apache/camel/component/pulsar/springboot/PulsarComponentConfiguration.java
+++ b/platforms/spring-boot/components-starter/camel-pulsar-starter/src/main/java/org/apache/camel/component/pulsar/springboot/PulsarComponentConfiguration.java
@@ -62,12 +62,6 @@ public class PulsarComponentConfiguration
      */
     private String pulsarMessageReceiptFactory;
     /**
-     * Whether the component should resolve property placeholders on itself when
-     * starting. Only properties which are of String type can use property
-     * placeholders.
-     */
-    private Boolean resolvePropertyPlaceholders = true;
-    /**
      * Whether the component should use basic property binding (Camel 2.x) or
      * the newer property binding with additional capabilities
      */
@@ -106,15 +100,6 @@ public class PulsarComponentConfiguration
         this.pulsarMessageReceiptFactory = pulsarMessageReceiptFactory;
     }
 
-    public Boolean getResolvePropertyPlaceholders() {
-        return resolvePropertyPlaceholders;
-    }
-
-    public void setResolvePropertyPlaceholders(
-            Boolean resolvePropertyPlaceholders) {
-        this.resolvePropertyPlaceholders = resolvePropertyPlaceholders;
-    }
-
     public Boolean getBasicPropertyBinding() {
         return basicPropertyBinding;
     }
diff --git a/platforms/spring-boot/spring-boot-dm/camel-spring-boot-dependencies/pom.xml b/platforms/spring-boot/spring-boot-dm/camel-spring-boot-dependencies/pom.xml
index 58e757a..817ff3e 100644
--- a/platforms/spring-boot/spring-boot-dm/camel-spring-boot-dependencies/pom.xml
+++ b/platforms/spring-boot/spring-boot-dm/camel-spring-boot-dependencies/pom.xml
@@ -3451,142 +3451,142 @@
       <dependency>
         <groupId>org.apache.cxf.services.sts</groupId>
         <artifactId>cxf-services-sts-core</artifactId>
-        <version>3.3.2</version>
+        <version>3.3.3</version>
       </dependency>
       <dependency>
         <groupId>org.apache.cxf.services.ws-discovery</groupId>
         <artifactId>cxf-services-ws-discovery-api</artifactId>
-        <version>3.3.2</version>
+        <version>3.3.3</version>
       </dependency>
       <dependency>
         <groupId>org.apache.cxf</groupId>
         <artifactId>cxf-core</artifactId>
-        <version>3.3.2</version>
+        <version>3.3.3</version>
       </dependency>
       <dependency>
         <groupId>org.apache.cxf</groupId>
         <artifactId>cxf-rt-bindings-soap</artifactId>
-        <version>3.3.2</version>
+        <version>3.3.3</version>
       </dependency>
       <dependency>
         <groupId>org.apache.cxf</groupId>
         <artifactId>cxf-rt-bindings-xml</artifactId>
-        <version>3.3.2</version>
+        <version>3.3.3</version>
       </dependency>
       <dependency>
         <groupId>org.apache.cxf</groupId>
         <artifactId>cxf-rt-databinding-jaxb</artifactId>
-        <version>3.3.2</version>
+        <version>3.3.3</version>
       </dependency>
       <dependency>
         <groupId>org.apache.cxf</groupId>
         <artifactId>cxf-rt-features-clustering</artifactId>
-        <version>3.3.2</version>
+        <version>3.3.3</version>
       </dependency>
       <dependency>
         <groupId>org.apache.cxf</groupId>
         <artifactId>cxf-rt-features-logging</artifactId>
-        <version>3.3.2</version>
+        <version>3.3.3</version>
       </dependency>
       <dependency>
         <groupId>org.apache.cxf</groupId>
         <artifactId>cxf-rt-frontend-jaxrs</artifactId>
-        <version>3.3.2</version>
+        <version>3.3.3</version>
       </dependency>
       <dependency>
         <groupId>org.apache.cxf</groupId>
         <artifactId>cxf-rt-frontend-jaxws</artifactId>
-        <version>3.3.2</version>
+        <version>3.3.3</version>
       </dependency>
       <dependency>
         <groupId>org.apache.cxf</groupId>
         <artifactId>cxf-rt-frontend-simple</artifactId>
-        <version>3.3.2</version>
+        <version>3.3.3</version>
       </dependency>
       <dependency>
         <groupId>org.apache.cxf</groupId>
         <artifactId>cxf-rt-management</artifactId>
-        <version>3.3.2</version>
+        <version>3.3.3</version>
       </dependency>
       <dependency>
         <groupId>org.apache.cxf</groupId>
         <artifactId>cxf-rt-rs-client</artifactId>
-        <version>3.3.2</version>
+        <version>3.3.3</version>
       </dependency>
       <dependency>
         <groupId>org.apache.cxf</groupId>
         <artifactId>cxf-rt-rs-extension-providers</artifactId>
-        <version>3.3.2</version>
+        <version>3.3.3</version>
       </dependency>
       <dependency>
         <groupId>org.apache.cxf</groupId>
         <artifactId>cxf-rt-rs-security-oauth2</artifactId>
-        <version>3.3.2</version>
+        <version>3.3.3</version>
       </dependency>
       <dependency>
         <groupId>org.apache.cxf</groupId>
         <artifactId>cxf-rt-rs-service-description-swagger</artifactId>
-        <version>3.3.2</version>
+        <version>3.3.3</version>
       </dependency>
       <dependency>
         <groupId>org.apache.cxf</groupId>
         <artifactId>cxf-rt-transports-http</artifactId>
-        <version>3.3.2</version>
+        <version>3.3.3</version>
       </dependency>
       <dependency>
         <groupId>org.apache.cxf</groupId>
         <artifactId>cxf-rt-transports-http-jetty</artifactId>
-        <version>3.3.2</version>
+        <version>3.3.3</version>
       </dependency>
       <dependency>
         <groupId>org.apache.cxf</groupId>
         <artifactId>cxf-rt-transports-jms</artifactId>
-        <version>3.3.2</version>
+        <version>3.3.3</version>
       </dependency>
       <dependency>
         <groupId>org.apache.cxf</groupId>
         <artifactId>cxf-rt-transports-local</artifactId>
-        <version>3.3.2</version>
+        <version>3.3.3</version>
       </dependency>
       <dependency>
         <groupId>org.apache.cxf</groupId>
         <artifactId>cxf-rt-ws-addr</artifactId>
-        <version>3.3.2</version>
+        <version>3.3.3</version>
       </dependency>
       <dependency>
         <groupId>org.apache.cxf</groupId>
         <artifactId>cxf-rt-ws-mex</artifactId>
-        <version>3.3.2</version>
+        <version>3.3.3</version>
       </dependency>
       <dependency>
         <groupId>org.apache.cxf</groupId>
         <artifactId>cxf-rt-ws-policy</artifactId>
-        <version>3.3.2</version>
+        <version>3.3.3</version>
       </dependency>
       <dependency>
         <groupId>org.apache.cxf</groupId>
         <artifactId>cxf-rt-ws-rm</artifactId>
-        <version>3.3.2</version>
+        <version>3.3.3</version>
       </dependency>
       <dependency>
         <groupId>org.apache.cxf</groupId>
         <artifactId>cxf-rt-ws-security</artifactId>
-        <version>3.3.2</version>
+        <version>3.3.3</version>
       </dependency>
       <dependency>
         <groupId>org.apache.cxf</groupId>
         <artifactId>cxf-rt-ws-security-oauth2</artifactId>
-        <version>3.3.2</version>
+        <version>3.3.3</version>
       </dependency>
       <dependency>
         <groupId>org.apache.cxf</groupId>
         <artifactId>cxf-rt-wsdl</artifactId>
-        <version>3.3.2</version>
+        <version>3.3.3</version>
       </dependency>
       <dependency>
         <groupId>org.apache.cxf</groupId>
         <artifactId>cxf-testutils</artifactId>
-        <version>3.3.2</version>
+        <version>3.3.3</version>
       </dependency>
       <dependency>
         <groupId>org.apache.ftpserver</groupId>


[camel] 06/21: CAMEL-13850: Optimize model classes to provide changeable properties that support property placeholders to avoid reflection. Work in progress.

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

davsclaus pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git

commit c947278c884a64119de17c0e4885766c9d7f12db
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Tue Aug 13 06:03:50 2019 +0200

    CAMEL-13850: Optimize model classes to provide changeable properties that support property placeholders to avoid reflection. Work in progress.
---
 .../DefinitionPropertyPlaceholderConfigurable.java |  2 +
 .../camel/model/ProcessorDefinitionHelper.java     | 62 ++++++++++++++++++++++
 .../OptionalPropertiesDslInvalidSyntaxTest.java    |  7 ++-
 3 files changed, 69 insertions(+), 2 deletions(-)

diff --git a/core/camel-core/src/main/java/org/apache/camel/model/DefinitionPropertyPlaceholderConfigurable.java b/core/camel-core/src/main/java/org/apache/camel/model/DefinitionPropertyPlaceholderConfigurable.java
index 8d5758c..16520e3 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/DefinitionPropertyPlaceholderConfigurable.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/DefinitionPropertyPlaceholderConfigurable.java
@@ -16,12 +16,14 @@
  */
 package org.apache.camel.model;
 
+import java.util.HashMap;
 import java.util.Map;
 import java.util.function.Consumer;
 import java.util.function.Supplier;
 
 import org.apache.camel.CamelContext;
 import org.apache.camel.model.placeholder.DefinitionPropertiesPlaceholderProviderHelper;
+import org.apache.camel.spi.PropertiesComponent;
 
 /**
  * To be used for configuring property placeholder options on the EIP models.
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/ProcessorDefinitionHelper.java b/core/camel-core/src/main/java/org/apache/camel/model/ProcessorDefinitionHelper.java
index 169dc3d..439ffbe 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/ProcessorDefinitionHelper.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/ProcessorDefinitionHelper.java
@@ -29,10 +29,16 @@ import java.util.concurrent.ScheduledExecutorService;
 import java.util.function.Consumer;
 import java.util.function.Supplier;
 
+import javax.xml.namespace.QName;
+
 import org.apache.camel.CamelContext;
 import org.apache.camel.NamedNode;
+import org.apache.camel.RuntimeCamelException;
 import org.apache.camel.spi.ExecutorServiceManager;
+import org.apache.camel.spi.PropertiesComponent;
 import org.apache.camel.spi.RouteContext;
+import org.apache.camel.support.IntrospectionSupport;
+import org.apache.camel.support.PropertyBindingSupport;
 import org.apache.camel.util.ObjectHelper;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -670,6 +676,7 @@ public final class ProcessorDefinitionHelper {
      * @see org.apache.camel.CamelContext#resolvePropertyPlaceholders(String)
      * @see org.apache.camel.component.properties.PropertiesComponent
      */
+    @SuppressWarnings("unchecked")
     public static void resolvePropertyPlaceholders(CamelContext camelContext, Object definition) throws Exception {
         LOG.trace("Resolving property placeholders for: {}", definition);
 
@@ -685,6 +692,61 @@ public final class ProcessorDefinitionHelper {
         Map<String, Supplier<String>> readProperties = ppa.getReadPropertyPlaceholderOptions(camelContext);
         Map<String, Consumer<String>> writeProperties = ppa.getWritePropertyPlaceholderOptions(camelContext);
 
+        // processor's may have additional placeholder properties (can typically be used by the XML DSL to
+        // allow to configure using placeholders for properties that are not xs:string types)
+        if (definition instanceof ProcessorDefinition) {
+            ProcessorDefinition pd = (ProcessorDefinition) definition;
+
+            if (pd.getOtherAttributes() != null && !pd.getOtherAttributes().isEmpty()) {
+                Map<String, Supplier<String>> extraRead = new HashMap<>();
+                if (readProperties != null && !readProperties.isEmpty()) {
+                    extraRead.putAll(readProperties);
+                }
+                Map<String, Consumer<String>> extraWrite = new HashMap<>();
+                if (writeProperties != null && !writeProperties.isEmpty()) {
+                    extraWrite.putAll(writeProperties);
+                }
+
+                Map<QName, Object> other = pd.getOtherAttributes();
+                other.forEach((k, v) -> {
+                    if (Constants.PLACEHOLDER_QNAME.equals(k.getNamespaceURI())) {
+                        if (v instanceof String) {
+                            // enforce a properties component to be created if none existed
+                            camelContext.getPropertiesComponent(true);
+
+                            // value must be enclosed with placeholder tokens
+                            String s = (String) v;
+                            String prefixToken = PropertiesComponent.PREFIX_TOKEN;
+                            String suffixToken = PropertiesComponent.SUFFIX_TOKEN;
+
+                            if (!s.startsWith(prefixToken)) {
+                                s = prefixToken + s;
+                            }
+                            if (!s.endsWith(suffixToken)) {
+                                s = s + suffixToken;
+                            }
+                            final String value = s;
+                            extraRead.put(k.getLocalPart(), () -> value);
+                            extraWrite.put(k.getLocalPart(), text -> {
+                                try {
+                                    PropertyBindingSupport.build()
+                                            .withCamelContext(camelContext)
+                                            .withTarget(definition)
+                                            .withMandatory(true)
+                                            .withProperty(k.getLocalPart(), text)
+                                            .bind();
+                                } catch (Exception e) {
+                                    throw RuntimeCamelException.wrapRuntimeException(e);
+                                }
+                            });
+                        }
+                    }
+                });
+                readProperties = extraRead;
+                writeProperties = extraWrite;
+            }
+        }
+
         if (readProperties != null && !readProperties.isEmpty()) {
             if (LOG.isTraceEnabled()) {
                 LOG.trace("There are {} properties on: {}", readProperties.size(), definition);
diff --git a/core/camel-core/src/test/java/org/apache/camel/component/properties/OptionalPropertiesDslInvalidSyntaxTest.java b/core/camel-core/src/test/java/org/apache/camel/component/properties/OptionalPropertiesDslInvalidSyntaxTest.java
index e22b671..301e668 100644
--- a/core/camel-core/src/test/java/org/apache/camel/component/properties/OptionalPropertiesDslInvalidSyntaxTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/component/properties/OptionalPropertiesDslInvalidSyntaxTest.java
@@ -18,6 +18,7 @@ package org.apache.camel.component.properties;
 
 import org.apache.camel.CamelContext;
 import org.apache.camel.ContextTestSupport;
+import org.apache.camel.PropertyBindingException;
 import org.apache.camel.builder.RouteBuilder;
 import org.junit.Test;
 
@@ -59,8 +60,10 @@ public class OptionalPropertiesDslInvalidSyntaxTest extends ContextTestSupport {
             context.start();
             fail("Should have thrown exception");
         } catch (Exception e) {
-            IllegalArgumentException cause = assertIsInstanceOf(IllegalArgumentException.class, e.getCause());
-            assertEquals("No setter to set property: xxx to: true on: Multicast[[To[mock:a], ThrowException[java.lang.IllegalAccessException], To[mock:b]]]", cause.getMessage());
+            PropertyBindingException cause = assertIsInstanceOf(PropertyBindingException.class, e.getCause());
+            assertEquals("xxx", cause.getPropertyName());
+            assertEquals("true", cause.getValue());
+            assertTrue(cause.getMessage().startsWith("Error binding property (xxx=true) with name: xxx on bean: Multicast"));
         }
     }