You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by gn...@apache.org on 2018/10/03 15:04:58 UTC

[camel] 10/32: [CAMEL-12818] Remove deprecated stuff

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

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

commit bb3e2469997553d7dc61f713261383481272cb07
Author: Guillaume Nodet <gn...@gmail.com>
AuthorDate: Sat Sep 22 15:21:51 2018 +0200

    [CAMEL-12818] Remove deprecated stuff
---
 camel-core/readme-eip.adoc                         |   8 +-
 camel-core/readme.adoc                             |   7 +-
 .../org/apache/camel/processor/BatchProcessor.java | 498 -------------------
 .../org/apache/camel/processor/Resequencer.java    | 460 +++++++++++++++++-
 .../main/docs/atmosphere-websocket-component.adoc  |   3 +-
 .../simple/BindySimpleFixedLengthMarshallTest.java |   1 -
 .../BindySimpleFixedLengthObjectMarshallTest.java  |   4 +-
 .../camel/blueprint/BlueprintJaxbRestTest.java     |   5 -
 .../apache/camel/blueprint/BlueprintJaxbTest.java  |   5 -
 .../component/cassandra/CassandraEndpoint.java     |  10 -
 .../org/apache/camel/cdi/XmlCdiBeanFactory.java    |   2 +-
 .../org/apache/camel/cdi/XmlProxyFactoryBean.java  |  14 +-
 .../org/apache/camel/component/cm/test/CMTest.java |   4 +-
 .../src/main/docs/consul-component.adoc            |   5 +-
 .../consul/ConsulClientConfiguration.java          |  18 -
 .../cloud/ConsulServiceDiscoveryFactory.java       |  17 -
 .../core/xml/CamelProxyFactoryDefinition.java      |  16 -
 .../camel/component/crypto/ECDSASignatureTest.java |  10 -
 .../component/cxf/transport/CamelConduit.java      |  14 -
 .../apache/camel/component/cxf/CxfComponent.java   |   8 -
 .../apache/camel/component/cxf/CxfConstants.java   |  72 ---
 .../apache/camel/component/cxf/CxfProducer.java    |   2 +-
 .../org/apache/camel/component/cxf/DataFormat.java |  12 -
 .../cxf/feature/MessageDataFormatFeature.java      |  35 --
 .../cxf/jaxrs/CxfRsBlueprintEndpoint.java          |  14 -
 .../camel/component/cxf/jaxrs/CxfRsComponent.java  |   9 -
 .../component/cxf/jaxrs/CxfRsSpringEndpoint.java   |  12 -
 .../component/cxf/util/CxfEndpointUtilsTest.java   |   8 +-
 .../src/main/docs/disruptor-component.adoc         |   7 +-
 .../component/disruptor/DisruptorComponent.java    |  18 -
 .../src/main/docs/ehcache-component.adoc           |   3 +-
 .../component/ehcache/EhcacheConfiguration.java    |  18 -
 .../camel-elsql/src/main/docs/elsql-component.adoc |   3 +-
 .../camel/component/elsql/ElsqlComponent.java      |   5 -
 .../src/main/docs/facebook-component.adoc          |   3 +-
 .../config/FacebookEndpointConfiguration.java      |  16 -
 .../component/file/remote/SftpConfiguration.java   |  10 -
 .../component/file/remote/sftp/SftpChmodTest.java  |   5 -
 .../camel/component/gson/GsonDataFormat.java       |  47 --
 .../component/hazelcast/HazelcastComponent.java    | 160 -------
 .../component/hazelcast/HazelcastConstants.java    | 247 ----------
 .../hazelcast/seda/HazelcastSedaConfiguration.java |  16 -
 .../hazelcast/HazelcastCamelTestHelper.java        |   3 -
 .../org/apache/camel/http/common/CamelServlet.java |  10 +-
 .../camel/http/common/DefaultHttpBinding.java      |  14 -
 .../camel/http/common/HttpCommonEndpoint.java      |  36 --
 .../org/apache/camel/http/common/HttpHelper.java   |  99 ----
 .../camel/http/common/HttpServletUrlRewrite.java   |  45 --
 .../org/apache/camel/http/common/UrlRewrite.java   |  41 --
 .../UrlRewriteHttpServletRequestAdapter.java       |  49 --
 .../camel-http4/src/main/docs/http4-component.adoc |   3 +-
 .../camel/component/http4/HttpComponent.java       |  13 +-
 .../apache/camel/component/http4/HttpProducer.java |   8 -
 .../camel/component/http4/GoogleUrlRewrite.java    |  35 --
 .../camel/component/http4/UrlRewriteTest.java      |  62 ---
 .../camel/component/ignite/IgniteComponent.java    | 138 ------
 .../ignite/cache/IgniteCacheComponent.java         |   2 +-
 .../ignite/cache/IgniteCacheEndpoint.java          |  12 +-
 .../ignite/compute/IgniteComputeEndpoint.java      |   7 -
 .../ignite/events/IgniteEventsEndpoint.java        |  13 -
 .../ignite/idgen/IgniteIdGenEndpoint.java          |  10 -
 .../ignite/messaging/IgniteMessagingEndpoint.java  |   8 -
 .../ignite/queue/IgniteQueueEndpoint.java          |  17 -
 .../component/ignite/set/IgniteSetEndpoint.java    |  18 -
 .../src/main/docs/infinispan-component.adoc        |   6 +-
 .../infinispan/InfinispanConfiguration.java        |  21 -
 .../component/infinispan/InfinispanConstants.java  | 101 ----
 .../component/infinispan/InfinispanProducer.java   |  18 -
 .../InfinispanRemoteQueryProducerIT.java           |   2 +-
 .../camel-irc/src/main/docs/irc-component.adoc     |   3 +-
 .../camel/component/irc/IrcConfiguration.java      |  16 -
 .../component/jetty/CamelMultipartFilter.java      |  31 --
 .../camel/component/jetty/JettyHttpComponent.java  |  11 +-
 .../camel/component/jetty/JettyHttpEndpoint.java   |  13 -
 .../camel/component/jetty/JettyHttpProducer.java   |   7 -
 .../component/jetty/JettyRestHttpBinding.java      |   1 -
 .../src/main/docs/jetty-component.adoc             |   6 +-
 .../camel/component/jetty/HttpUrlRewriteTest.java  |  64 ---
 .../apache/camel/component/jetty/MyUrlRewrite.java |  31 --
 .../jettyproducer/HttpJettyUrlRewriteTest.java     |  65 ---
 .../org/apache/camel/component/jms/JmsBinding.java |  15 -
 .../camel/component/ActiveMQComponent.java         | 193 +++++---
 .../camel-jpa/src/main/docs/jpa-component.adoc     |   2 +-
 .../apache/camel/component/jpa/JpaConstants.java   |   6 -
 .../apache/camel/component/jpa/JpaEndpoint.java    |   2 +-
 .../camel/component/jpa/AbstractJpaMethodTest.java |   2 +-
 .../org/apache/camel/component/jpa/JpaTest.java    |   2 +-
 .../jpa/JpaProducerPassingEntityManagerTest.java   |   2 +-
 .../apache/camel/processor/jpa/JpaRouteTest.java   |   2 +-
 .../org/apache/camel/jsonpath/JsonPathEngine.java  |   5 -
 .../component/jt400/Jt400DataQueueConsumer.java    |  11 -
 .../jt400/Jt400DataQueueConsumerTest.java          |   2 +-
 .../camel/component/kafka/KafkaConstants.java      |   5 -
 .../src/main/docs/kubernetes-component.adoc        |   4 +-
 .../component/kubernetes/KubernetesComponent.java  |  32 --
 .../kubernetes/KubernetesConfiguration.java        |  32 +-
 .../component/kubernetes/KubernetesEndpoint.java   | 157 ------
 ...DeprecatedKubernetesConfigMapsProducerTest.java |  50 --
 ...DeprecatedKubernetesNamespacesConsumerTest.java |  47 --
 ...DeprecatedKubernetesNamespacesProducerTest.java |  50 --
 .../DeprecatedKubernetesNodesConsumerTest.java     |  46 --
 .../DeprecatedKubernetesNodesProducerTest.java     |  41 --
 ...ernetesPersistentVolumesClaimsProducerTest.java |  48 --
 ...tedKubernetesPersistentVolumesProducerTest.java |  41 --
 .../DeprecatedKubernetesPodsConsumerTest.java      |  46 --
 .../DeprecatedKubernetesPodsProducerTest.java      |  50 --
 ...bernetesReplicationControllersConsumerTest.java |  51 --
 ...bernetesReplicationControllersProducerTest.java |  54 ---
 ...ecatedKubernetesResourcesQuotaProducerTest.java |  50 --
 .../DeprecatedKubernetesSecretsProducerTest.java   |  50 --
 ...catedKubernetesServiceAccountsProducerTest.java |  50 --
 .../DeprecatedKubernetesServicesConsumerTest.java  |  47 --
 .../DeprecatedKubernetesServicesProducerTest.java  |  50 --
 .../camel/component/linkedin/api/OAuthScope.java   |   2 -
 .../camel-mllp/src/main/docs/mllp-component.adoc   |  14 +-
 .../camel/component/mllp/MllpConfiguration.java    |  68 ---
 .../apache/camel/component/mllp/MllpEndpoint.java  |  26 -
 .../component/mllp/MllpTcpServerConsumer.java      |   1 -
 .../camel-mqtt/src/main/docs/mqtt-component.adoc   |   4 +-
 .../camel/component/mqtt/MQTTConfiguration.java    |  40 --
 .../apache/camel/component/mqtt/MQTTEndpoint.java  |   7 -
 .../component/mqtt/MQTTConfigurationTest.java      |   2 +-
 .../src/main/docs/nagios-component.adoc            |   6 +-
 .../component/nagios/NagiosConfiguration.java      |  18 +-
 .../component/nagios/NagiosEncryptionMethod.java   |  28 --
 .../src/main/docs/netty4-http-component.adoc       |   6 +-
 .../netty4/http/DefaultNettySharedHttpServer.java  |  22 +-
 .../netty4/http/HttpClientInitializerFactory.java  |  29 +-
 .../netty4/http/HttpServerInitializerFactory.java  |  29 +-
 .../http/HttpServerSharedInitializerFactory.java   |  36 +-
 .../component/netty4/http/NettyHttpConstants.java  |   2 -
 .../http/NettyHttpOperationFailedException.java    |  15 -
 .../netty4/http/NettySharedHttpServer.java         |   8 +-
 .../netty4/http/NettySharedHttpServerTest.java     |   2 +-
 .../src/main/docs/netty4-component.adoc            |  18 +-
 .../netty4/DefaultClientInitializerFactory.java    |  29 +-
 .../netty4/DefaultServerInitializerFactory.java    |  43 +-
 .../camel/component/netty4/NettyConfiguration.java |  50 --
 .../netty4/NettyServerBootstrapConfiguration.java  |  52 --
 .../camel/component/netty4/util/SubnetUtils.java   |  27 +-
 .../component/netty4/NettyManualEndpointTest.java  |   4 +-
 .../apache/camel/component/paho/PahoConstants.java |   2 -
 .../component/paxlogging/PaxLoggingEndpoint.java   |   8 -
 .../camel/component/quickfixj/QuickfixjEngine.java |  34 --
 .../component/quickfixj/QuickfixjSpringTest.java   |   9 -
 .../camel/component/xquery/XQueryBuilder.java      |  15 -
 .../camel/component/servlet/ServletComponent.java  |   2 +-
 .../servlet/ServletTransferExceptionTest.java      |   2 +-
 .../apache/camel/component/sjms/SjmsConsumer.java  |   8 -
 .../apache/camel/component/sjms/SjmsEndpoint.java  |  22 -
 .../apache/camel/component/sjms/SjmsProducer.java  |   8 -
 .../component/sjms/producer/InOnlyProducer.java    |   9 +-
 .../camel/component/sjms/tx}/BatchMessage.java     |   5 +-
 .../sjms/tx/BatchTransactedProducerSupport.java    |   1 -
 .../sjms/tx/BatchTransactedQueueProducerTest.java  |   1 -
 .../sjms/tx/BatchTransactedTopicProducerTest.java  |   1 -
 .../camel/component/smpp/AbstractSmppCommand.java  |  46 --
 .../camel/component/smpp/SmppDataSmCommand.java    |  14 +-
 .../component/smpp/SmppSubmitMultiCommand.java     |   8 +-
 .../camel/component/smpp/SmppSubmitSmCommand.java  |   8 +-
 .../apache/camel/component/snmp/SnmpEndpoint.java  |  11 -
 .../spring/batch/SpringBatchEndpoint.java          |  28 --
 .../src/main/docs/spring-boot.adoc                 |   4 +-
 .../spring/boot/CamelConfigurationProperties.java  |  34 --
 .../boot/CamelSpringBootApplicationController.java |   8 -
 .../cloud/CamelSpringCloudDiscoveryClient.java     |   5 -
 .../integration/SpringIntegrationEndpoint.java     |   4 +-
 .../converter/SpringIntegrationConverter.java      |   5 +-
 .../org/apache/camel/spring/javaconfig/Main.java   |  16 -
 .../spring/javaconfig/BeanJavaConfigTest.java      |   4 +-
 .../autowire/AutodetectNoRoutesConfigTest.java     |   4 +-
 .../autowire/AutodetectingConfigTest.java          |   4 +-
 .../spring/javaconfig/patterns/FilterTest.java     |   4 +-
 ...CamelSpringDelegatingTestContextLoaderTest.java |   4 +-
 .../test/JavaConfigWithNestedConfigClassTest.java  |   5 +-
 .../test/JavaConfigWithPostProcessorTest.java      |   4 +-
 .../spring/handler/CamelNamespaceHandler.java      |  31 --
 .../camel-sql/src/main/docs/sql-component.adoc     |   3 +-
 .../camel/component/sql/DefaultSqlEndpoint.java    |  14 -
 .../apache/camel/component/sql/SqlComponent.java   |   5 -
 .../template/generated/SimpleCharStream.java       |  20 -
 .../camel-ssh/src/main/docs/ssh-component.adoc     |   7 +-
 .../apache/camel/component/ssh/SshComponent.java   |  19 -
 .../camel/component/ssh/SshConfiguration.java      |  16 -
 .../apache/camel/component/ssh/SshEndpoint.java    |  16 -
 .../spring/CamelSpringBootJUnit4ClassRunner.java   |  33 --
 .../test/spring/CamelSpringJUnit4ClassRunner.java  |  33 --
 .../java/org/apache/camel/test/TestSupport.java    | 528 ---------------------
 .../apache/camel/test/junit4/CamelTestSupport.java |  10 -
 .../org/apache/camel/test/junit4/TestSupport.java  |  64 ---
 .../patterns/DebugNoLazyTypeConverterTest.java     |   5 -
 .../src/main/docs/twitter-component.adoc           | 335 -------------
 .../component/twitter/AbstractTwitterEndpoint.java |  10 +-
 .../twitter/CommonPropertiesTwitterEndpoint.java   |  34 --
 .../camel/component/twitter/TwitterComponent.java  |  73 ---
 .../camel/component/twitter/TwitterEndpoint.java   |  31 --
 .../component/twitter/TwitterEndpointDirect.java   | 193 --------
 .../component/twitter/TwitterEndpointEvent.java    | 101 ----
 .../component/twitter/TwitterEndpointPolling.java  | 198 --------
 .../camel/component/twitter/TwitterHelper.java     | 110 -----
 .../consumer/AbstractTwitterConsumerHandler.java   |   6 +-
 .../twitter/consumer/TwitterConsumerDirect.java    |  49 --
 .../twitter/consumer/TwitterConsumerEvent.java     |  70 ---
 .../twitter/consumer/TwitterConsumerPolling.java   |  77 ---
 .../twitter/consumer/TwitterEventType.java         |   8 +-
 .../camel/component/twitter/data/TrendsType.java   |  30 --
 .../DirectMessageConsumerHandler.java              |   4 +-
 .../directmessage/DirectMessageProducer.java       |   6 +-
 .../twitter/search/SearchConsumerHandler.java      |   4 +-
 .../component/twitter/search/SearchProducer.java   |   6 +-
 .../AbstractStreamingConsumerHandler.java          |   4 +-
 .../streaming/FilterStreamingConsumerHandler.java  |   4 +-
 .../streaming/SampleStreamingConsumerHandler.java  |   4 +-
 .../streaming/UserStreamingConsumerHandler.java    |   4 +-
 .../timeline/AbstractStatusConsumerHandler.java    |   4 +-
 .../twitter/timeline/HomeConsumerHandler.java      |   4 +-
 .../twitter/timeline/MentionsConsumerHandler.java  |   4 +-
 .../twitter/timeline/RetweetsConsumerHandler.java  |   4 +-
 .../twitter/timeline/UserConsumerHandler.java      |   4 +-
 .../component/twitter/timeline/UserProducer.java   |   6 +-
 .../services/org/apache/camel/component/twitter    |  18 -
 .../component/twitter/UriConfigurationTest.java    |   7 -
 .../deprecated/DirectMessageDirectTest.java        |  53 ---
 .../deprecated/DirectMessagePollingTest.java       |  52 --
 .../twitter/deprecated/HomeTimeLineDirectTest.java |  38 --
 .../deprecated/HomeTimeLinePollingTest.java        |  37 --
 .../deprecated/SearchByExchangeDirectTest.java     | 139 ------
 .../SearchDirectCustomComponentTest.java           |  48 --
 .../twitter/deprecated/SearchDirectTest.java       |  38 --
 .../twitter/deprecated/SearchEventTest.java        |  90 ----
 .../twitter/deprecated/SearchPollingTest.java      |  37 --
 .../twitter/deprecated/UserProducerInOnlyTest.java |  78 ---
 .../twitter/deprecated/UserProducerInOutTest.java  |  83 ----
 .../twitter/deprecated/UserStreamingTest.java      |  51 --
 .../twitter/deprecated/UserTimeLineDirectTest.java |  38 --
 .../deprecated/UserTimeLinePollingTest.java        |  38 --
 .../camel/component/undertow/ExchangeHeaders.java  |   6 -
 .../xmlsecurity/api/XmlSignatureHelper.java        |  31 --
 .../xmlsecurity/XMLSecurityDataFormat.java         |   4 +-
 .../apache/camel/component/xmpp/XmppBinding.java   |   1 -
 .../apache/camel/component/xmpp/XmppConstants.java |   7 -
 .../dataformat/xstream/XStreamDataFormat.java      |  26 -
 .../src/main/docs/zookeeper-component.adoc         |   6 +-
 .../zookeeper/ZooKeeperConfiguration.java          |  20 -
 .../component/zookeeper/ZooKeeperEndpoint.java     |  16 -
 .../component/zookeeper/ZooKeeperEndpointTest.java |  14 +-
 components/readme.adoc                             | 112 +----
 .../component/connector/ConnectorComponent.java    |  20 -
 .../src/main/resources/camel-connector.json        |   2 +-
 docs/user-manual/en/SUMMARY.md                     |  41 --
 .../camel/component/ActiveMQComponent.java         | 249 ++++++++++
 .../camel/component/ActiveMQComponent.java         | 249 ++++++++++
 .../catalog/CamelCatalogMBeanExporterTest.java     |  52 --
 .../org/apache/camel/catalog/CamelCatalogTest.java |  15 +-
 .../springboot/ConsulComponentConfiguration.java   |  19 -
 .../src/main/resources/META-INF/spring.factories   |   1 -
 .../DisruptorComponentConfiguration.java           |  17 -
 .../DisruptorVmComponentConfiguration.java         |  17 -
 .../springboot/EhcacheComponentConfiguration.java  |  19 -
 .../HazelcastComponentAutoConfiguration.java       | 114 -----
 .../HazelcastComponentConfiguration.java           |  77 ---
 .../src/main/resources/META-INF/spring.factories   |   1 -
 .../HazelcastInstanceCustomizerTest.java           |   1 -
 .../InfinispanComponentConfiguration.java          |  17 -
 .../KubernetesComponentAutoConfiguration.java      | 128 -----
 .../KubernetesComponentConfiguration.java          |  54 ---
 .../src/main/resources/META-INF/spring.factories   |   1 -
 .../springboot/MllpComponentConfiguration.java     |  35 --
 .../springboot/NagiosComponentConfiguration.java   |  18 -
 .../springboot/NettyComponentConfiguration.java    | 103 ----
 .../ssh/springboot/SshComponentConfiguration.java  |  34 --
 .../TwitterComponentAutoConfiguration.java         | 128 -----
 .../springboot/TwitterComponentConfiguration.java  | 151 ------
 .../src/main/resources/META-INF/spring.factories   |   1 -
 .../ZooKeeperComponentConfiguration.java           |  17 -
 275 files changed, 1302 insertions(+), 8608 deletions(-)

diff --git a/camel-core/readme-eip.adoc b/camel-core/readme-eip.adoc
index f027b4b..91f71ee 100644
--- a/camel-core/readme-eip.adoc
+++ b/camel-core/readme-eip.adoc
@@ -4,7 +4,7 @@ Enterprise Integration Patterns
 Camel supports most of the link:http://www.eaipatterns.com/toc.html[Enterprise Integration Patterns] from the excellent book by link:http://www.amazon.com/exec/obidos/search-handle-url/105-9796798-8100401?%5Fencoding=UTF8&search-type=ss&index=books&field-author=Gregor%20Hohpe[Gregor Hohpe] and link:http://www.amazon.com/exec/obidos/search-handle-url/105-9796798-8100401?%5Fencoding=UTF8&search-type=ss&index=books&field-author=Bobby%20Woolf[Bobby Woolf].
 
 // eips: START
-Number of EIPs: 64 (2 deprecated)
+Number of EIPs: 62 (0 deprecated)
 
 [width="100%",cols="4,6",options="header"]
 |===
@@ -22,9 +22,6 @@ Number of EIPs: 64 (2 deprecated)
 | link:src/main/docs/eips/choice-eip.adoc[Choice] +
 `<choice>` | Routes messages based on a series of predicates
 
-| link:src/main/docs/eips/circuitBreaker-eip.adoc[Circuit Breaker] +
-`<circuitBreaker>` | *deprecated* Circuit break load balancer
-
 | link:src/main/docs/eips/claimCheck-eip.adoc[Claim Check] +
 `<claimCheck>` | The Claim Check EIP allows you to replace message content with a claim check (a unique key), which can be used to retrieve the message content at a later time.
 
@@ -148,9 +145,6 @@ Number of EIPs: 64 (2 deprecated)
 | link:src/main/docs/eips/setHeader-eip.adoc[Set Header] +
 `<setHeader>` | Sets the value of a message header
 
-| link:src/main/docs/eips/setOutHeader-eip.adoc[Set Out Header] +
-`<setOutHeader>` | *deprecated* Sets the value of a header on the outbound message
-
 | link:src/main/docs/eips/setProperty-eip.adoc[Set Property] +
 `<setProperty>` | Sets a named property on the message exchange
 
diff --git a/camel-core/readme.adoc b/camel-core/readme.adoc
index 1243b8f..35aaf17 100644
--- a/camel-core/readme.adoc
+++ b/camel-core/readme.adoc
@@ -6,7 +6,7 @@ Components
 
 
 // components: START
-Number of Components: 26 in 1 JAR artifacts (1 deprecated)
+Number of Components: 25 in 1 JAR artifacts (0 deprecated)
 
 [width="100%",cols="4,1,5",options="header"]
 |===
@@ -15,9 +15,6 @@ Number of Components: 26 in 1 JAR artifacts (1 deprecated)
 | link:src/main/docs/bean-component.adoc[Bean] (camel-core) +
 `bean:beanName` | 1.0 | The bean component is for invoking Java beans from Camel.
 
-| link:src/main/docs/binding-component.adoc[Binding] (camel-core) +
-`binding:bindingName:delegateUri` | 2.11 | *deprecated* The binding component is used for as a of wrapping an Endpoint in a contract with a data format.
-
 | link:src/main/docs/browse-component.adoc[Browse] (camel-core) +
 `browse:name` | 1.3 | The browse component is used for viewing the messages received on endpoints that supports BrowsableEndpoint.
 
@@ -106,7 +103,7 @@ Data Formats
 
 
 // dataformats: START
-Number of Data Formats: 4 in 38 JAR artifacts (3 deprecated)
+Number of Data Formats: 4 in 34 JAR artifacts (0 deprecated)
 
 [width="100%",cols="4,1,5",options="header"]
 |===
diff --git a/camel-core/src/main/java/org/apache/camel/processor/BatchProcessor.java b/camel-core/src/main/java/org/apache/camel/processor/BatchProcessor.java
deleted file mode 100644
index 1e0a2e5..0000000
--- a/camel-core/src/main/java/org/apache/camel/processor/BatchProcessor.java
+++ /dev/null
@@ -1,498 +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.processor;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Iterator;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Queue;
-import java.util.concurrent.ConcurrentLinkedQueue;
-import java.util.concurrent.TimeUnit;
-import java.util.concurrent.atomic.AtomicBoolean;
-import java.util.concurrent.locks.Condition;
-import java.util.concurrent.locks.Lock;
-import java.util.concurrent.locks.ReentrantLock;
-
-import org.apache.camel.AsyncCallback;
-import org.apache.camel.AsyncProcessor;
-import org.apache.camel.CamelContext;
-import org.apache.camel.CamelExchangeException;
-import org.apache.camel.Exchange;
-import org.apache.camel.Expression;
-import org.apache.camel.Navigate;
-import org.apache.camel.Predicate;
-import org.apache.camel.Processor;
-import org.apache.camel.spi.ExceptionHandler;
-import org.apache.camel.spi.IdAware;
-import org.apache.camel.support.LoggingExceptionHandler;
-import org.apache.camel.support.ServiceSupport;
-import org.apache.camel.util.AsyncProcessorHelper;
-import org.apache.camel.util.ObjectHelper;
-import org.apache.camel.util.ServiceHelper;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * A base class for any kind of {@link Processor} which implements some kind of batch processing.
- * 
- * @version 
- * @deprecated may be removed in the future when we overhaul the resequencer EIP
- */
-@Deprecated
-public class BatchProcessor extends ServiceSupport implements AsyncProcessor, Navigate<Processor>, IdAware {
-
-    public static final long DEFAULT_BATCH_TIMEOUT = 1000L;
-    public static final int DEFAULT_BATCH_SIZE = 100;
-
-    private static final Logger LOG = LoggerFactory.getLogger(BatchProcessor.class);
-
-    private String id;
-    private long batchTimeout = DEFAULT_BATCH_TIMEOUT;
-    private int batchSize = DEFAULT_BATCH_SIZE;
-    private int outBatchSize;
-    private boolean groupExchanges;
-    private boolean batchConsumer;
-    private boolean ignoreInvalidExchanges;
-    private boolean reverse;
-    private boolean allowDuplicates;
-    private Predicate completionPredicate;
-    private Expression expression;
-
-    private final CamelContext camelContext;
-    private final Processor processor;
-    private final Collection<Exchange> collection;
-    private ExceptionHandler exceptionHandler;
-
-    private final BatchSender sender;
-
-    public BatchProcessor(CamelContext camelContext, Processor processor, Collection<Exchange> collection, Expression expression) {
-        ObjectHelper.notNull(camelContext, "camelContext");
-        ObjectHelper.notNull(processor, "processor");
-        ObjectHelper.notNull(collection, "collection");
-        ObjectHelper.notNull(expression, "expression");
-
-        // wrap processor in UnitOfWork so what we send out of the batch runs in a UoW
-        this.camelContext = camelContext;
-        this.processor = processor;
-        this.collection = collection;
-        this.expression = expression;
-        this.sender = new BatchSender();
-        this.exceptionHandler = new LoggingExceptionHandler(camelContext, getClass());
-    }
-
-    @Override
-    public String toString() {
-        return "BatchProcessor[to: " + processor + "]";
-    }
-
-    // Properties
-    // -------------------------------------------------------------------------
-
-
-    public Expression getExpression() {
-        return expression;
-    }
-
-    public ExceptionHandler getExceptionHandler() {
-        return exceptionHandler;
-    }
-
-    public void setExceptionHandler(ExceptionHandler exceptionHandler) {
-        this.exceptionHandler = exceptionHandler;
-    }
-
-    public int getBatchSize() {
-        return batchSize;
-    }
-
-    /**
-     * Sets the <b>in</b> batch size. This is the number of incoming exchanges that this batch processor will
-     * process before its completed. The default value is {@link #DEFAULT_BATCH_SIZE}.
-     * 
-     * @param batchSize the size
-     */
-    public void setBatchSize(int batchSize) {
-        // setting batch size to 0 or negative is like disabling it, so we set it as the max value
-        // as the code logic is dependent on a batch size having 1..n value
-        if (batchSize <= 0) {
-            LOG.debug("Disabling batch size, will only be triggered by timeout");
-            this.batchSize = Integer.MAX_VALUE;
-        } else {
-            this.batchSize = batchSize;
-        }
-    }
-
-    public int getOutBatchSize() {
-        return outBatchSize;
-    }
-
-    /**
-     * Sets the <b>out</b> batch size. If the batch processor holds more exchanges than this out size then the
-     * completion is triggered. Can for instance be used to ensure that this batch is completed when a certain
-     * number of exchanges has been collected. By default this feature is <b>not</b> enabled.
-     * 
-     * @param outBatchSize the size
-     */
-    public void setOutBatchSize(int outBatchSize) {
-        this.outBatchSize = outBatchSize;
-    }
-
-    public long getBatchTimeout() {
-        return batchTimeout;
-    }
-
-    public void setBatchTimeout(long batchTimeout) {
-        this.batchTimeout = batchTimeout;
-    }
-
-    public boolean isGroupExchanges() {
-        return groupExchanges;
-    }
-
-    public void setGroupExchanges(boolean groupExchanges) {
-        this.groupExchanges = groupExchanges;
-    }
-
-    public boolean isBatchConsumer() {
-        return batchConsumer;
-    }
-
-    public void setBatchConsumer(boolean batchConsumer) {
-        this.batchConsumer = batchConsumer;
-    }
-
-    public boolean isIgnoreInvalidExchanges() {
-        return ignoreInvalidExchanges;
-    }
-
-    public void setIgnoreInvalidExchanges(boolean ignoreInvalidExchanges) {
-        this.ignoreInvalidExchanges = ignoreInvalidExchanges;
-    }
-
-    public boolean isReverse() {
-        return reverse;
-    }
-
-    public void setReverse(boolean reverse) {
-        this.reverse = reverse;
-    }
-
-    public boolean isAllowDuplicates() {
-        return allowDuplicates;
-    }
-
-    public void setAllowDuplicates(boolean allowDuplicates) {
-        this.allowDuplicates = allowDuplicates;
-    }
-
-    public Predicate getCompletionPredicate() {
-        return completionPredicate;
-    }
-
-    public void setCompletionPredicate(Predicate completionPredicate) {
-        this.completionPredicate = completionPredicate;
-    }
-
-    public Processor getProcessor() {
-        return processor;
-    }
-
-    public List<Processor> next() {
-        if (!hasNext()) {
-            return null;
-        }
-        List<Processor> answer = new ArrayList<>(1);
-        answer.add(processor);
-        return answer;
-    }
-
-    public boolean hasNext() {
-        return processor != null;
-    }
-
-    public String getId() {
-        return id;
-    }
-
-    public void setId(String id) {
-        this.id = id;
-    }
-
-    /**
-     * A strategy method to decide if the "in" batch is completed. That is, whether the resulting exchanges in
-     * the in queue should be drained to the "out" collection.
-     */
-    private boolean isInBatchCompleted(int num) {
-        return num >= batchSize;
-    }
-
-    /**
-     * A strategy method to decide if the "out" batch is completed. That is, whether the resulting exchange in
-     * the out collection should be sent.
-     */
-    private boolean isOutBatchCompleted() {
-        if (outBatchSize == 0) {
-            // out batch is disabled, so go ahead and send.
-            return true;
-        }
-        return collection.size() > 0 && collection.size() >= outBatchSize;
-    }
-
-    /**
-     * Strategy Method to process an exchange in the batch. This method allows derived classes to perform
-     * custom processing before or after an individual exchange is processed
-     */
-    protected void processExchange(Exchange exchange) throws Exception {
-        processor.process(exchange);
-        if (exchange.getException() != null) {
-            getExceptionHandler().handleException("Error processing aggregated exchange: " + exchange, exchange.getException());
-        }
-    }
-
-    protected void doStart() throws Exception {
-        ServiceHelper.startServices(processor);
-        sender.start();
-    }
-
-    protected void doStop() throws Exception {
-        sender.cancel();
-        ServiceHelper.stopServices(processor);
-        collection.clear();
-    }
-
-    public void process(Exchange exchange) throws Exception {
-        AsyncProcessorHelper.process(this, exchange);
-    }
-
-    /**
-     * Enqueues an exchange for later batch processing.
-     */
-    public boolean process(Exchange exchange, AsyncCallback callback) {
-        try {
-            // if batch consumer is enabled then we need to adjust the batch size
-            // with the size from the batch consumer
-            if (isBatchConsumer()) {
-                int size = exchange.getProperty(Exchange.BATCH_SIZE, Integer.class);
-                if (batchSize != size) {
-                    batchSize = size;
-                    LOG.trace("Using batch consumer completion, so setting batch size to: {}", batchSize);
-                }
-            }
-
-            // validate that the exchange can be used
-            if (!isValid(exchange)) {
-                if (isIgnoreInvalidExchanges()) {
-                    LOG.debug("Invalid Exchange. This Exchange will be ignored: {}", exchange);
-                } else {
-                    throw new CamelExchangeException("Exchange is not valid to be used by the BatchProcessor", exchange);
-                }
-            } else {
-                // exchange is valid so enqueue the exchange
-                sender.enqueueExchange(exchange);
-            }
-        } catch (Throwable e) {
-            exchange.setException(e);
-        }
-        callback.done(true);
-        return true;
-    }
-
-    /**
-     * Is the given exchange valid to be used.
-     *
-     * @param exchange the given exchange
-     * @return <tt>true</tt> if valid, <tt>false</tt> otherwise
-     */
-    private boolean isValid(Exchange exchange) {
-        Object result = null;
-        try {
-            result = expression.evaluate(exchange, Object.class);
-        } catch (Exception e) {
-            // ignore
-        }
-        return result != null;
-    }
-
-    /**
-     * Sender thread for queued-up exchanges.
-     */
-    private class BatchSender extends Thread {
-
-        private Queue<Exchange> queue;
-        private Lock queueLock = new ReentrantLock();
-        private final AtomicBoolean exchangeEnqueued = new AtomicBoolean();
-        private final Queue<String> completionPredicateMatched = new ConcurrentLinkedQueue<>();
-        private Condition exchangeEnqueuedCondition = queueLock.newCondition();
-
-        BatchSender() {
-            super(camelContext.getExecutorServiceManager().resolveThreadName("Batch Sender"));
-            this.queue = new LinkedList<>();
-        }
-
-        @Override
-        public void run() {
-            // Wait until one of either:
-            // * an exchange being queued;
-            // * the batch timeout expiring; or
-            // * the thread being cancelled.
-            //
-            // If an exchange is queued then we need to determine whether the
-            // batch is complete. If it is complete then we send out the batched
-            // exchanges. Otherwise we move back into our wait state.
-            //
-            // If the batch times out then we send out the batched exchanges
-            // collected so far.
-            //
-            // If we receive an interrupt then all blocking operations are
-            // interrupted and our thread terminates.
-            //
-            // The goal of the following algorithm in terms of synchronisation
-            // is to provide fine grained locking i.e. retaining the lock only
-            // when required. Special consideration is given to releasing the
-            // lock when calling an overloaded method i.e. sendExchanges. 
-            // Unlocking is important as the process of sending out the exchanges
-            // would otherwise block new exchanges from being queued.
-
-            queueLock.lock();
-            try {
-                do {
-                    try {
-                        if (!exchangeEnqueued.get()) {
-                            LOG.trace("Waiting for new exchange to arrive or batchTimeout to occur after {} ms.", batchTimeout);
-                            exchangeEnqueuedCondition.await(batchTimeout, TimeUnit.MILLISECONDS);
-                        }
-
-                        // if the completion predicate was triggered then there is an exchange id which denotes when to complete
-                        String id = null;
-                        if (!completionPredicateMatched.isEmpty()) {
-                            id = completionPredicateMatched.poll();
-                        }
-
-                        if (id != null || !exchangeEnqueued.get()) {
-                            if (id != null) {
-                                LOG.trace("Collecting exchanges to be aggregated triggered by completion predicate");
-                            } else {
-                                LOG.trace("Collecting exchanges to be aggregated triggered by batch timeout");
-                            }
-                            drainQueueTo(collection, batchSize, id);
-                        } else {
-                            exchangeEnqueued.set(false);
-                            boolean drained = false;
-                            while (isInBatchCompleted(queue.size())) {
-                                drained = true;
-                                drainQueueTo(collection, batchSize, id);
-                            }
-                            if (drained) {
-                                LOG.trace("Collecting exchanges to be aggregated triggered by new exchanges received");
-                            }
-
-                            if (!isOutBatchCompleted()) {
-                                continue;
-                            }
-                        }
-
-                        queueLock.unlock();
-                        try {
-                            try {
-                                sendExchanges();
-                            } catch (Throwable t) {
-                                // a fail safe to handle all exceptions being thrown
-                                getExceptionHandler().handleException(t);
-                            }
-                        } finally {
-                            queueLock.lock();
-                        }
-
-                    } catch (InterruptedException e) {
-                        break;
-                    }
-
-                } while (isRunAllowed());
-
-            } finally {
-                queueLock.unlock();
-            }
-        }
-
-        /**
-         * This method should be called with queueLock held
-         */
-        private void drainQueueTo(Collection<Exchange> collection, int batchSize, String exchangeId) {
-            for (int i = 0; i < batchSize; ++i) {
-                Exchange e = queue.poll();
-                if (e != null) {
-                    try {
-                        collection.add(e);
-                    } catch (Exception t) {
-                        e.setException(t);
-                    } catch (Throwable t) {
-                        getExceptionHandler().handleException(t);
-                    }
-                    if (exchangeId != null && exchangeId.equals(e.getExchangeId())) {
-                        // this batch is complete so stop draining
-                        break;
-                    }
-                } else {
-                    break;
-                }
-            }
-        }
-
-        public void cancel() {
-            interrupt();
-        }
-
-        public void enqueueExchange(Exchange exchange) {
-            LOG.debug("Received exchange to be batched: {}", exchange);
-            queueLock.lock();
-            try {
-                // pre test whether the completion predicate matched
-                if (completionPredicate != null) {
-                    boolean matches = completionPredicate.matches(exchange);
-                    if (matches) {
-                        LOG.trace("Exchange matched completion predicate: {}", exchange);
-                        // add this exchange to the list of exchanges which marks the batch as complete
-                        completionPredicateMatched.add(exchange.getExchangeId());
-                    }
-                }
-                queue.add(exchange);
-                exchangeEnqueued.set(true);
-                exchangeEnqueuedCondition.signal();
-            } finally {
-                queueLock.unlock();
-            }
-        }
-        
-        private void sendExchanges() throws Exception {
-            Iterator<Exchange> iter = collection.iterator();
-            while (iter.hasNext()) {
-                Exchange exchange = iter.next();
-                iter.remove();
-                try {
-                    LOG.debug("Sending aggregated exchange: {}", exchange);
-                    processExchange(exchange);
-                } catch (Throwable t) {
-                    // must catch throwable to avoid growing memory
-                    getExceptionHandler().handleException("Error processing aggregated exchange: " + exchange, t);
-                }
-            }
-        }
-    }
-
-}
diff --git a/camel-core/src/main/java/org/apache/camel/processor/Resequencer.java b/camel-core/src/main/java/org/apache/camel/processor/Resequencer.java
index a462839..54f0b75 100644
--- a/camel-core/src/main/java/org/apache/camel/processor/Resequencer.java
+++ b/camel-core/src/main/java/org/apache/camel/processor/Resequencer.java
@@ -16,16 +16,42 @@
  */
 package org.apache.camel.processor;
 
+import java.util.ArrayList;
+import java.util.Collection;
 import java.util.Comparator;
+import java.util.Iterator;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Queue;
 import java.util.Set;
 import java.util.TreeSet;
+import java.util.concurrent.ConcurrentLinkedQueue;
+import java.util.concurrent.TimeUnit;
+import java.util.concurrent.atomic.AtomicBoolean;
+import java.util.concurrent.locks.Condition;
+import java.util.concurrent.locks.Lock;
+import java.util.concurrent.locks.ReentrantLock;
 
+import org.apache.camel.AsyncCallback;
+import org.apache.camel.AsyncProcessor;
 import org.apache.camel.CamelContext;
+import org.apache.camel.CamelExchangeException;
 import org.apache.camel.Exchange;
 import org.apache.camel.Expression;
+import org.apache.camel.Navigate;
+import org.apache.camel.Predicate;
 import org.apache.camel.Processor;
 import org.apache.camel.Traceable;
+import org.apache.camel.spi.ExceptionHandler;
+import org.apache.camel.spi.IdAware;
+import org.apache.camel.support.LoggingExceptionHandler;
+import org.apache.camel.support.ServiceSupport;
+import org.apache.camel.util.AsyncProcessorHelper;
 import org.apache.camel.util.ExpressionComparator;
+import org.apache.camel.util.ObjectHelper;
+import org.apache.camel.util.ServiceHelper;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 /**
  * An implementation of the <a href="http://camel.apache.org/resequencer.html">Resequencer</a>
@@ -33,10 +59,31 @@ import org.apache.camel.util.ExpressionComparator;
  *
  * @version 
  */
-@SuppressWarnings("deprecation")
-public class Resequencer extends BatchProcessor implements Traceable {
+public class Resequencer extends ServiceSupport implements AsyncProcessor, Navigate<Processor>, IdAware, Traceable {
 
-    // TODO: Rework to avoid using BatchProcessor
+    public static final long DEFAULT_BATCH_TIMEOUT = 1000L;
+    public static final int DEFAULT_BATCH_SIZE = 100;
+
+    private static final Logger LOG = LoggerFactory.getLogger(Resequencer.class);
+
+    private String id;
+    private long batchTimeout = DEFAULT_BATCH_TIMEOUT;
+    private int batchSize = DEFAULT_BATCH_SIZE;
+    private int outBatchSize;
+    private boolean groupExchanges;
+    private boolean batchConsumer;
+    private boolean ignoreInvalidExchanges;
+    private boolean reverse;
+    private boolean allowDuplicates;
+    private Predicate completionPredicate;
+    private Expression expression;
+
+    private final CamelContext camelContext;
+    private final Processor processor;
+    private final Collection<Exchange> collection;
+    private ExceptionHandler exceptionHandler;
+
+    private final BatchSender sender;
 
     public Resequencer(CamelContext camelContext, Processor processor, Expression expression) {
         this(camelContext, processor, createSet(expression, false, false), expression);
@@ -48,7 +95,18 @@ public class Resequencer extends BatchProcessor implements Traceable {
     }
 
     public Resequencer(CamelContext camelContext, Processor processor, Set<Exchange> collection, Expression expression) {
-        super(camelContext, processor, collection, expression);
+        ObjectHelper.notNull(camelContext, "camelContext");
+        ObjectHelper.notNull(processor, "processor");
+        ObjectHelper.notNull(collection, "collection");
+        ObjectHelper.notNull(expression, "expression");
+
+        // wrap processor in UnitOfWork so what we send out of the batch runs in a UoW
+        this.camelContext = camelContext;
+        this.processor = processor;
+        this.collection = collection;
+        this.expression = expression;
+        this.sender = new BatchSender();
+        this.exceptionHandler = new LoggingExceptionHandler(camelContext, getClass());
     }
 
     @Override
@@ -60,6 +118,139 @@ public class Resequencer extends BatchProcessor implements Traceable {
         return "resequencer";
     }
 
+    // Properties
+    // -------------------------------------------------------------------------
+
+
+    public Expression getExpression() {
+        return expression;
+    }
+
+    public ExceptionHandler getExceptionHandler() {
+        return exceptionHandler;
+    }
+
+    public void setExceptionHandler(ExceptionHandler exceptionHandler) {
+        this.exceptionHandler = exceptionHandler;
+    }
+
+    public int getBatchSize() {
+        return batchSize;
+    }
+
+    /**
+     * Sets the <b>in</b> batch size. This is the number of incoming exchanges that this batch processor will
+     * process before its completed. The default value is {@link #DEFAULT_BATCH_SIZE}.
+     *
+     * @param batchSize the size
+     */
+    public void setBatchSize(int batchSize) {
+        // setting batch size to 0 or negative is like disabling it, so we set it as the max value
+        // as the code logic is dependent on a batch size having 1..n value
+        if (batchSize <= 0) {
+            LOG.debug("Disabling batch size, will only be triggered by timeout");
+            this.batchSize = Integer.MAX_VALUE;
+        } else {
+            this.batchSize = batchSize;
+        }
+    }
+
+    public int getOutBatchSize() {
+        return outBatchSize;
+    }
+
+    /**
+     * Sets the <b>out</b> batch size. If the batch processor holds more exchanges than this out size then the
+     * completion is triggered. Can for instance be used to ensure that this batch is completed when a certain
+     * number of exchanges has been collected. By default this feature is <b>not</b> enabled.
+     *
+     * @param outBatchSize the size
+     */
+    public void setOutBatchSize(int outBatchSize) {
+        this.outBatchSize = outBatchSize;
+    }
+
+    public long getBatchTimeout() {
+        return batchTimeout;
+    }
+
+    public void setBatchTimeout(long batchTimeout) {
+        this.batchTimeout = batchTimeout;
+    }
+
+    public boolean isGroupExchanges() {
+        return groupExchanges;
+    }
+
+    public void setGroupExchanges(boolean groupExchanges) {
+        this.groupExchanges = groupExchanges;
+    }
+
+    public boolean isBatchConsumer() {
+        return batchConsumer;
+    }
+
+    public void setBatchConsumer(boolean batchConsumer) {
+        this.batchConsumer = batchConsumer;
+    }
+
+    public boolean isIgnoreInvalidExchanges() {
+        return ignoreInvalidExchanges;
+    }
+
+    public void setIgnoreInvalidExchanges(boolean ignoreInvalidExchanges) {
+        this.ignoreInvalidExchanges = ignoreInvalidExchanges;
+    }
+
+    public boolean isReverse() {
+        return reverse;
+    }
+
+    public void setReverse(boolean reverse) {
+        this.reverse = reverse;
+    }
+
+    public boolean isAllowDuplicates() {
+        return allowDuplicates;
+    }
+
+    public void setAllowDuplicates(boolean allowDuplicates) {
+        this.allowDuplicates = allowDuplicates;
+    }
+
+    public Predicate getCompletionPredicate() {
+        return completionPredicate;
+    }
+
+    public void setCompletionPredicate(Predicate completionPredicate) {
+        this.completionPredicate = completionPredicate;
+    }
+
+    public Processor getProcessor() {
+        return processor;
+    }
+
+    public List<Processor> next() {
+        if (!hasNext()) {
+            return null;
+        }
+        List<Processor> answer = new ArrayList<>(1);
+        answer.add(processor);
+        return answer;
+    }
+
+    public boolean hasNext() {
+        return processor != null;
+    }
+
+    public String getId() {
+        return id;
+    }
+
+    public void setId(String id) {
+        this.id = id;
+    }
+
     // Implementation methods
     //-------------------------------------------------------------------------
 
@@ -99,4 +290,265 @@ public class Resequencer extends BatchProcessor implements Traceable {
         return new TreeSet<>(answer);
     }
 
+    /**
+     * A strategy method to decide if the "in" batch is completed. That is, whether the resulting exchanges in
+     * the in queue should be drained to the "out" collection.
+     */
+    private boolean isInBatchCompleted(int num) {
+        return num >= batchSize;
+    }
+
+    /**
+     * A strategy method to decide if the "out" batch is completed. That is, whether the resulting exchange in
+     * the out collection should be sent.
+     */
+    private boolean isOutBatchCompleted() {
+        if (outBatchSize == 0) {
+            // out batch is disabled, so go ahead and send.
+            return true;
+        }
+        return collection.size() > 0 && collection.size() >= outBatchSize;
+    }
+
+    /**
+     * Strategy Method to process an exchange in the batch. This method allows derived classes to perform
+     * custom processing before or after an individual exchange is processed
+     */
+    protected void processExchange(Exchange exchange) throws Exception {
+        processor.process(exchange);
+        if (exchange.getException() != null) {
+            getExceptionHandler().handleException("Error processing aggregated exchange: " + exchange, exchange.getException());
+        }
+    }
+
+    protected void doStart() throws Exception {
+        ServiceHelper.startServices(processor);
+        sender.start();
+    }
+
+    protected void doStop() throws Exception {
+        sender.cancel();
+        ServiceHelper.stopServices(processor);
+        collection.clear();
+    }
+
+    public void process(Exchange exchange) throws Exception {
+        AsyncProcessorHelper.process(this, exchange);
+    }
+
+    /**
+     * Enqueues an exchange for later batch processing.
+     */
+    public boolean process(Exchange exchange, AsyncCallback callback) {
+        try {
+            // if batch consumer is enabled then we need to adjust the batch size
+            // with the size from the batch consumer
+            if (isBatchConsumer()) {
+                int size = exchange.getProperty(Exchange.BATCH_SIZE, Integer.class);
+                if (batchSize != size) {
+                    batchSize = size;
+                    LOG.trace("Using batch consumer completion, so setting batch size to: {}", batchSize);
+                }
+            }
+
+            // validate that the exchange can be used
+            if (!isValid(exchange)) {
+                if (isIgnoreInvalidExchanges()) {
+                    LOG.debug("Invalid Exchange. This Exchange will be ignored: {}", exchange);
+                } else {
+                    throw new CamelExchangeException("Exchange is not valid to be used by the BatchProcessor", exchange);
+                }
+            } else {
+                // exchange is valid so enqueue the exchange
+                sender.enqueueExchange(exchange);
+            }
+        } catch (Throwable e) {
+            exchange.setException(e);
+        }
+        callback.done(true);
+        return true;
+    }
+
+    /**
+     * Is the given exchange valid to be used.
+     *
+     * @param exchange the given exchange
+     * @return <tt>true</tt> if valid, <tt>false</tt> otherwise
+     */
+    private boolean isValid(Exchange exchange) {
+        Object result = null;
+        try {
+            result = expression.evaluate(exchange, Object.class);
+        } catch (Exception e) {
+            // ignore
+        }
+        return result != null;
+    }
+
+    /**
+     * Sender thread for queued-up exchanges.
+     */
+    private class BatchSender extends Thread {
+
+        private Queue<Exchange> queue;
+        private Lock queueLock = new ReentrantLock();
+        private final AtomicBoolean exchangeEnqueued = new AtomicBoolean();
+        private final Queue<String> completionPredicateMatched = new ConcurrentLinkedQueue<>();
+        private Condition exchangeEnqueuedCondition = queueLock.newCondition();
+
+        BatchSender() {
+            super(camelContext.getExecutorServiceManager().resolveThreadName("Batch Sender"));
+            this.queue = new LinkedList<>();
+        }
+
+        @Override
+        public void run() {
+            // Wait until one of either:
+            // * an exchange being queued;
+            // * the batch timeout expiring; or
+            // * the thread being cancelled.
+            //
+            // If an exchange is queued then we need to determine whether the
+            // batch is complete. If it is complete then we send out the batched
+            // exchanges. Otherwise we move back into our wait state.
+            //
+            // If the batch times out then we send out the batched exchanges
+            // collected so far.
+            //
+            // If we receive an interrupt then all blocking operations are
+            // interrupted and our thread terminates.
+            //
+            // The goal of the following algorithm in terms of synchronisation
+            // is to provide fine grained locking i.e. retaining the lock only
+            // when required. Special consideration is given to releasing the
+            // lock when calling an overloaded method i.e. sendExchanges.
+            // Unlocking is important as the process of sending out the exchanges
+            // would otherwise block new exchanges from being queued.
+
+            queueLock.lock();
+            try {
+                do {
+                    try {
+                        if (!exchangeEnqueued.get()) {
+                            LOG.trace("Waiting for new exchange to arrive or batchTimeout to occur after {} ms.", batchTimeout);
+                            exchangeEnqueuedCondition.await(batchTimeout, TimeUnit.MILLISECONDS);
+                        }
+
+                        // if the completion predicate was triggered then there is an exchange id which denotes when to complete
+                        String id = null;
+                        if (!completionPredicateMatched.isEmpty()) {
+                            id = completionPredicateMatched.poll();
+                        }
+
+                        if (id != null || !exchangeEnqueued.get()) {
+                            if (id != null) {
+                                LOG.trace("Collecting exchanges to be aggregated triggered by completion predicate");
+                            } else {
+                                LOG.trace("Collecting exchanges to be aggregated triggered by batch timeout");
+                            }
+                            drainQueueTo(collection, batchSize, id);
+                        } else {
+                            exchangeEnqueued.set(false);
+                            boolean drained = false;
+                            while (isInBatchCompleted(queue.size())) {
+                                drained = true;
+                                drainQueueTo(collection, batchSize, id);
+                            }
+                            if (drained) {
+                                LOG.trace("Collecting exchanges to be aggregated triggered by new exchanges received");
+                            }
+
+                            if (!isOutBatchCompleted()) {
+                                continue;
+                            }
+                        }
+
+                        queueLock.unlock();
+                        try {
+                            try {
+                                sendExchanges();
+                            } catch (Throwable t) {
+                                // a fail safe to handle all exceptions being thrown
+                                getExceptionHandler().handleException(t);
+                            }
+                        } finally {
+                            queueLock.lock();
+                        }
+
+                    } catch (InterruptedException e) {
+                        break;
+                    }
+
+                } while (isRunAllowed());
+
+            } finally {
+                queueLock.unlock();
+            }
+        }
+
+        /**
+         * This method should be called with queueLock held
+         */
+        private void drainQueueTo(Collection<Exchange> collection, int batchSize, String exchangeId) {
+            for (int i = 0; i < batchSize; ++i) {
+                Exchange e = queue.poll();
+                if (e != null) {
+                    try {
+                        collection.add(e);
+                    } catch (Exception t) {
+                        e.setException(t);
+                    } catch (Throwable t) {
+                        getExceptionHandler().handleException(t);
+                    }
+                    if (exchangeId != null && exchangeId.equals(e.getExchangeId())) {
+                        // this batch is complete so stop draining
+                        break;
+                    }
+                } else {
+                    break;
+                }
+            }
+        }
+
+        public void cancel() {
+            interrupt();
+        }
+
+        public void enqueueExchange(Exchange exchange) {
+            LOG.debug("Received exchange to be batched: {}", exchange);
+            queueLock.lock();
+            try {
+                // pre test whether the completion predicate matched
+                if (completionPredicate != null) {
+                    boolean matches = completionPredicate.matches(exchange);
+                    if (matches) {
+                        LOG.trace("Exchange matched completion predicate: {}", exchange);
+                        // add this exchange to the list of exchanges which marks the batch as complete
+                        completionPredicateMatched.add(exchange.getExchangeId());
+                    }
+                }
+                queue.add(exchange);
+                exchangeEnqueued.set(true);
+                exchangeEnqueuedCondition.signal();
+            } finally {
+                queueLock.unlock();
+            }
+        }
+
+        private void sendExchanges() throws Exception {
+            Iterator<Exchange> iter = collection.iterator();
+            while (iter.hasNext()) {
+                Exchange exchange = iter.next();
+                iter.remove();
+                try {
+                    LOG.debug("Sending aggregated exchange: {}", exchange);
+                    processExchange(exchange);
+                } catch (Throwable t) {
+                    // must catch throwable to avoid growing memory
+                    getExceptionHandler().handleException("Error processing aggregated exchange: " + exchange, t);
+                }
+            }
+        }
+    }
+
 }
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 0eb4d33..17e66ce 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
@@ -76,7 +76,7 @@ with the following path and query parameters:
 |===
 
 
-==== Query Parameters (38 parameters):
+==== Query Parameters (37 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -111,7 +111,6 @@ with the following path and query parameters:
 | *throwExceptionOnFailure* (producer) | Option to disable throwing the HttpOperationFailedException in case of failed responses from the remote server. This allows you to get all responses regardless of the HTTP status code. | true | boolean
 | *cookieHandler* (producer) | Configure a cookie handler to maintain a HTTP session |  | CookieHandler
 | *okStatusCodeRange* (producer) | The status codes which are considered a success response. The values are inclusive. Multiple ranges can be defined, separated by comma, e.g. 200-204,209,301-304. Each range must be a single number or from-to with the dash included. | 200-299 | String
-| *urlRewrite* (producer) | *Deprecated* Refers to a custom org.apache.camel.component.http.UrlRewrite which allows you to rewrite urls when you bridge/proxy endpoints. See more details at http://camel.apache.org/urlrewrite.html |  | UrlRewrite
 | *mapHttpMessageBody* (advanced) | If this option is true then IN exchange Body of the exchange will be mapped to HTTP body. Setting this to false will avoid the HTTP mapping. | true | boolean
 | *mapHttpMessageFormUrl EncodedBody* (advanced) | If this option is true then IN exchange Form Encoded body of the exchange will be mapped to HTTP. Setting this to false will avoid the HTTP Form Encoded body mapping. | true | boolean
 | *mapHttpMessageHeaders* (advanced) | If this option is true then IN exchange Headers of the exchange will be mapped to HTTP headers. Setting this to false will avoid the HTTP Headers mapping. | true | boolean
diff --git a/components/camel-bindy/src/test/java/org/apache/camel/dataformat/bindy/fixed/marshall/simple/BindySimpleFixedLengthMarshallTest.java b/components/camel-bindy/src/test/java/org/apache/camel/dataformat/bindy/fixed/marshall/simple/BindySimpleFixedLengthMarshallTest.java
index 5d1a61a..55df967 100644
--- a/components/camel-bindy/src/test/java/org/apache/camel/dataformat/bindy/fixed/marshall/simple/BindySimpleFixedLengthMarshallTest.java
+++ b/components/camel-bindy/src/test/java/org/apache/camel/dataformat/bindy/fixed/marshall/simple/BindySimpleFixedLengthMarshallTest.java
@@ -34,7 +34,6 @@ import org.apache.camel.dataformat.bindy.annotation.DataField;
 import org.apache.camel.dataformat.bindy.annotation.FixedLengthRecord;
 import org.apache.camel.model.dataformat.BindyDataFormat;
 import org.apache.camel.model.dataformat.BindyType;
-
 import org.junit.Test;
 import org.springframework.test.annotation.DirtiesContext;
 import org.springframework.test.context.ContextConfiguration;
diff --git a/components/camel-bindy/src/test/java/org/apache/camel/dataformat/bindy/fixed/marshall/simple/BindySimpleFixedLengthObjectMarshallTest.java b/components/camel-bindy/src/test/java/org/apache/camel/dataformat/bindy/fixed/marshall/simple/BindySimpleFixedLengthObjectMarshallTest.java
index baec317..54522ee 100644
--- a/components/camel-bindy/src/test/java/org/apache/camel/dataformat/bindy/fixed/marshall/simple/BindySimpleFixedLengthObjectMarshallTest.java
+++ b/components/camel-bindy/src/test/java/org/apache/camel/dataformat/bindy/fixed/marshall/simple/BindySimpleFixedLengthObjectMarshallTest.java
@@ -35,7 +35,7 @@ import org.apache.camel.model.dataformat.BindyType;
 import org.apache.camel.spring.boot.TypeConversionConfiguration;
 import org.apache.camel.spring.javaconfig.SingleRouteCamelConfiguration;
 import org.apache.camel.test.spring.CamelSpringDelegatingTestContextLoader;
-import org.apache.camel.test.spring.CamelSpringJUnit4ClassRunner;
+import org.apache.camel.test.spring.CamelSpringRunner;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.springframework.context.annotation.Bean;
@@ -43,7 +43,7 @@ import org.springframework.test.annotation.DirtiesContext;
 import org.springframework.test.context.ContextConfiguration;
 import org.springframework.test.context.junit4.AbstractJUnit4SpringContextTests;
 
-@RunWith(CamelSpringJUnit4ClassRunner.class)
+@RunWith(CamelSpringRunner.class)
 @ContextConfiguration(
         classes = {
                 BindySimpleFixedLengthObjectMarshallTest.Configuration.class,
diff --git a/components/camel-blueprint/src/test/java/org/apache/camel/blueprint/BlueprintJaxbRestTest.java b/components/camel-blueprint/src/test/java/org/apache/camel/blueprint/BlueprintJaxbRestTest.java
index 0e3ab3a..ca043b0 100644
--- a/components/camel-blueprint/src/test/java/org/apache/camel/blueprint/BlueprintJaxbRestTest.java
+++ b/components/camel-blueprint/src/test/java/org/apache/camel/blueprint/BlueprintJaxbRestTest.java
@@ -34,11 +34,6 @@ public class BlueprintJaxbRestTest extends TestSupport {
 
     @Test
     public void test() throws Exception {
-        if (isJava16() && isJavaVendor("ibm")) {
-            // does not test well on java6 with ibm
-            return;
-        }
-
         DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
         dbf.setNamespaceAware(true);
         DocumentBuilder db = dbf.newDocumentBuilder();
diff --git a/components/camel-blueprint/src/test/java/org/apache/camel/blueprint/BlueprintJaxbTest.java b/components/camel-blueprint/src/test/java/org/apache/camel/blueprint/BlueprintJaxbTest.java
index b3e6d79..35f1c4c 100644
--- a/components/camel-blueprint/src/test/java/org/apache/camel/blueprint/BlueprintJaxbTest.java
+++ b/components/camel-blueprint/src/test/java/org/apache/camel/blueprint/BlueprintJaxbTest.java
@@ -34,11 +34,6 @@ public class BlueprintJaxbTest extends TestSupport {
 
     @Test
     public void test() throws Exception {
-        if (isJava16() && isJavaVendor("ibm")) {
-            // does not test well on java6 with ibm
-            return;
-        }
-
         DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
         dbf.setNamespaceAware(true);
         DocumentBuilder db = dbf.newDocumentBuilder();
diff --git a/components/camel-cassandraql/src/main/java/org/apache/camel/component/cassandra/CassandraEndpoint.java b/components/camel-cassandraql/src/main/java/org/apache/camel/component/cassandra/CassandraEndpoint.java
index 3ef0b6a..ce448c4 100644
--- a/components/camel-cassandraql/src/main/java/org/apache/camel/component/cassandra/CassandraEndpoint.java
+++ b/components/camel-cassandraql/src/main/java/org/apache/camel/component/cassandra/CassandraEndpoint.java
@@ -199,16 +199,6 @@ public class CassandraEndpoint extends ScheduledPollEndpoint {
         this.beanRef = beanRef;
     }
 
-    @Deprecated
-    public String getBeanRef() {
-        return beanRef;
-    }
-
-    @Deprecated
-    public void setBeanRef(String beanRef) {
-        this.beanRef = beanRef;
-    }
-
     public String getHosts() {
         return hosts;
     }
diff --git a/components/camel-cdi/src/main/java/org/apache/camel/cdi/XmlCdiBeanFactory.java b/components/camel-cdi/src/main/java/org/apache/camel/cdi/XmlCdiBeanFactory.java
index 291f1ab..608a659 100644
--- a/components/camel-cdi/src/main/java/org/apache/camel/cdi/XmlCdiBeanFactory.java
+++ b/components/camel-cdi/src/main/java/org/apache/camel/cdi/XmlCdiBeanFactory.java
@@ -269,7 +269,7 @@ final class XmlCdiBeanFactory {
     }
 
     private SyntheticBean<?> proxyFactoryBean(Bean<?> context, CamelProxyFactoryDefinition proxy, URL url) {
-        if (isEmpty(proxy.getServiceRef()) && isEmpty(proxy.getServiceUrl())) {
+        if (isEmpty(proxy.getServiceUrl())) {
             throw new CreationException(
                 format("Missing [%s] or [%s] attribute for imported bean [%s] from resource [%s]",
                     "serviceRef", "serviceUrl", proxy.getId(), url));
diff --git a/components/camel-cdi/src/main/java/org/apache/camel/cdi/XmlProxyFactoryBean.java b/components/camel-cdi/src/main/java/org/apache/camel/cdi/XmlProxyFactoryBean.java
index e969f4c..bc62363 100644
--- a/components/camel-cdi/src/main/java/org/apache/camel/cdi/XmlProxyFactoryBean.java
+++ b/components/camel-cdi/src/main/java/org/apache/camel/cdi/XmlProxyFactoryBean.java
@@ -59,21 +59,15 @@ final class XmlProxyFactoryBean<T> extends SyntheticBean<T> {
                 : getReference(manager, CamelContext.class, this.context);
 
             Endpoint endpoint;
-            if (isNotEmpty(proxy.getServiceRef())) {
-                endpoint = context.getRegistry().lookupByNameAndType(proxy.getServiceRef(), Endpoint.class);
+            if (isNotEmpty(proxy.getServiceUrl())) {
+                endpoint = context.getEndpoint(proxy.getServiceUrl());
             } else {
-                if (isNotEmpty(proxy.getServiceUrl())) {
-                    endpoint = context.getEndpoint(proxy.getServiceUrl());
-                } else {
-                    throw new IllegalStateException("serviceUrl or serviceRef must not be empty!");
-                }
+                throw new IllegalStateException("serviceUrl must not be empty!");
             }
 
             if (endpoint == null) {
                 throw new UnsatisfiedResolutionException("Could not resolve endpoint: "
-                    + (isNotEmpty(proxy.getServiceRef())
-                    ? proxy.getServiceRef()
-                    : proxy.getServiceUrl()));
+                    + proxy.getServiceUrl());
             }
 
             // binding is enabled by default
diff --git a/components/camel-cm-sms/src/test/java/org/apache/camel/component/cm/test/CMTest.java b/components/camel-cm-sms/src/test/java/org/apache/camel/component/cm/test/CMTest.java
index 96aff35..3ffa327 100644
--- a/components/camel-cm-sms/src/test/java/org/apache/camel/component/cm/test/CMTest.java
+++ b/components/camel-cm-sms/src/test/java/org/apache/camel/component/cm/test/CMTest.java
@@ -52,7 +52,7 @@ import org.apache.camel.component.cm.test.mocks.cmsender.UnknownErrorExceptionSe
 import org.apache.camel.component.cm.test.mocks.cmsender.UnroutableMessageExceptionSender;
 import org.apache.camel.component.mock.MockEndpoint;
 import org.apache.camel.test.spring.CamelSpringDelegatingTestContextLoader;
-import org.apache.camel.test.spring.CamelSpringJUnit4ClassRunner;
+import org.apache.camel.test.spring.CamelSpringRunner;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
@@ -62,7 +62,7 @@ import org.springframework.test.context.ContextConfiguration;
 import org.springframework.test.context.junit4.AbstractJUnit4SpringContextTests;
 import org.springframework.util.Assert;
 
-@RunWith(CamelSpringJUnit4ClassRunner.class)
+@RunWith(CamelSpringRunner.class)
 @ContextConfiguration(classes = {CamelTestConfiguration.class }, loader = CamelSpringDelegatingTestContextLoader.class)
 public class CMTest extends AbstractJUnit4SpringContextTests {
 
diff --git a/components/camel-consul/src/main/docs/consul-component.adoc b/components/camel-consul/src/main/docs/consul-component.adoc
index 70b7df2..345076b 100644
--- a/components/camel-consul/src/main/docs/consul-component.adoc
+++ b/components/camel-consul/src/main/docs/consul-component.adoc
@@ -95,7 +95,7 @@ with the following path and query parameters:
 === Spring Boot Auto-Configuration
 
 
-The component supports 90 options, which are listed below.
+The component supports 87 options, which are listed below.
 
 
 
@@ -109,7 +109,6 @@ The component supports 90 options, which are listed below.
 | *camel.component.consul.cluster.service.connect-timeout-millis* |  |  | Long
 | *camel.component.consul.cluster.service.consistency-mode* |  |  | ConsistencyMode
 | *camel.component.consul.cluster.service.datacenter* |  |  | String
-| *camel.component.consul.cluster.service.dc* |  |  | String
 | *camel.component.consul.cluster.service.enabled* | Sets if the consul cluster service should be enabled or not, default is false. | false | Boolean
 | *camel.component.consul.cluster.service.first-index* |  |  | BigInteger
 | *camel.component.consul.cluster.service.id* | Cluster Service ID |  | String
@@ -136,7 +135,6 @@ The component supports 90 options, which are listed below.
 | *camel.component.consul.configuration.consistency-mode* | The consistencyMode used for queries, default ConsistencyMode.DEFAULT |  | ConsistencyMode
 | *camel.component.consul.configuration.consul-client* | Reference to a `com.orbitz.consul.Consul` in the registry. |  | Consul
 | *camel.component.consul.configuration.datacenter* | The data center |  | String
-| *camel.component.consul.configuration.dc* | The data center  @deprecated replaced by {@link #setDatacenter(String)} ()} |  | String
 | *camel.component.consul.configuration.first-index* | The first index for watch for, default 0 |  | BigInteger
 | *camel.component.consul.configuration.key* | The default key. Can be overridden by CamelConsulKey |  | String
 | *camel.component.consul.configuration.near-node* | The near node to use for queries. |  | String
@@ -168,7 +166,6 @@ The component supports 90 options, which are listed below.
 | *camel.component.consul.service-registry.connect-timeout-millis* |  |  | Long
 | *camel.component.consul.service-registry.consistency-mode* |  |  | ConsistencyMode
 | *camel.component.consul.service-registry.datacenter* |  |  | String
-| *camel.component.consul.service-registry.dc* |  |  | String
 | *camel.component.consul.service-registry.deregister-after* |  |  | Integer
 | *camel.component.consul.service-registry.deregister-services-on-stop* |  |  | Boolean
 | *camel.component.consul.service-registry.enabled* | Sets if the consul service registry should be enabled or not, default is false. | false | Boolean
diff --git a/components/camel-consul/src/main/java/org/apache/camel/component/consul/ConsulClientConfiguration.java b/components/camel-consul/src/main/java/org/apache/camel/component/consul/ConsulClientConfiguration.java
index aa5e4d7..96c637c 100644
--- a/components/camel-consul/src/main/java/org/apache/camel/component/consul/ConsulClientConfiguration.java
+++ b/components/camel-consul/src/main/java/org/apache/camel/component/consul/ConsulClientConfiguration.java
@@ -85,24 +85,6 @@ public class ConsulClientConfiguration implements Cloneable {
         this.url = url;
     }
 
-    /**
-     * @deprecated replaced by {@link #getDatacenter()} ()}
-     */
-    @Deprecated
-    public String getDc() {
-        return datacenter;
-    }
-
-    /**
-     * The data center
-     *
-     * @deprecated replaced by {@link #setDatacenter(String)} ()}
-     */
-    @Deprecated
-    public void setDc(String dc) {
-        this.datacenter = dc;
-    }
-
     public String getDatacenter() {
         return datacenter;
     }
diff --git a/components/camel-consul/src/main/java/org/apache/camel/component/consul/cloud/ConsulServiceDiscoveryFactory.java b/components/camel-consul/src/main/java/org/apache/camel/component/consul/cloud/ConsulServiceDiscoveryFactory.java
index 0c032af..27fb8e6 100644
--- a/components/camel-consul/src/main/java/org/apache/camel/component/consul/cloud/ConsulServiceDiscoveryFactory.java
+++ b/components/camel-consul/src/main/java/org/apache/camel/component/consul/cloud/ConsulServiceDiscoveryFactory.java
@@ -45,23 +45,6 @@ public class ConsulServiceDiscoveryFactory implements ServiceDiscoveryFactory {
         configuration.setUrl(url);
     }
 
-    /**
-     * @deprecated, @deprecated replaced by {@link #getDatacenter()} ()}
-     * @return
-     */
-    @Deprecated
-    public String getDc() {
-        return configuration.getDatacenter();
-    }
-
-    /**
-     * @deprecated, @deprecated replaced by {@link #setDatacenter(String)}} ()}
-     */
-    @Deprecated
-    public void setDc(String dc) {
-        configuration.setDc(dc);
-    }
-
     public void setDatacenter(String dc) {
         configuration.setDatacenter(dc);
     }
diff --git a/components/camel-core-xml/src/main/java/org/apache/camel/core/xml/CamelProxyFactoryDefinition.java b/components/camel-core-xml/src/main/java/org/apache/camel/core/xml/CamelProxyFactoryDefinition.java
index 5c78b93..3efcbae 100644
--- a/components/camel-core-xml/src/main/java/org/apache/camel/core/xml/CamelProxyFactoryDefinition.java
+++ b/components/camel-core-xml/src/main/java/org/apache/camel/core/xml/CamelProxyFactoryDefinition.java
@@ -33,8 +33,6 @@ public class CamelProxyFactoryDefinition extends IdentifiedType {
 
     @XmlAttribute
     private String serviceUrl;
-    @XmlAttribute @Deprecated
-    private String serviceRef;
     @XmlAttribute
     private Class<?> serviceInterface;
     @XmlAttribute
@@ -53,20 +51,6 @@ public class CamelProxyFactoryDefinition extends IdentifiedType {
         this.serviceUrl = serviceUrl;
     }
 
-    public String getServiceRef() {
-        return serviceRef;
-    }
-
-    /**
-     * The camel endpoint reference used to send the message to when calling the service from the interface.
-     *
-     * @deprecated use serviceUrl instead with the ref endpoint.
-     */
-    @Deprecated
-    public void setServiceRef(String serviceRef) {
-        this.serviceRef = serviceRef;
-    }
-
     public Class<?> getServiceInterface() {
         return serviceInterface;
     }
diff --git a/components/camel-crypto/src/test/java/org/apache/camel/component/crypto/ECDSASignatureTest.java b/components/camel-crypto/src/test/java/org/apache/camel/component/crypto/ECDSASignatureTest.java
index 7b20ee3..4deba18 100644
--- a/components/camel-crypto/src/test/java/org/apache/camel/component/crypto/ECDSASignatureTest.java
+++ b/components/camel-crypto/src/test/java/org/apache/camel/component/crypto/ECDSASignatureTest.java
@@ -46,16 +46,6 @@ public class ECDSASignatureTest extends CamelTestSupport {
 
     public ECDSASignatureTest() throws Exception {
         // BouncyCastle is required for ECDSA support for JDK 1.6
-        if (isJava16()
-            && Security.getProvider("BC") == null) {
-            Constructor<?> cons;
-            Class<?> c = Class.forName("org.bouncycastle.jce.provider.BouncyCastleProvider");
-            cons = c.getConstructor(new Class[] {});
-            
-            Provider provider = (java.security.Provider)cons.newInstance();
-            Security.insertProviderAt(provider, 2);
-        }
-        
         // This test fails with the IBM JDK
         if (isJavaVendor("IBM")) {
             ibmJDK = true;
diff --git a/components/camel-cxf-transport/src/main/java/org/apache/camel/component/cxf/transport/CamelConduit.java b/components/camel-cxf-transport/src/main/java/org/apache/camel/component/cxf/transport/CamelConduit.java
index a03d822..8cb4fc3 100644
--- a/components/camel-cxf-transport/src/main/java/org/apache/camel/component/cxf/transport/CamelConduit.java
+++ b/components/camel-cxf-transport/src/main/java/org/apache/camel/component/cxf/transport/CamelConduit.java
@@ -50,7 +50,6 @@ public class CamelConduit extends AbstractConduit implements Configurable {
     private EndpointInfo endpointInfo;
     private String targetCamelEndpointUri;
     private Producer producer;
-    private ProducerTemplate camelTemplate;
     private Bus bus;
     private HeaderFilterStrategy headerFilterStrategy;
 
@@ -137,17 +136,4 @@ public class CamelConduit extends AbstractConduit implements Configurable {
         }
     }
 
-    @Deprecated
-    public ProducerTemplate getCamelTemplate() throws Exception {
-        if (camelTemplate == null) {
-            camelTemplate = getCamelContext().createProducerTemplate();
-        }
-        return camelTemplate;
-    }
-
-    @Deprecated
-    public void setCamelTemplate(ProducerTemplate template) {
-        camelTemplate = template;
-    }
-
 }
diff --git a/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfComponent.java b/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfComponent.java
index 973e4e5..6ddbdc7 100644
--- a/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfComponent.java
+++ b/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfComponent.java
@@ -84,14 +84,6 @@ public class CxfComponent extends HeaderFilterStrategyComponent implements SSLCo
 
         CxfEndpoint result;
 
-        Object value = parameters.remove("setDefaultBus");
-        if (value != null) {
-            LOG.warn("The option setDefaultBus is @deprecated, use name defaultBus instead");
-            if (!parameters.containsKey("defaultBus")) {
-                parameters.put("defaultBus", value);
-            }
-        }
-
         if (allowStreaming != null && !parameters.containsKey("allowStreaming")) {
             parameters.put("allowStreaming", Boolean.toString(allowStreaming));
         }
diff --git a/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfConstants.java b/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfConstants.java
deleted file mode 100644
index bc2782a..0000000
--- a/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfConstants.java
+++ /dev/null
@@ -1,72 +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.component.cxf;
-
-/**
- * Constants used in this module
- * Please use the org.apache.camel.component.cxf.common.message.CxfConstants in the camel-cxf-transport module
- * This class will be removed in Camel 3.0
- */
-@Deprecated
-public interface CxfConstants {
-    String METHOD = "method";
-    String SERVICE_CLASS = "serviceClass";
-    // CamelCXFDataFormat is used as exchange property key
-    String DATA_FORMAT_PROPERTY = "CamelCXFDataFormat";
-    String SET_DEFAULT_BUS = "setDefaultBus";
-    String WSDL_URL = "wsdlURL";
-    String ADDRESS = "address";
-    String SERVICE_NAME = "serviceName";
-    String PORT_NAME = "portName";
-    String SERVICE_LOCALNAME = "serviceLocalName";
-    String SERVICE_NAMESPACE = "serviceNamespace";
-    String PORT_LOCALNAME = "endpointLocalName";
-    String PORT_NAMESPACE = "endpointNamespace";
-    String PROTOCOL_NAME_RES = "res";
-    String OPERATION_NAME = "operationName";
-    String OPERATION_NAMESPACE = "operationNamespace";
-    String SPRING_CONTEXT_ENDPOINT = "bean:";
-    @Deprecated
-    // This constants will be removed in Camel 3.0
-    // Please use org.apache.camel.component.cxf.transport.CamelTransportConstants in camel-cxf-transport
-    String CAMEL_TRANSPORT_PREFIX = "camel:";
-    String JAXWS_CONTEXT = "jaxwsContext";
-    @Deprecated
-    // This constants will be removed in Camel 3.0
-    // Please use org.apache.camel.component.cxf.transport.CamelTransportConstants in camel-cxf-transport
-    String CXF_EXCHANGE = "org.apache.cxf.message.exchange";
-    String DISPATCH_NAMESPACE = "http://camel.apache.org/cxf/jaxws/dispatch";
-    String DISPATCH_DEFAULT_OPERATION_NAMESPACE = "Invoke";    
-    @Deprecated
-    // This constants will be removed in Camel 3.0
-    // Please use org.apache.camel.component.cxf.transport.CamelTransportConstants in camel-cxf-transport
-    String CAMEL_EXCHANGE = "org.apache.camel.exchange";
-    String CAMEL_CXF_MESSAGE = "CamelCxfMessage";
-    String CAMEL_CXF_RS_USING_HTTP_API = "CamelCxfRsUsingHttpAPI";
-    String CAMEL_CXF_RS_VAR_VALUES = "CamelCxfRsVarValues";
-    String CAMEL_CXF_RS_RESPONSE_CLASS = "CamelCxfRsResponseClass";
-    String CAMEL_CXF_RS_RESPONSE_GENERIC_TYPE = "CamelCxfRsResponseGenericType";
-    String CAMEL_CXF_RS_QUERY_MAP = "CamelCxfRsQueryMap";
-    String CAMEL_CXF_RS_EXTRACT_ENTITY = "CamelCxfRsExtractEntity";
-    String CAMEL_CXF_RS_OPERATION_RESOURCE_INFO_STACK = "CamelCxfRsOperationResourceInfoStack";
-    String CAMEL_CXF_ATTACHMENTS = "CamelAttachments";
-    String CAMEL_CXF_RS_THROW_EXCEPTION_ON_FAILURE = "CamelCxfRsThrowExceptionOnFailure";
-
-}
-
-
-
diff --git a/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfProducer.java b/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfProducer.java
index 3e02d69..448df68 100644
--- a/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfProducer.java
+++ b/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfProducer.java
@@ -89,7 +89,7 @@ public class CxfProducer extends DefaultProducer implements AsyncProcessor {
             Object jmsConfig = getJmsConfig.invoke(conduit);
             java.lang.reflect.Method getMessageType = jmsConfig.getClass().getMethod("getMessageType");
             boolean isTextPayload = "text".equals(getMessageType.invoke(jmsConfig));
-            if (isTextPayload && endpoint.getDataFormat().equals(DataFormat.MESSAGE)) {
+            if (isTextPayload && endpoint.getDataFormat().equals(DataFormat.RAW)) {
                 //throw Exception as the Text JMS mesasge won't send as stream
                 throw new RuntimeException("Text JMS message coundn't be a stream");
             }
diff --git a/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/DataFormat.java b/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/DataFormat.java
index 9daf8ba..f7cf674 100644
--- a/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/DataFormat.java
+++ b/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/DataFormat.java
@@ -47,18 +47,6 @@ public enum DataFormat {
      * 
      */
     RAW,
-    
-    /**
-     * MESSAGE is the raw message that is received from the transport layer.
-     * Streaming and non-streaming are both supported.
-     * @deprecated - equivalent to RAW mode for Camel 2.x
-     */
-    @Deprecated
-    MESSAGE {
-        public DataFormat dealias() {
-            return RAW;
-        }
-    },
 
     /**
      * CXF_MESSAGE is the message that is received from the transport layer
diff --git a/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/feature/MessageDataFormatFeature.java b/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/feature/MessageDataFormatFeature.java
deleted file mode 100644
index 7d0d4d3..0000000
--- a/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/feature/MessageDataFormatFeature.java
+++ /dev/null
@@ -1,35 +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.component.cxf.feature;
-
-/**
- * <p>
- * MessageDataFormatFeature sets up the CXF endpoint interceptor for handling the
- * Message in Message data format.  Only the interceptors of these phases are
- * <b>preserved</b>:
- * </p>
- * <p>
- * In phases: {Phase.RECEIVE , Phase.INVOKE, Phase.POST_INVOKE}
- * </p>
- * <p>
- * Out phases: {Phase.PREPARE_SEND, Phase.WRITE, Phase.SEND, Phase.PREPARE_SEND_ENDING}
- * </p>
- */
-@Deprecated
-public class MessageDataFormatFeature extends RAWDataFormatFeature {
-}
diff --git a/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/jaxrs/CxfRsBlueprintEndpoint.java b/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/jaxrs/CxfRsBlueprintEndpoint.java
index d6a3d50..8e4ee39 100644
--- a/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/jaxrs/CxfRsBlueprintEndpoint.java
+++ b/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/jaxrs/CxfRsBlueprintEndpoint.java
@@ -32,20 +32,6 @@ public class CxfRsBlueprintEndpoint extends CxfRsEndpoint {
     private BlueprintContainer blueprintContainer;
     private BundleContext bundleContext;
     private BlueprintCamelContext blueprintCamelContext;
-    
-    @Deprecated 
-    /**
-     * It will be removed in Camel 3.0
-     * @param comp
-     * @param bean
-     */
-    public CxfRsBlueprintEndpoint(Component comp, AbstractJAXRSFactoryBean bean) {
-        super(bean.getAddress(), comp);
-        this.bean = bean;
-        BlueprintSupport support = (BlueprintSupport)bean;
-        setBlueprintContainer(support.getBlueprintContainer());
-        setBundleContext(support.getBundleContext());
-    }
 
     public CxfRsBlueprintEndpoint(Component comp, String uri, AbstractJAXRSFactoryBean bean) {
         super(uri, comp);
diff --git a/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/jaxrs/CxfRsComponent.java b/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/jaxrs/CxfRsComponent.java
index 1eda373..eae097c 100644
--- a/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/jaxrs/CxfRsComponent.java
+++ b/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/jaxrs/CxfRsComponent.java
@@ -56,15 +56,6 @@ public class CxfRsComponent extends HeaderFilterStrategyComponent implements SSL
 
         CxfRsEndpoint answer;
 
-        Object value = parameters.remove("setDefaultBus");
-        if (value != null) {
-            LOG.warn("The option setDefaultBus is @deprecated, use name defaultBus instead");
-            if (!parameters.containsKey("defaultBus")) {
-                parameters.put("defaultBus", value);
-            }
-        }
-
-
         if (remaining.startsWith(CxfConstants.SPRING_CONTEXT_ENDPOINT)) {
             // Get the bean from the Spring context
             String beanId = remaining.substring(CxfConstants.SPRING_CONTEXT_ENDPOINT.length());
diff --git a/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/jaxrs/CxfRsSpringEndpoint.java b/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/jaxrs/CxfRsSpringEndpoint.java
index 46b235a..a38f1a5 100644
--- a/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/jaxrs/CxfRsSpringEndpoint.java
+++ b/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/jaxrs/CxfRsSpringEndpoint.java
@@ -32,18 +32,6 @@ public class CxfRsSpringEndpoint extends CxfRsEndpoint implements BeanIdAware {
     private ConfigurerImpl configurer;
     private String beanId;
 
-    @Deprecated
-    /**
-     * It will be removed in Camel 3.0
-     * 
-     * @param comp
-     * @param bean
-     */
-    public CxfRsSpringEndpoint(Component component, AbstractJAXRSFactoryBean bean) throws Exception {
-        super(bean.getAddress(), component);
-        init(bean);
-    }
-
     public CxfRsSpringEndpoint(Component component, String uri, AbstractJAXRSFactoryBean bean) throws Exception {
         super(uri, component);
         setAddress(bean.getAddress());
diff --git a/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/util/CxfEndpointUtilsTest.java b/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/util/CxfEndpointUtilsTest.java
index a587619..85d93e7 100644
--- a/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/util/CxfEndpointUtilsTest.java
+++ b/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/util/CxfEndpointUtilsTest.java
@@ -72,13 +72,7 @@ public class CxfEndpointUtilsTest extends Assert {
     public char sepChar() {
         return '&';
     }
-    
-    @SuppressWarnings("deprecation")
-    @Test
-    public void testGetDataFormatMessage() throws Exception {
-        CxfEndpoint endpoint = createEndpoint(getEndpointURI() + sepChar() + "dataFormat=MESSAGE");
-        assertEquals("We should get the Message DataFormat", DataFormat.MESSAGE, endpoint.getDataFormat());
-    }
+
     @Test
     public void testGetDataFormatCXF() throws Exception {
         CxfEndpoint endpoint = createEndpoint(getEndpointURI() + sepChar() + "dataFormat=CXF_MESSAGE");
diff --git a/components/camel-disruptor/src/main/docs/disruptor-component.adoc b/components/camel-disruptor/src/main/docs/disruptor-component.adoc
index 87cc683..8b6798e 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 8 options, which are listed below.
+The Disruptor component supports 7 options, which are listed below.
 
 
 
@@ -107,7 +107,6 @@ The Disruptor component supports 8 options, which are listed below.
 | *defaultProducerType* (producer) | To configure the default value for DisruptorProducerType The default value is Multi. | Multi | DisruptorProducerType
 | *defaultWaitStrategy* (consumer) | To configure the default value for DisruptorWaitStrategy The default value is Blocking. | Blocking | DisruptorWaitStrategy
 | *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
 |===
@@ -159,7 +158,7 @@ with the following path and query parameters:
 === Spring Boot Auto-Configuration
 
 
-The component supports 18 options, which are listed below.
+The component supports 16 options, which are listed below.
 
 
 
@@ -173,7 +172,6 @@ The component supports 18 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.queue-size* | To configure the ring buffer size |  | Integer
 | *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.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
@@ -182,7 +180,6 @@ The component supports 18 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.queue-size* | To configure the ring buffer size |  | Integer
 | *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
 |===
 // spring-boot-auto-configure options: END
diff --git a/components/camel-disruptor/src/main/java/org/apache/camel/component/disruptor/DisruptorComponent.java b/components/camel-disruptor/src/main/java/org/apache/camel/component/disruptor/DisruptorComponent.java
index eca1ebf..79c5db6 100644
--- a/components/camel-disruptor/src/main/java/org/apache/camel/component/disruptor/DisruptorComponent.java
+++ b/components/camel-disruptor/src/main/java/org/apache/camel/component/disruptor/DisruptorComponent.java
@@ -39,9 +39,6 @@ public class DisruptorComponent extends DefaultComponent {
 
     @Metadata(defaultValue = "" + DEFAULT_BUFFER_SIZE)
     private int bufferSize = -1;
-    //for SEDA compatibility only
-    private int queueSize = -1;
-
     @Metadata(label = "consumer", defaultValue = "1")
     private int defaultConcurrentConsumers = 1;
     @Metadata(label = "consumer")
@@ -115,8 +112,6 @@ public class DisruptorComponent extends DefaultComponent {
             sizeToUse = size;
         } else if (bufferSize > 0) {
             sizeToUse = bufferSize;
-        } else if (queueSize > 0) {
-            sizeToUse = queueSize;
         } else {
             sizeToUse = DEFAULT_BUFFER_SIZE;
         }
@@ -238,19 +233,6 @@ public class DisruptorComponent extends DefaultComponent {
     /**
      * To configure the ring buffer size
      */
-    @Deprecated
-    public void setQueueSize(final int size) {
-        queueSize = size;
-    }
-
-    @Deprecated
-    public int getQueueSize() {
-        return queueSize;
-    }
-
-    /**
-     * To configure the ring buffer size
-     */
     public void setBufferSize(final int size) {
         bufferSize = size;
     }
diff --git a/components/camel-ehcache/src/main/docs/ehcache-component.adoc b/components/camel-ehcache/src/main/docs/ehcache-component.adoc
index a82396a..26329d8 100644
--- a/components/camel-ehcache/src/main/docs/ehcache-component.adoc
+++ b/components/camel-ehcache/src/main/docs/ehcache-component.adoc
@@ -105,7 +105,7 @@ with the following path and query parameters:
 === Spring Boot Auto-Configuration
 
 
-The component supports 25 options, which are listed below.
+The component supports 24 options, which are listed below.
 
 
 
@@ -120,7 +120,6 @@ The component supports 25 options, which are listed below.
 | *camel.component.ehcache.configuration.action* | To configure the default cache action. If an action is set in the message header, then the operation from the header takes precedence. |  | String
 | *camel.component.ehcache.configuration.cache-manager* | The cache manager |  | CacheManager
 | *camel.component.ehcache.configuration.cache-manager-configuration* | The cache manager configuration |  | Configuration
-| *camel.component.ehcache.configuration.config-uri* | URI pointing to the Ehcache XML configuration file's location  @deprecated use {@link #setConfigurationUri(String)} instead |  | String
 | *camel.component.ehcache.configuration.configuration* | The default cache configuration to be used to create caches. |  | CacheConfiguration
 | *camel.component.ehcache.configuration.configuration-uri* | URI pointing to the Ehcache XML configuration file's location |  | String
 | *camel.component.ehcache.configuration.configurations* | A map of cache configuration to be used to create caches. |  | Map
diff --git a/components/camel-ehcache/src/main/java/org/apache/camel/component/ehcache/EhcacheConfiguration.java b/components/camel-ehcache/src/main/java/org/apache/camel/component/ehcache/EhcacheConfiguration.java
index 4cc043c..9426e92 100644
--- a/components/camel-ehcache/src/main/java/org/apache/camel/component/ehcache/EhcacheConfiguration.java
+++ b/components/camel-ehcache/src/main/java/org/apache/camel/component/ehcache/EhcacheConfiguration.java
@@ -80,24 +80,6 @@ public class EhcacheConfiguration implements Cloneable {
         return ObjectHelper.isNotEmpty(configurationUri);
     }
 
-    /**
-     * @deprecated use {@link #getConfigurationUri()} instead
-     */
-    @Deprecated
-    public String getConfigUri() {
-        return getConfigurationUri();
-    }
-
-    /**
-     * URI pointing to the Ehcache XML configuration file's location
-     *
-     * @deprecated use {@link #setConfigurationUri(String)} instead
-     */
-    @Deprecated
-    public void setConfigUri(String configUri) {
-        setConfigurationUri(configUri);
-    }
-
     public boolean isCreateCacheIfNotExist() {
         return createCacheIfNotExist;
     }
diff --git a/components/camel-elsql/src/main/docs/elsql-component.adoc b/components/camel-elsql/src/main/docs/elsql-component.adoc
index 3e7d8f1..b4129c7 100644
--- a/components/camel-elsql/src/main/docs/elsql-component.adoc
+++ b/components/camel-elsql/src/main/docs/elsql-component.adoc
@@ -85,7 +85,7 @@ with the following path and query parameters:
 |===
 
 
-==== Query Parameters (47 parameters):
+==== Query Parameters (46 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -94,7 +94,6 @@ with the following path and query parameters:
 | *allowNamedParameters* (common) | Whether to allow using named parameters in the queries. | true | boolean
 | *databaseVendor* (common) | To use a vendor specific com.opengamma.elsql.ElSqlConfig |  | ElSqlDatabaseVendor
 | *dataSource* (common) | Sets the DataSource to use to communicate with the database. |  | DataSource
-| *dataSourceRef* (common) | *Deprecated* Sets the reference to a DataSource to lookup from the registry, to use for communicating with the database. |  | String
 | *outputClass* (common) | Specify the full package and class name to use as conversion when outputType=SelectOne. |  | String
 | *outputHeader* (common) | Store the query result in a header instead of the message body. By default, outputHeader == null and the query result is stored in the message body, any existing content in the message body is discarded. If outputHeader is set, the value is used as the name of the header to store the query result and the original message body is preserved. |  | String
 | *outputType* (common) | Make the output of consumer or producer to SelectList as List of Map, or SelectOne as single Java object in the following way:a) If the query has only single column, then that JDBC Column object is returned. (such as SELECT COUNT( ) FROM PROJECT will return a Long object.b) If the query has more than one column, then it will return a Map of that result.c) If the outputClass is set, then it will convert the query result into an Java bean object by calling all the [...]
diff --git a/components/camel-elsql/src/main/java/org/apache/camel/component/elsql/ElsqlComponent.java b/components/camel-elsql/src/main/java/org/apache/camel/component/elsql/ElsqlComponent.java
index 222760b..51c920d 100644
--- a/components/camel-elsql/src/main/java/org/apache/camel/component/elsql/ElsqlComponent.java
+++ b/components/camel-elsql/src/main/java/org/apache/camel/component/elsql/ElsqlComponent.java
@@ -47,10 +47,6 @@ public class ElsqlComponent extends DefaultComponent {
         if (ds != null) {
             target = ds;
         }
-        String dataSourceRef = getAndRemoveParameter(parameters, "dataSourceRef", String.class);
-        if (target == null && dataSourceRef != null) {
-            target = CamelContextHelper.mandatoryLookup(getCamelContext(), dataSourceRef, DataSource.class);
-        }
         if (target == null) {
             // fallback and use component
             target = getDataSource();
@@ -89,7 +85,6 @@ public class ElsqlComponent extends DefaultComponent {
         endpoint.setElSqlConfig(elSqlConfig);
         endpoint.setDatabaseVendor(databaseVendor);
         endpoint.setDataSource(target);
-        endpoint.setDataSourceRef(dataSourceRef);
         endpoint.setOnConsume(onConsume);
         endpoint.setOnConsumeFailed(onConsumeFailed);
         endpoint.setOnConsumeBatchComplete(onConsumeBatchComplete);
diff --git a/components/camel-facebook/src/main/docs/facebook-component.adoc b/components/camel-facebook/src/main/docs/facebook-component.adoc
index a3b3978..609c788 100644
--- a/components/camel-facebook/src/main/docs/facebook-component.adoc
+++ b/components/camel-facebook/src/main/docs/facebook-component.adoc
@@ -88,7 +88,7 @@ with the following path and query parameters:
 |===
 
 
-==== Query Parameters (102 parameters):
+==== Query Parameters (101 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -100,7 +100,6 @@ with the following path and query parameters:
 | *appId* (common) | The ID of the Facebook Application |  | String
 | *center* (common) | Location latitude and longitude |  | GeoLocation
 | *checkinId* (common) | The checkin ID |  | String
-| *checkinUpdate* (common) | *Deprecated* The checkin to be created. Deprecated, instead create a Post with an attached location |  | CheckinUpdate
 | *clientURL* (common) | Facebook4J API client URL |  | String
 | *clientVersion* (common) | Facebook4J client API version |  | String
 | *commentId* (common) | The comment ID |  | String
diff --git a/components/camel-facebook/src/main/java/org/apache/camel/component/facebook/config/FacebookEndpointConfiguration.java b/components/camel-facebook/src/main/java/org/apache/camel/component/facebook/config/FacebookEndpointConfiguration.java
index ce459a3..bc5bb4e 100644
--- a/components/camel-facebook/src/main/java/org/apache/camel/component/facebook/config/FacebookEndpointConfiguration.java
+++ b/components/camel-facebook/src/main/java/org/apache/camel/component/facebook/config/FacebookEndpointConfiguration.java
@@ -50,9 +50,6 @@ public class FacebookEndpointConfiguration extends FacebookConfiguration {
     @UriParam
     private GeoLocation center;
     @UriParam
-    @Deprecated
-    private CheckinUpdate checkinUpdate;
-    @UriParam
     private String checkinId;
     @UriParam
     private String commentId;
@@ -236,19 +233,6 @@ public class FacebookEndpointConfiguration extends FacebookConfiguration {
         this.center = center;
     }
 
-    public CheckinUpdate getCheckinUpdate() {
-        return checkinUpdate;
-    }
-
-    /**
-     * The checkin to be created. Deprecated, instead create a Post with an attached location
-     * @deprecated instead create a Post with an attached location
-     */
-    @Deprecated
-    public void setCheckinUpdate(CheckinUpdate checkinUpdate) {
-        this.checkinUpdate = checkinUpdate;
-    }
-
     public String getCheckinId() {
         return checkinId;
     }
diff --git a/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/SftpConfiguration.java b/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/SftpConfiguration.java
index c2e8246..4e0b4ed 100644
--- a/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/SftpConfiguration.java
+++ b/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/SftpConfiguration.java
@@ -173,16 +173,6 @@ public class SftpConfiguration extends RemoteFileConfiguration {
         this.privateKeyPassphrase = privateKeyFilePassphrase;
     }
 
-    @Deprecated
-    public String getPrivateKeyFilePassphrase() {
-        return privateKeyPassphrase;
-    }
-
-    @Deprecated
-    public void setPrivateKeyFilePassphrase(String privateKeyFilePassphrase) {
-        this.privateKeyPassphrase = privateKeyFilePassphrase;
-    }
-
     public KeyPair getKeyPair() {
         return keyPair;
     }
diff --git a/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/sftp/SftpChmodTest.java b/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/sftp/SftpChmodTest.java
index 9479941..aca0266 100644
--- a/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/sftp/SftpChmodTest.java
+++ b/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/sftp/SftpChmodTest.java
@@ -37,11 +37,6 @@ public class SftpChmodTest extends SftpServerTestSupport {
             return;
         }
 
-        // see https://issues.apache.org/jira/browse/SSHD-267
-        if (isJava16()) {
-            return;
-        }
-
         template.sendBodyAndHeader("sftp://localhost:" + getPort() + "/" + FTP_ROOT_DIR + "?username=admin&password=admin&chmod=777", "Hello World", Exchange.FILE_NAME, "hello.txt");
 
         File file = new File(FTP_ROOT_DIR + "/hello.txt");
diff --git a/components/camel-gson/src/main/java/org/apache/camel/component/gson/GsonDataFormat.java b/components/camel-gson/src/main/java/org/apache/camel/component/gson/GsonDataFormat.java
index a66e876..5d16dda 100644
--- a/components/camel-gson/src/main/java/org/apache/camel/component/gson/GsonDataFormat.java
+++ b/components/camel-gson/src/main/java/org/apache/camel/component/gson/GsonDataFormat.java
@@ -23,7 +23,6 @@ import java.io.InputStreamReader;
 import java.io.OutputStream;
 import java.io.OutputStreamWriter;
 import java.lang.reflect.Type;
-import java.util.Arrays;
 import java.util.List;
 
 import com.google.gson.ExclusionStrategy;
@@ -71,20 +70,6 @@ public class GsonDataFormat extends ServiceSupport implements DataFormat, DataFo
     }
 
     /**
-     * Use the default Gson {@link Gson} and with a custom
-     * unmarshal type and {@link ExclusionStrategy}
-     *
-     * @param unmarshalType the custom unmarshal type
-     * @param exclusionStrategies one or more custom ExclusionStrategy implementations
-     * @deprecated use the setter instead
-     */
-    @Deprecated
-    public GsonDataFormat(Class<?> unmarshalType, ExclusionStrategy... exclusionStrategies) {
-        this(null, unmarshalType);
-        setExclusionStrategies(Arrays.asList(exclusionStrategies));
-    }
-
-    /**
      * Use a custom Gson mapper and and unmarshal type
      *
      * @param gson          the custom mapper
@@ -235,50 +220,18 @@ public class GsonDataFormat extends ServiceSupport implements DataFormat, DataFo
         this.fieldNamingStrategy = fieldNamingStrategy;
     }
 
-    /**
-     * @deprecated use {@link #isSerializeNulls()} instead
-     */
-    @Deprecated
-    public Boolean getSerializeNulls() {
-        return serializeNulls;
-    }
-
     public boolean isSerializeNulls() {
         return serializeNulls;
     }
 
-    /**
-     * @deprecated use {@link #setSerializeNulls(boolean)} instead
-     */
-    @Deprecated
-    public void setSerializeNulls(Boolean serializeNulls) {
-        this.serializeNulls = serializeNulls;
-    }
-
     public void setSerializeNulls(boolean serializeNulls) {
         this.serializeNulls = serializeNulls;
     }
 
-    /**
-     * @deprecated use {@link #isPrettyPrint()} instead
-     */
-    @Deprecated
-    public Boolean getPrettyPrinting() {
-        return prettyPrint;
-    }
-
     public boolean isPrettyPrint() {
         return prettyPrint;
     }
 
-    /**
-     * @deprecated use {@link #setPrettyPrint(boolean)} instead
-     */
-    @Deprecated
-    public void setPrettyPrinting(Boolean prettyPrinting) {
-        this.prettyPrint = prettyPrinting;
-    }
-
     public void setPrettyPrint(boolean prettyPrint) {
         this.prettyPrint = prettyPrint;
     }
diff --git a/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/HazelcastComponent.java b/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/HazelcastComponent.java
deleted file mode 100644
index fc1e75f..0000000
--- a/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/HazelcastComponent.java
+++ /dev/null
@@ -1,160 +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.component.hazelcast;
-
-import java.util.Map;
-
-import com.hazelcast.core.HazelcastInstance;
-import org.apache.camel.CamelContext;
-import org.apache.camel.component.hazelcast.atomicnumber.HazelcastAtomicnumberEndpoint;
-import org.apache.camel.component.hazelcast.instance.HazelcastInstanceEndpoint;
-import org.apache.camel.component.hazelcast.list.HazelcastListEndpoint;
-import org.apache.camel.component.hazelcast.map.HazelcastMapEndpoint;
-import org.apache.camel.component.hazelcast.multimap.HazelcastMultimapEndpoint;
-import org.apache.camel.component.hazelcast.queue.HazelcastQueueConfiguration;
-import org.apache.camel.component.hazelcast.queue.HazelcastQueueEndpoint;
-import org.apache.camel.component.hazelcast.replicatedmap.HazelcastReplicatedmapEndpoint;
-import org.apache.camel.component.hazelcast.ringbuffer.HazelcastRingbufferEndpoint;
-import org.apache.camel.component.hazelcast.seda.HazelcastSedaConfiguration;
-import org.apache.camel.component.hazelcast.seda.HazelcastSedaEndpoint;
-import org.apache.camel.component.hazelcast.set.HazelcastSetEndpoint;
-import org.apache.camel.component.hazelcast.topic.HazelcastTopicConfiguration;
-import org.apache.camel.component.hazelcast.topic.HazelcastTopicEndpoint;
-import org.apache.camel.util.StringHelper;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * @deprecated
- * 
- */
-@Deprecated
-public class HazelcastComponent extends HazelcastDefaultComponent {
-
-    private static final Logger LOG = LoggerFactory.getLogger(HazelcastComponent.class);
-
-    public HazelcastComponent() {
-    }
-
-    public HazelcastComponent(final CamelContext context) {
-        super(context);
-    }
-
-    @Override
-    protected HazelcastDefaultEndpoint doCreateEndpoint(String uri, String remaining, Map<String, Object> parameters, HazelcastInstance hzInstance) throws Exception {
-
-        HazelcastDefaultEndpoint endpoint = null;
-
-        LOG.warn("The scheme syntax 'hazelcast:{}' has been deprecated. Use 'hazelcast-{}' instead.", remaining, remaining);
-
-        // check type of endpoint
-        if (remaining.startsWith(HazelcastConstants.MAP_PREFIX)) {
-            // remaining is the cache name
-            remaining = StringHelper.removeStartingCharacters(remaining.substring(HazelcastConstants.MAP_PREFIX.length()), '/');
-            endpoint = new HazelcastMapEndpoint(hzInstance, uri, remaining, this);
-            endpoint.setCommand(HazelcastCommand.map);
-        }
-
-        if (remaining.startsWith(HazelcastConstants.MULTIMAP_PREFIX)) {
-            // remaining is the cache name
-            remaining = StringHelper.removeStartingCharacters(remaining.substring(HazelcastConstants.MULTIMAP_PREFIX.length()), '/');
-            endpoint = new HazelcastMultimapEndpoint(hzInstance, uri, remaining, this);
-            endpoint.setCommand(HazelcastCommand.multimap);
-        }
-
-        if (remaining.startsWith(HazelcastConstants.ATOMICNUMBER_PREFIX)) {
-            // remaining is the name of the atomic value
-            remaining = StringHelper.removeStartingCharacters(remaining.substring(HazelcastConstants.ATOMICNUMBER_PREFIX.length()), '/');
-            endpoint = new HazelcastAtomicnumberEndpoint(hzInstance, uri, this, remaining);
-            endpoint.setCommand(HazelcastCommand.atomicvalue);
-        }
-
-        if (remaining.startsWith(HazelcastConstants.INSTANCE_PREFIX)) {
-            // remaining is anything (name it foo ;)
-            remaining = StringHelper.removeStartingCharacters(remaining.substring(HazelcastConstants.INSTANCE_PREFIX.length()), '/');
-            endpoint = new HazelcastInstanceEndpoint(hzInstance, uri, this);
-            endpoint.setCommand(HazelcastCommand.instance);
-        }
-
-        if (remaining.startsWith(HazelcastConstants.QUEUE_PREFIX)) {
-            // remaining is anything (name it foo ;)
-            remaining = StringHelper.removeStartingCharacters(remaining.substring(HazelcastConstants.QUEUE_PREFIX.length()), '/');
-            final HazelcastQueueConfiguration config = new HazelcastQueueConfiguration();
-            setProperties(config, parameters);
-            endpoint = new HazelcastQueueEndpoint(hzInstance, uri, this, remaining, config);
-            endpoint.setCommand(HazelcastCommand.queue);
-        }
-
-        if (remaining.startsWith(HazelcastConstants.TOPIC_PREFIX)) {
-            // remaining is anything (name it foo ;)
-            remaining = StringHelper.removeStartingCharacters(remaining.substring(HazelcastConstants.TOPIC_PREFIX.length()), '/');
-            final HazelcastTopicConfiguration config = new HazelcastTopicConfiguration();
-            setProperties(config, parameters);
-            endpoint = new HazelcastTopicEndpoint(hzInstance, uri, this, remaining, config);
-            endpoint.setCommand(HazelcastCommand.topic);
-        }
-
-        if (remaining.startsWith(HazelcastConstants.SEDA_PREFIX)) {
-            // remaining is anything (name it foo ;)
-            remaining = StringHelper.removeStartingCharacters(remaining.substring(HazelcastConstants.SEDA_PREFIX.length()), '/');
-            final HazelcastSedaConfiguration config = new HazelcastSedaConfiguration();
-            setProperties(config, parameters);
-            config.setQueueName(remaining);
-            endpoint = new HazelcastSedaEndpoint(hzInstance, uri, this, config);
-            endpoint.setCacheName(remaining);
-            endpoint.setCommand(HazelcastCommand.seda);
-        }
-
-        if (remaining.startsWith(HazelcastConstants.LIST_PREFIX)) {
-            // remaining is anything (name it foo ;)
-            remaining = StringHelper.removeStartingCharacters(remaining.substring(HazelcastConstants.LIST_PREFIX.length()), '/');
-            endpoint = new HazelcastListEndpoint(hzInstance, uri, this, remaining);
-            endpoint.setCommand(HazelcastCommand.list);
-        }
-
-        if (remaining.startsWith(HazelcastConstants.REPLICATEDMAP_PREFIX)) {
-            // remaining is anything (name it foo ;)
-            remaining = StringHelper.removeStartingCharacters(remaining.substring(HazelcastConstants.REPLICATEDMAP_PREFIX.length()), '/');
-            endpoint = new HazelcastReplicatedmapEndpoint(hzInstance, uri, remaining, this);
-            endpoint.setCommand(HazelcastCommand.replicatedmap);
-        } 
-        
-        if (remaining.startsWith(HazelcastConstants.SET_PREFIX)) {
-            // remaining is anything (name it foo ;)
-            remaining = StringHelper.removeStartingCharacters(remaining.substring(HazelcastConstants.SET_PREFIX.length()), '/');
-            endpoint = new HazelcastSetEndpoint(hzInstance, uri, this, remaining);
-            endpoint.setCommand(HazelcastCommand.set);
-        } 
-        
-        
-        if (remaining.startsWith(HazelcastConstants.RINGBUFFER_PREFIX)) {
-            // remaining is anything (name it foo ;)
-            remaining = StringHelper.removeStartingCharacters(remaining.substring(HazelcastConstants.RINGBUFFER_PREFIX.length()), '/');
-            endpoint = new HazelcastRingbufferEndpoint(hzInstance, uri, this, remaining);
-            endpoint.setCommand(HazelcastCommand.ringbuffer);
-        } 
-        
-        if (endpoint == null) {
-            throw new IllegalArgumentException(String.format("Your URI does not provide a correct 'type' prefix. It should be anything like " 
-                    + "'hazelcast:[%s|%s|%s|%s|%s|%s|%s|%s|%s|%s]name' but is '%s'.",
-                    HazelcastConstants.MAP_PREFIX, HazelcastConstants.MULTIMAP_PREFIX, HazelcastConstants.ATOMICNUMBER_PREFIX, HazelcastConstants.INSTANCE_PREFIX, HazelcastConstants.QUEUE_PREFIX,
-                    HazelcastConstants.SEDA_PREFIX, HazelcastConstants.LIST_PREFIX, HazelcastConstants.REPLICATEDMAP_PREFIX, HazelcastConstants.SET_PREFIX, HazelcastConstants.RINGBUFFER_PREFIX, uri));
-        }
-        return endpoint;
-    }
-
-}
diff --git a/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/HazelcastConstants.java b/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/HazelcastConstants.java
index 8a40e02..69ad18d 100644
--- a/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/HazelcastConstants.java
+++ b/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/HazelcastConstants.java
@@ -59,253 +59,6 @@ public final class HazelcastConstants {
     // actions (PUT, DELETE, GET, GET_ALL, UPDATE, CLEAR)
     public static final String OPERATION = "CamelHazelcastOperationType";
 
-    /**
-     * @deprecated
-     * use {@link HazelcastOperation#PUT}
-     */
-    @Deprecated
-    public static final String PUT_OPERATION = "put";
-
-    /**
-     * @deprecated
-     * use {@link HazelcastOperation#DELETE}
-     */
-    @Deprecated
-    public static final String DELETE_OPERATION = "delete";
-
-    /**
-     * @deprecated
-     * use {@link HazelcastOperation#GET}
-     */
-    @Deprecated
-    public static final String GET_OPERATION = "get";
-
-    /**
-     * @deprecated
-     * use {@link HazelcastOperation#UPDATE}
-     */
-    @Deprecated
-    public static final String UPDATE_OPERATION = "update";
-
-    /**
-     * @deprecated
-     * use {@link HazelcastOperation#QUERY}
-     */
-    @Deprecated
-    public static final String QUERY_OPERATION = "query";
-
-    /**
-     * @deprecated
-     * use {@link HazelcastOperation#GET_ALL}
-     */
-    @Deprecated
-    public static final String GET_ALL_OPERATION = "getAll";
-
-    /**
-     * @deprecated
-     * use {@link HazelcastOperation#CLEAR}
-     */
-    @Deprecated
-    public static final String CLEAR_OPERATION = "clear";
-
-    /**
-     * @deprecated
-     * use {@link HazelcastOperation#PUT_IF_ABSENT}
-     */
-    @Deprecated
-    public static final String PUT_IF_ABSENT_OPERATION = "putIfAbsent";
-
-    /**
-     * @deprecated
-     * use {@link HazelcastOperation#ADD_ALL}
-     */
-    @Deprecated
-    public static final String ADD_ALL_OPERATION = "addAll";
-
-    /**
-     * @deprecated
-     * use {@link HazelcastOperation#REMOVE_ALL}
-     */
-    @Deprecated
-    public static final String REMOVE_ALL_OPERATION = "removeAll";
-
-    /**
-     * @deprecated
-     * use {@link HazelcastOperation#RETAIN_ALL}
-     */
-    @Deprecated
-    public static final String RETAIN_ALL_OPERATION = "retailAll";
-
-    /**
-     * @deprecated
-     * use {@link HazelcastOperation#EVICT}
-     */
-    @Deprecated
-    public static final String EVICT_OPERATION = "evict";
-
-    /**
-     * @deprecated
-     * use {@link HazelcastOperation#EVICT_ALL}
-     */
-    @Deprecated
-    public static final String EVICT_ALL_OPERATION = "evictAll";
-
-    /**
-     * @deprecated
-     * use {@link HazelcastOperation#VALUE_COUNT}
-     */
-    @Deprecated
-    public static final String VALUE_COUNT_OPERATION = "valueCount";
-
-    /**
-     * @deprecated
-     * use {@link HazelcastOperation#CONTAINS_KEY}
-     */
-    @Deprecated
-    public static final String CONTAINS_KEY_OPERATION = "containsKey";
-
-    /**
-     * @deprecated
-     * use {@link HazelcastOperation#CONTAINS_VALUE}
-     */
-    @Deprecated
-    public static final String CONTAINS_VALUE_OPERATION = "containsValue";
-
-    /**
-     * @deprecated
-     * use {@link HazelcastOperation#GET_KEYS}
-     */
-    @Deprecated
-    public static final String GET_KEYS_OPERATION = "keySet";
-    
-    // multimap
-    /**
-     * @deprecated
-     * use {@link HazelcastOperation#REMOVE_VALUE}
-     */
-    @Deprecated
-    public static final String REMOVEVALUE_OPERATION = "removevalue";
-
-    // atomic numbers
-    /**
-     * @deprecated
-     * use {@link HazelcastOperation#INCREMENT}
-     */
-    @Deprecated
-    public static final String INCREMENT_OPERATION = "increment";
-
-    /**
-     * @deprecated
-     * use {@link HazelcastOperation#DECREMENT}
-     */
-    @Deprecated
-    public static final String DECREMENT_OPERATION = "decrement";
-
-    /**
-     * @deprecated
-     * use {@link HazelcastOperation#SET_VALUE}
-     */
-    @Deprecated
-    public static final String SETVALUE_OPERATION = "setvalue";
-
-    /**
-     * @deprecated
-     * use {@link HazelcastOperation#DESTROY}
-     */
-    @Deprecated
-    public static final String DESTROY_OPERATION = "destroy";
-
-    /**
-     * @deprecated
-     * use {@link HazelcastOperation#COMPARE_AND_SET}
-     */
-    @Deprecated
-    public static final String COMPARE_AND_SET_OPERATION = "compareAndSet";
-
-    /**
-     * @deprecated
-     * use {@link HazelcastOperation#GET_AND_ADD}
-     */
-    @Deprecated
-    public static final String GET_AND_ADD_OPERATION = "getAndAdd";
-
-    // queue
-    /**
-     * @deprecated
-     * use {@link HazelcastOperation#ADD}
-     */
-    @Deprecated
-    public static final String ADD_OPERATION = "add";
-
-    /**
-     * @deprecated
-     * use {@link HazelcastOperation#OFFER}
-     */
-    @Deprecated
-    public static final String OFFER_OPERATION = "offer";
-
-    /**
-     * @deprecated
-     * use {@link HazelcastOperation#PEEK}
-     */
-    @Deprecated
-    public static final String PEEK_OPERATION = "peek";
-
-    /**
-     * @deprecated
-     * use {@link HazelcastOperation#POLL}
-     */
-    @Deprecated
-    public static final String POLL_OPERATION = "poll";
-
-    /**
-     * @deprecated
-     * use {@link HazelcastOperation#REMAINING_CAPACITY}
-     */
-    @Deprecated
-    public static final String REMAINING_CAPACITY_OPERATION = "remainingCapacity";
-
-    /**
-     * @deprecated
-     * use {@link HazelcastOperation#DRAIN_TO}
-     */
-    @Deprecated
-    public static final String DRAIN_TO_OPERATION = "drainTo";
-
-    // topic
-    /**
-     * @deprecated
-     * use {@link HazelcastOperation#PUBLISH}
-     */
-    @Deprecated
-    public static final String PUBLISH_OPERATION = "publish";
-    
-    // ring_buffer
-    /**
-     * @deprecated
-     * use {@link HazelcastOperation#READ_ONCE_HEAD}
-     */
-    @Deprecated
-    public static final String READ_ONCE_HEAD_OPERATION = "readOnceHead";
-
-    /**
-     * @deprecated
-     * use {@link HazelcastOperation#READ_ONCE_TAIL}
-     */
-    @Deprecated
-    public static final String READ_ONCE_TAIL_OPERATION = "readOnceTail";
-
-    /**
-     * @deprecated
-     * use {@link HazelcastOperation#CAPACITY}
-     */
-    @Deprecated
-    public static final String GET_CAPACITY_OPERATION = "capacity";
-
-    /*
-     * header values
-     */
-
     // listener actions
     public static final String REMOVED = "removed";
     public static final String EVICTED = "evicted";
diff --git a/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/seda/HazelcastSedaConfiguration.java b/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/seda/HazelcastSedaConfiguration.java
index 26df962..219cfb8 100644
--- a/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/seda/HazelcastSedaConfiguration.java
+++ b/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/seda/HazelcastSedaConfiguration.java
@@ -61,22 +61,6 @@ public class HazelcastSedaConfiguration {
         this.concurrentConsumers = concurrentConsumers;
     }
 
-    /**
-     * @deprecated use pollTimeout instead
-     */
-    @Deprecated
-    public int getPollInterval() {
-        return pollTimeout;
-    }
-
-    /**
-     * @deprecated use pollTimeout instead
-     */
-    @Deprecated
-    public void setPollInterval(int pollInterval) {
-        this.pollTimeout = pollInterval;
-    }
-
     public int getPollTimeout() {
         return pollTimeout;
     }
diff --git a/components/camel-hazelcast/src/test/java/org/apache/camel/component/hazelcast/HazelcastCamelTestHelper.java b/components/camel-hazelcast/src/test/java/org/apache/camel/component/hazelcast/HazelcastCamelTestHelper.java
index 425eb5a..348fa95 100644
--- a/components/camel-hazelcast/src/test/java/org/apache/camel/component/hazelcast/HazelcastCamelTestHelper.java
+++ b/components/camel-hazelcast/src/test/java/org/apache/camel/component/hazelcast/HazelcastCamelTestHelper.java
@@ -70,9 +70,6 @@ public final class HazelcastCamelTestHelper {
         HazelcastTopicComponent topic = new HazelcastTopicComponent(context);
         topic.setHazelcastInstance(hazelcastInstance);
         context.addComponent("hazelcast-topic", topic);
-        HazelcastComponent old = new HazelcastComponent(context);
-        old.setHazelcastInstance(hazelcastInstance);
-        context.addComponent("hazelcast", old);
     }
 
 }
diff --git a/components/camel-http-common/src/main/java/org/apache/camel/http/common/CamelServlet.java b/components/camel-http-common/src/main/java/org/apache/camel/http/common/CamelServlet.java
index 2b12a62..6004a61 100644
--- a/components/camel-http-common/src/main/java/org/apache/camel/http/common/CamelServlet.java
+++ b/components/camel-http-common/src/main/java/org/apache/camel/http/common/CamelServlet.java
@@ -118,7 +118,7 @@ public class CamelServlet extends HttpServlet {
         log.trace("Service: {}", request);
 
         // Is there a consumer registered for the request.
-        HttpConsumer consumer = resolve(request);
+        HttpConsumer consumer = getServletResolveConsumerStrategy().resolve(request, getConsumers());
         if (consumer == null) {
             // okay we cannot process this requires so return either 404 or 405.
             // to know if its 405 then we need to check if any other HTTP method would have a consumer for the "same" request
@@ -239,14 +239,6 @@ public class CamelServlet extends HttpServlet {
         }
     }
 
-    /**
-     * @deprecated use {@link ServletResolveConsumerStrategy#resolve(javax.servlet.http.HttpServletRequest, java.util.Map)}
-     */
-    @Deprecated
-    protected HttpConsumer resolve(HttpServletRequest request) {
-        return getServletResolveConsumerStrategy().resolve(request, getConsumers());
-    }
-
     public void connect(HttpConsumer consumer) {
         log.debug("Connecting consumer: {}", consumer);
         consumers.put(consumer.getEndpoint().getEndpointUri(), consumer);
diff --git a/components/camel-http-common/src/main/java/org/apache/camel/http/common/DefaultHttpBinding.java b/components/camel-http-common/src/main/java/org/apache/camel/http/common/DefaultHttpBinding.java
index f8c5343..d26a173 100644
--- a/components/camel-http-common/src/main/java/org/apache/camel/http/common/DefaultHttpBinding.java
+++ b/components/camel-http-common/src/main/java/org/apache/camel/http/common/DefaultHttpBinding.java
@@ -87,20 +87,6 @@ public class DefaultHttpBinding implements HttpBinding {
     public DefaultHttpBinding() {
     }
 
-    @Deprecated
-    public DefaultHttpBinding(HeaderFilterStrategy headerFilterStrategy) {
-        this.headerFilterStrategy = headerFilterStrategy;
-    }
-
-    @Deprecated
-    public DefaultHttpBinding(HttpCommonEndpoint endpoint) {
-        this.headerFilterStrategy = endpoint.getHeaderFilterStrategy();
-        this.transferException = endpoint.isTransferException();
-        if (endpoint.getComponent() != null) {
-            this.allowJavaSerializedObject = endpoint.getComponent().isAllowJavaSerializedObject();
-        }
-    }
-
     public void readRequest(HttpServletRequest request, HttpMessage message) {
         LOG.trace("readRequest {}", request);
 
diff --git a/components/camel-http-common/src/main/java/org/apache/camel/http/common/HttpCommonEndpoint.java b/components/camel-http-common/src/main/java/org/apache/camel/http/common/HttpCommonEndpoint.java
index 834cb63..b1d2a90 100644
--- a/components/camel-http-common/src/main/java/org/apache/camel/http/common/HttpCommonEndpoint.java
+++ b/components/camel-http-common/src/main/java/org/apache/camel/http/common/HttpCommonEndpoint.java
@@ -122,11 +122,6 @@ public abstract class HttpCommonEndpoint extends DefaultEndpoint implements Head
             description = "The status codes which are considered a success response. The values are inclusive. Multiple ranges can be"
                     + " defined, separated by comma, e.g. 200-204,209,301-304. Each range must be a single number or from-to with the dash included.")
     private String okStatusCodeRange = "200-299";
-    @UriParam(label = "producer,advanced",
-            description = "Refers to a custom org.apache.camel.component.http.UrlRewrite which allows you to rewrite urls when you bridge/proxy endpoints."
-                    + " See more details at http://camel.apache.org/urlrewrite.html")
-    @Deprecated
-    private UrlRewrite urlRewrite;
     @UriParam(label = "consumer", defaultValue = "false",
             description = "Configure the consumer to work in async mode")
     private boolean async;
@@ -134,7 +129,6 @@ public abstract class HttpCommonEndpoint extends DefaultEndpoint implements Head
     private CookieHandler cookieHandler;
     @UriParam(label = "producer", description = "Configure the HTTP method to use. The HttpMethod header cannot override this option if set.")
     private HttpMethods httpMethod;
-
     @UriParam(label = "producer,security", description = "Authentication methods allowed to use as a comma separated list of values Basic, Digest or NTLM.")
     private String authMethod;
     @UriParam(label = "producer,security", enums = "Basic,Digest,NTLM", description = "Which authentication method to prioritize to use, either as Basic, Digest or NTLM.")
@@ -212,22 +206,6 @@ public abstract class HttpCommonEndpoint extends DefaultEndpoint implements Head
     // Properties
     //-------------------------------------------------------------------------
 
-    /**
-     * @deprecated use {@link #getHttpBinding()}
-     */
-    @Deprecated
-    public HttpBinding getBinding() {
-        return httpBinding;
-    }
-
-    /**
-     * @deprecated use {@link #setHttpBinding(HttpBinding)}
-     */
-    @Deprecated
-    public void setBinding(HttpBinding httpBinding) {
-        setHttpBinding(httpBinding);
-    }
-
     public HttpBinding getHttpBinding() {
         if (httpBinding == null) {
             // create a new binding and use the options from this endpoint
@@ -438,20 +416,6 @@ public abstract class HttpCommonEndpoint extends DefaultEndpoint implements Head
         this.httpMethodRestrict = httpMethodRestrict;
     }
 
-    @Deprecated
-    public UrlRewrite getUrlRewrite() {
-        return urlRewrite;
-    }
-
-    /**
-     * Refers to a custom org.apache.camel.component.http.UrlRewrite which allows you to rewrite urls when you bridge/proxy endpoints.
-     * See more details at http://camel.apache.org/urlrewrite.html
-     */
-    @Deprecated
-    public void setUrlRewrite(UrlRewrite urlRewrite) {
-        this.urlRewrite = urlRewrite;
-    }
-
     public Integer getResponseBufferSize() {
         return responseBufferSize;
     }
diff --git a/components/camel-http-common/src/main/java/org/apache/camel/http/common/HttpHelper.java b/components/camel-http-common/src/main/java/org/apache/camel/http/common/HttpHelper.java
index 9eefc06..0e37bda 100644
--- a/components/camel-http-common/src/main/java/org/apache/camel/http/common/HttpHelper.java
+++ b/components/camel-http-common/src/main/java/org/apache/camel/http/common/HttpHelper.java
@@ -145,21 +145,6 @@ public final class HttpHelper {
      * Deserializes the input stream to a Java object
      *
      * @param is input stream for the Java object
-     * @return the java object, or <tt>null</tt> if input stream was <tt>null</tt>
-     * @throws ClassNotFoundException is thrown if class not found
-     * @throws IOException can be thrown
-     * @deprecated Camel 3.0 
-     * Please use the one which has the parameter of camel context
-     */
-    @Deprecated
-    public static Object deserializeJavaObjectFromStream(InputStream is) throws ClassNotFoundException, IOException {
-        return deserializeJavaObjectFromStream(is, null);
-    }
-    
-    /**
-     * Deserializes the input stream to a Java object
-     *
-     * @param is input stream for the Java object
      * @param context the camel context which could help us to apply the customer classloader
      * @return the java object, or <tt>null</tt> if input stream was <tt>null</tt>
      * @throws ClassNotFoundException is thrown if class not found
@@ -400,90 +385,6 @@ public final class HttpHelper {
     }
 
     /**
-     * Processes any custom {@link org.apache.camel.http.common.UrlRewrite}.
-     *
-     * @param exchange    the exchange
-     * @param url         the url
-     * @param endpoint    the http endpoint
-     * @param producer    the producer
-     * @return            the rewritten url, or <tt>null</tt> to use original url
-     * @throws Exception is thrown if any error during rewriting url
-     */
-    public static String urlRewrite(Exchange exchange, String url, HttpCommonEndpoint endpoint, Producer producer) throws Exception {
-        String answer = null;
-
-        String relativeUrl;
-        if (endpoint.getUrlRewrite() != null) {
-            // we should use the relative path if possible
-            String baseUrl;
-            relativeUrl = endpoint.getHttpUri().toASCIIString();
-            // strip query parameters from relative url
-            if (relativeUrl.contains("?")) {
-                relativeUrl = StringHelper.before(relativeUrl, "?");
-            }
-            if (url.startsWith(relativeUrl)) {
-                baseUrl = url.substring(0, relativeUrl.length());
-                relativeUrl = url.substring(relativeUrl.length());
-            } else {
-                baseUrl = null;
-                relativeUrl = url;
-            }
-            // mark it as null if its empty
-            if (ObjectHelper.isEmpty(relativeUrl)) {
-                relativeUrl = null;
-            }
-
-            String newUrl;
-            if (endpoint.getUrlRewrite() instanceof HttpServletUrlRewrite) {
-                // its servlet based, so we need the servlet request
-                HttpServletRequest request = exchange.getIn().getBody(HttpServletRequest.class);
-                if (request == null) {
-                    HttpMessage msg = exchange.getIn(HttpMessage.class);
-                    if (msg != null) {
-                        request = msg.getRequest();
-                    }
-                }
-                if (request == null) {
-                    throw new IllegalArgumentException("UrlRewrite " + endpoint.getUrlRewrite() + " requires the message body to be a"
-                            + "HttpServletRequest instance, but was: " + ObjectHelper.className(exchange.getIn().getBody()));
-                }
-                // we need to adapt the context-path to be the path from the endpoint, if it came from a http based endpoint
-                // as eg camel-jetty have hardcoded context-path as / for all its servlets/endpoints
-                // we have the actual context-path stored as a header with the key CamelServletContextPath
-                String contextPath = exchange.getIn().getHeader("CamelServletContextPath", String.class);
-                request = new UrlRewriteHttpServletRequestAdapter(request, contextPath);
-                newUrl = ((HttpServletUrlRewrite) endpoint.getUrlRewrite()).rewrite(url, relativeUrl, producer, request);
-            } else {
-                newUrl = endpoint.getUrlRewrite().rewrite(url, relativeUrl, producer);
-            }
-
-            if (ObjectHelper.isNotEmpty(newUrl) && !newUrl.equals(url)) {
-                // we got a new url back, that can either be a new absolute url
-                // or a new relative url
-                if (newUrl.startsWith("http:") || newUrl.startsWith("https:")) {
-                    answer = newUrl;
-                } else if (baseUrl != null) {
-                    // avoid double // when adding the urls
-                    if (baseUrl.endsWith("/") && newUrl.startsWith("/")) {
-                        answer = baseUrl + newUrl.substring(1);
-                    } else {
-                        answer = baseUrl + newUrl;
-                    }
-                } else {
-                    // use the new url as is
-                    answer = newUrl;
-                }
-                if (LOG.isDebugEnabled()) {
-                    LOG.debug("Using url rewrite to rewrite from url {} to {} -> {}",
-                            new Object[]{relativeUrl != null ? relativeUrl : url, newUrl, answer});
-                }
-            }
-        }
-
-        return answer;
-    }
-
-    /**
      * Creates the HttpMethod to use to call the remote server, often either its GET or POST.
      *
      * @param exchange  the exchange
diff --git a/components/camel-http-common/src/main/java/org/apache/camel/http/common/HttpServletUrlRewrite.java b/components/camel-http-common/src/main/java/org/apache/camel/http/common/HttpServletUrlRewrite.java
deleted file mode 100644
index f6db8f1..0000000
--- a/components/camel-http-common/src/main/java/org/apache/camel/http/common/HttpServletUrlRewrite.java
+++ /dev/null
@@ -1,45 +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.http.common;
-
-import javax.servlet.http.HttpServletRequest;
-
-import org.apache.camel.Producer;
-
-/**
- * Extended {@link UrlRewrite} which leverages {@link HttpServletRequest}
- * during the rewrite process.
- * <p/>
- * For example the camel-urlrewrite component supports
- * {@link HttpServletUrlRewrite} implementations.
- */
-public interface HttpServletUrlRewrite extends UrlRewrite {
-
-    /**
-     * Rewrite the url.
-     *
-     * @param url  the absolute url (eg with scheme://host:port/path?query)
-     * @param relativeUrl optional relative url, if bridging endpoints, which then would be without the base path from the
-     *                    endpoint from the given producer.
-     * @param producer the producer to use the rewritten url
-     * @param request  the http servlet request
-     * @return the rewritten url, or <tt>null</tt> to use the original url
-     * @throws Exception is thrown if error rewriting the url
-     */
-    String rewrite(String url, String relativeUrl, Producer producer, HttpServletRequest request) throws Exception;
-
-}
diff --git a/components/camel-http-common/src/main/java/org/apache/camel/http/common/UrlRewrite.java b/components/camel-http-common/src/main/java/org/apache/camel/http/common/UrlRewrite.java
deleted file mode 100644
index 1c44624..0000000
--- a/components/camel-http-common/src/main/java/org/apache/camel/http/common/UrlRewrite.java
+++ /dev/null
@@ -1,41 +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.http.common;
-
-import org.apache.camel.Producer;
-
-/**
- * Allows to plugin custom strategy for rewriting url.
- * <p/>
- * This allows for example to proxy http services and plugin a url rewrite
- * strategy such as the <a href="http://camel.apache.org/urlrewrite">url-rewrite</a> component.
- */
-public interface UrlRewrite {
-
-    /**
-     * Rewrite the url.
-     *
-     * @param url  the absolute url (eg with scheme://host:port/path?query)
-     * @param relativeUrl optional relative url, if bridging endpoints, which then would be without the base path from the
-     *                    endpoint from the given producer.
-     * @param producer the producer to use the rewritten url
-     * @return the rewritten url, or <tt>null</tt> to use the original url
-     * @throws Exception is thrown if error rewriting the url
-     */
-    String rewrite(String url, String relativeUrl, Producer producer) throws Exception;
-
-}
diff --git a/components/camel-http-common/src/main/java/org/apache/camel/http/common/UrlRewriteHttpServletRequestAdapter.java b/components/camel-http-common/src/main/java/org/apache/camel/http/common/UrlRewriteHttpServletRequestAdapter.java
deleted file mode 100644
index 78b7b11..0000000
--- a/components/camel-http-common/src/main/java/org/apache/camel/http/common/UrlRewriteHttpServletRequestAdapter.java
+++ /dev/null
@@ -1,49 +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.http.common;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletRequestWrapper;
-
-/**
- * Special adapter when {@link org.apache.camel.http.common.HttpServletUrlRewrite} is in use,
- * and the route started from came-jetty/camel-serlvet.
- * <p/>
- * This adapter ensures that we can control the context-path returned from the
- * {@link javax.servlet.http.HttpServletRequest#getContextPath()} method.
- * This allows us to ensure the context-path is based on the endpoint path, as the
- * camel-jetty/camel-servlet server implementation uses the root ("/") context-path
- * for all the servlets/endpoints.
- */
-public final class UrlRewriteHttpServletRequestAdapter extends HttpServletRequestWrapper {
-
-    private final String contextPath;
-
-    /**
-     * Creates this adapter
-     * @param delegate    the real http servlet request to delegate.
-     * @param contextPath use to override and return this context-path
-     */
-    public UrlRewriteHttpServletRequestAdapter(HttpServletRequest delegate, String contextPath) {
-        super(delegate);
-        this.contextPath = contextPath;
-    }
-
-    public String getContextPath() {
-        return contextPath != null ? contextPath : super.getContextPath();
-    }
-}
diff --git a/components/camel-http4/src/main/docs/http4-component.adoc b/components/camel-http4/src/main/docs/http4-component.adoc
index 9bba8a1..da084ba 100644
--- a/components/camel-http4/src/main/docs/http4-component.adoc
+++ b/components/camel-http4/src/main/docs/http4-component.adoc
@@ -108,7 +108,7 @@ with the following path and query parameters:
 |===
 
 
-==== Query Parameters (48 parameters):
+==== Query Parameters (47 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -132,7 +132,6 @@ with the following path and query parameters:
 | *transferException* (producer) | If enabled and an Exchange failed processing on the consumer side, and if the caused Exception was send back serialized in the response as a application/x-java-serialized-object content type. On the producer side the exception will be deserialized and thrown as is, instead of the HttpOperationFailedException. The caused exception is required to be serialized. This is by default turned off. If you enable this then be aware that Java will deserialize the  [...]
 | *cookieHandler* (producer) | Configure a cookie handler to maintain a HTTP session |  | CookieHandler
 | *okStatusCodeRange* (producer) | The status codes which are considered a success response. The values are inclusive. Multiple ranges can be defined, separated by comma, e.g. 200-204,209,301-304. Each range must be a single number or from-to with the dash included. | 200-299 | String
-| *urlRewrite* (producer) | *Deprecated* Refers to a custom org.apache.camel.component.http.UrlRewrite which allows you to rewrite urls when you bridge/proxy endpoints. See more details at http://camel.apache.org/urlrewrite.html |  | UrlRewrite
 | *clientBuilder* (advanced) | Provide access to the http client request parameters used on new RequestConfig instances used by producers or consumers of this endpoint. |  | HttpClientBuilder
 | *clientConnectionManager* (advanced) | To use a custom HttpClientConnectionManager to manage connections |  | HttpClientConnection Manager
 | *connectionsPerRoute* (advanced) | The maximum number of connections per route. | 20 | int
diff --git a/components/camel-http4/src/main/java/org/apache/camel/component/http4/HttpComponent.java b/components/camel-http4/src/main/java/org/apache/camel/component/http4/HttpComponent.java
index 45fe267..aa0afb2 100644
--- a/components/camel-http4/src/main/java/org/apache/camel/component/http4/HttpComponent.java
+++ b/components/camel-http4/src/main/java/org/apache/camel/component/http4/HttpComponent.java
@@ -35,7 +35,6 @@ import org.apache.camel.http.common.HttpBinding;
 import org.apache.camel.http.common.HttpCommonComponent;
 import org.apache.camel.http.common.HttpHelper;
 import org.apache.camel.http.common.HttpRestHeaderFilterStrategy;
-import org.apache.camel.http.common.UrlRewrite;
 import org.apache.camel.spi.HeaderFilterStrategy;
 import org.apache.camel.spi.Metadata;
 import org.apache.camel.spi.RestConfiguration;
@@ -236,7 +235,6 @@ public class HttpComponent extends HttpCommonComponent implements RestProducerFa
         String httpMethodRestrict = getAndRemoveParameter(parameters, "httpMethodRestrict", String.class);
         
         HeaderFilterStrategy headerFilterStrategy = resolveAndRemoveReferenceParameter(parameters, "headerFilterStrategy", HeaderFilterStrategy.class);
-        UrlRewrite urlRewrite = resolveAndRemoveReferenceParameter(parameters, "urlRewrite", UrlRewrite.class);
 
         boolean secure = HttpHelper.isSecureConnection(uri) || sslContextParameters != null;
 
@@ -286,13 +284,6 @@ public class HttpComponent extends HttpCommonComponent implements RestProducerFa
             setProperties(endpoint, properties);
         }
 
-        if (urlRewrite != null) {
-            // let CamelContext deal with the lifecycle of the url rewrite
-            // this ensures its being shutdown when Camel shutdown etc.
-            getCamelContext().addService(urlRewrite);
-            endpoint.setUrlRewrite(urlRewrite);
-        }
-
         // configure the endpoint
         setProperties(endpoint, parameters);
 
@@ -314,9 +305,9 @@ public class HttpComponent extends HttpCommonComponent implements RestProducerFa
         } else {
             setEndpointHeaderFilterStrategy(endpoint);
         }
-        endpoint.setBinding(getHttpBinding());
+        endpoint.setHttpBinding(getHttpBinding());
         if (httpBinding != null) {
-            endpoint.setBinding(httpBinding);
+            endpoint.setHttpBinding(httpBinding);
         }
         if (httpMethodRestrict != null) {
             endpoint.setHttpMethodRestrict(httpMethodRestrict);
diff --git a/components/camel-http4/src/main/java/org/apache/camel/component/http4/HttpProducer.java b/components/camel-http4/src/main/java/org/apache/camel/component/http4/HttpProducer.java
index ac9b059..0516889 100644
--- a/components/camel-http4/src/main/java/org/apache/camel/component/http4/HttpProducer.java
+++ b/components/camel-http4/src/main/java/org/apache/camel/component/http4/HttpProducer.java
@@ -443,14 +443,6 @@ public class HttpProducer extends DefaultProducer {
         // get the url from the uri
         url = uri.toASCIIString();
 
-        // execute any custom url rewrite
-        String rewriteUrl = HttpHelper.urlRewrite(exchange, url, getEndpoint(), this);
-        if (rewriteUrl != null) {
-            // update url and query string from the rewritten url
-            url = rewriteUrl;
-            uri = new URI(url);
-        }
-
         // create http holder objects for the request
         HttpEntity requestEntity = createRequestEntity(exchange);
         HttpMethods methodToUse = HttpMethodHelper.createMethod(exchange, getEndpoint(), requestEntity != null);
diff --git a/components/camel-http4/src/test/java/org/apache/camel/component/http4/GoogleUrlRewrite.java b/components/camel-http4/src/test/java/org/apache/camel/component/http4/GoogleUrlRewrite.java
deleted file mode 100644
index 6d52b54..0000000
--- a/components/camel-http4/src/test/java/org/apache/camel/component/http4/GoogleUrlRewrite.java
+++ /dev/null
@@ -1,35 +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.component.http4;
-
-import org.apache.camel.Producer;
-import org.apache.camel.http.common.UrlRewrite;
-
-// START SNIPPET: e1
-/**
- * A very simple url rewrite that replaces yahoo with google in the url.
- * <p/>
- * This is only used for testing purposes.
- */
-public class GoogleUrlRewrite implements UrlRewrite {
-
-    @Override
-    public String rewrite(String url, String relativeUrl, Producer producer) {
-        return url.replaceAll("yahoo", "google");
-    }
-}
-// END SNIPPET: e1
diff --git a/components/camel-http4/src/test/java/org/apache/camel/component/http4/UrlRewriteTest.java b/components/camel-http4/src/test/java/org/apache/camel/component/http4/UrlRewriteTest.java
deleted file mode 100644
index c7881d5..0000000
--- a/components/camel-http4/src/test/java/org/apache/camel/component/http4/UrlRewriteTest.java
+++ /dev/null
@@ -1,62 +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.component.http4;
-
-import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.impl.JndiRegistry;
-import org.apache.camel.test.junit4.CamelTestSupport;
-import org.junit.Ignore;
-import org.junit.Test;
-
-/**
- *
- */
-public class UrlRewriteTest extends CamelTestSupport {
-
-    @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
-        jndi.bind("fooRewrite", new GoogleUrlRewrite());
-        return jndi;
-    }
-
-    @Test
-    @Ignore
-    public void testUrlRewrite() throws Exception {
-        MockEndpoint mock = getMockEndpoint("mock:result");
-        mock.expectedMessageCount(1);
-
-        template.sendBody("direct:start", null);
-
-        assertMockEndpointsSatisfied();
-    }
-
-    @Override
-    protected RouteBuilder createRouteBuilder() throws Exception {
-        return new RouteBuilder() {
-            public void configure() {
-                from("direct:start")
-                        .to("http4://www.yahoo.com?q=camel&urlRewrite=#fooRewrite")
-                        .convertBodyTo(String.class)
-                        .to("log:result", "mock:result");
-            }
-        };
-    }
-
-
-}
diff --git a/components/camel-ignite/src/main/java/org/apache/camel/component/ignite/IgniteComponent.java b/components/camel-ignite/src/main/java/org/apache/camel/component/ignite/IgniteComponent.java
deleted file mode 100644
index 04546a9..0000000
--- a/components/camel-ignite/src/main/java/org/apache/camel/component/ignite/IgniteComponent.java
+++ /dev/null
@@ -1,138 +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.component.ignite;
-
-import java.io.InputStream;
-import java.net.MalformedURLException;
-import java.net.URI;
-import java.net.URL;
-import java.util.Map;
-
-import org.apache.camel.Endpoint;
-import org.apache.camel.component.ignite.cache.IgniteCacheEndpoint;
-import org.apache.camel.component.ignite.compute.IgniteComputeEndpoint;
-import org.apache.camel.component.ignite.events.IgniteEventsEndpoint;
-import org.apache.camel.component.ignite.idgen.IgniteIdGenEndpoint;
-import org.apache.camel.component.ignite.messaging.IgniteMessagingEndpoint;
-import org.apache.camel.component.ignite.queue.IgniteQueueEndpoint;
-import org.apache.camel.component.ignite.set.IgniteSetEndpoint;
-import org.apache.camel.util.ObjectHelper;
-import org.apache.camel.util.URISupport;
-import org.apache.ignite.Ignite;
-import org.apache.ignite.configuration.IgniteConfiguration;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * The Ignite Component integrates Apache Camel with Apache Ignite, providing endpoints for the following functions:
- * <ul>
- * <li>Cache operations.</li>
- * <li>Cluster computation.</li>
- * <li>Messaging.</li>
- * <li>Eventing.</li>
- * <li>Id Generation.</li>
- * <li>Set operations.</li>
- * <li>Queue operations.</li>
- * </ul>
- * @deprecated Use 
- * {@link org.apache.camel.component.ignite.cache.IgniteCacheComponent},
- * {@link org.apache.camel.component.ignite.compute.IgniteComputeComponent},
- * {@link org.apache.camel.component.ignite.events.IgniteEventsComponent},
- * {@link org.apache.camel.component.ignite.idgen.IgniteIdGenComponent},
- * {@link org.apache.camel.component.ignite.messaging.IgniteMessagingComponent},
- * {@link org.apache.camel.component.ignite.queue.IgniteQueueComponent} and
- * {@link org.apache.camel.component.ignite.set.IgniteSetComponent}
- */
-@Deprecated
-public class IgniteComponent extends AbstractIgniteComponent {
-
-    private static final Logger LOG = LoggerFactory.getLogger(IgniteComponent.class);
-
-    public static IgniteComponent fromIgnite(Ignite ignite) {
-        IgniteComponent answer = new IgniteComponent();
-        answer.setIgnite(ignite);
-        return answer;
-    }
-
-    public static IgniteComponent fromConfiguration(IgniteConfiguration configuration) {
-        IgniteComponent answer = new IgniteComponent();
-        answer.setIgniteConfiguration(configuration);
-        return answer;
-    }
-
-    public static IgniteComponent fromInputStream(InputStream inputStream) {
-        IgniteComponent answer = new IgniteComponent();
-        answer.setConfigurationResource(inputStream);
-        return answer;
-    }
-
-    public static IgniteComponent fromUrl(URL url) {
-        IgniteComponent answer = new IgniteComponent();
-        answer.setConfigurationResource(url);
-        return answer;
-    }
-
-    public static IgniteComponent fromLocation(String location) {
-        IgniteComponent answer = new IgniteComponent();
-        answer.setConfigurationResource(location);
-        return answer;
-    }
-
-    @Override
-    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
-        ObjectHelper.notNull(getCamelContext(), "Camel Context");
-
-        AbstractIgniteEndpoint answer = null;
-        URI remainingUri = new URI(URISupport.normalizeUri(remaining));
-        String scheme = remainingUri.getScheme();
-
-        LOG.warn("The scheme syntax 'ignite:{}' has been deprecated. Use 'ignite-{}' instead.", scheme, scheme);
-
-        switch (scheme) {
-        case "cache":
-            answer = new IgniteCacheEndpoint(uri, remainingUri, parameters, this);
-            break;
-        case "compute":
-            answer = new IgniteComputeEndpoint(uri, remainingUri, parameters, this);
-            break;
-        case "messaging":
-            answer = new IgniteMessagingEndpoint(uri, remainingUri, parameters, this);
-            break;
-        case "events":
-            answer = new IgniteEventsEndpoint(uri, remainingUri, parameters, this);
-            break;
-        case "set":
-            answer = new IgniteSetEndpoint(uri, remainingUri, parameters, this);
-            break;
-        case "idgen":
-            answer = new IgniteIdGenEndpoint(uri, remainingUri, parameters, this);
-            break;
-        case "queue":
-            answer = new IgniteQueueEndpoint(uri, remainingUri, parameters, this);
-            break;
-            
-        default:
-            throw new MalformedURLException("An invalid Ignite endpoint URI was provided. Please check that "
-                    + "it starts with:" + " ignite:[cache/compute/messaging/...]:...");
-        }
-
-        setProperties(answer, parameters);
-
-        return answer;
-    }
-
-}
diff --git a/components/camel-ignite/src/main/java/org/apache/camel/component/ignite/cache/IgniteCacheComponent.java b/components/camel-ignite/src/main/java/org/apache/camel/component/ignite/cache/IgniteCacheComponent.java
index 2fc12fa..37e467a 100644
--- a/components/camel-ignite/src/main/java/org/apache/camel/component/ignite/cache/IgniteCacheComponent.java
+++ b/components/camel-ignite/src/main/java/org/apache/camel/component/ignite/cache/IgniteCacheComponent.java
@@ -64,7 +64,7 @@ public class IgniteCacheComponent extends AbstractIgniteComponent {
     @Override
     protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
         ObjectHelper.notNull(getCamelContext(), "Camel Context");
-        IgniteCacheEndpoint answer = new IgniteCacheEndpoint(uri, remaining, parameters, this);
+        IgniteCacheEndpoint answer = new IgniteCacheEndpoint(uri, remaining, this);
         setProperties(answer, parameters);
         return answer;
     }
diff --git a/components/camel-ignite/src/main/java/org/apache/camel/component/ignite/cache/IgniteCacheEndpoint.java b/components/camel-ignite/src/main/java/org/apache/camel/component/ignite/cache/IgniteCacheEndpoint.java
index 8c7a359..6742e64 100644
--- a/components/camel-ignite/src/main/java/org/apache/camel/component/ignite/cache/IgniteCacheEndpoint.java
+++ b/components/camel-ignite/src/main/java/org/apache/camel/component/ignite/cache/IgniteCacheEndpoint.java
@@ -16,9 +16,6 @@
  */
 package org.apache.camel.component.ignite.cache;
 
-import java.net.URI;
-import java.util.Map;
-
 import javax.cache.Cache.Entry;
 
 import org.apache.camel.CamelException;
@@ -26,7 +23,6 @@ import org.apache.camel.Consumer;
 import org.apache.camel.Processor;
 import org.apache.camel.Producer;
 import org.apache.camel.component.ignite.AbstractIgniteEndpoint;
-import org.apache.camel.component.ignite.IgniteComponent;
 import org.apache.camel.spi.Metadata;
 import org.apache.camel.spi.UriEndpoint;
 import org.apache.camel.spi.UriParam;
@@ -80,13 +76,7 @@ public class IgniteCacheEndpoint extends AbstractIgniteEndpoint {
     @UriParam(label = "consumer", defaultValue = "0", defaultValueNote = "ContinuousQuery.DFLT_TIME_INTERVAL")
     private long timeInterval = ContinuousQuery.DFLT_TIME_INTERVAL;
 
-    @Deprecated
-    public IgniteCacheEndpoint(String endpointUri, URI remainingUri, Map<String, Object> parameters, IgniteComponent igniteComponent) {
-        super(endpointUri, igniteComponent);
-        cacheName = remainingUri.getHost();
-    }
-
-    public IgniteCacheEndpoint(String endpointUri, String remaining, Map<String, Object> parameters, IgniteCacheComponent igniteComponent) {
+    public IgniteCacheEndpoint(String endpointUri, String remaining, IgniteCacheComponent igniteComponent) {
         super(endpointUri, igniteComponent);
         cacheName = remaining;
     }
diff --git a/components/camel-ignite/src/main/java/org/apache/camel/component/ignite/compute/IgniteComputeEndpoint.java b/components/camel-ignite/src/main/java/org/apache/camel/component/ignite/compute/IgniteComputeEndpoint.java
index cac13d2..16a3d23 100644
--- a/components/camel-ignite/src/main/java/org/apache/camel/component/ignite/compute/IgniteComputeEndpoint.java
+++ b/components/camel-ignite/src/main/java/org/apache/camel/component/ignite/compute/IgniteComputeEndpoint.java
@@ -16,7 +16,6 @@
  */
 package org.apache.camel.component.ignite.compute;
 
-import java.net.URI;
 import java.util.Map;
 
 import org.apache.camel.Consumer;
@@ -24,7 +23,6 @@ import org.apache.camel.Processor;
 import org.apache.camel.Producer;
 import org.apache.camel.component.ignite.AbstractIgniteEndpoint;
 import org.apache.camel.component.ignite.ClusterGroupExpression;
-import org.apache.camel.component.ignite.IgniteComponent;
 import org.apache.camel.spi.Metadata;
 import org.apache.camel.spi.UriEndpoint;
 import org.apache.camel.spi.UriParam;
@@ -60,11 +58,6 @@ public class IgniteComputeEndpoint extends AbstractIgniteEndpoint {
     @UriParam(label = "producer")
     private Long timeoutMillis;
 
-    @Deprecated
-    public IgniteComputeEndpoint(String uri, URI remainingUri, Map<String, Object> parameters, IgniteComponent igniteComponent) throws ClassNotFoundException {
-        super(uri, igniteComponent);
-    }
-
     public IgniteComputeEndpoint(String uri, String remaining, Map<String, Object> parameters, IgniteComputeComponent igniteComponent) throws ClassNotFoundException {
         super(uri, igniteComponent);
     }
diff --git a/components/camel-ignite/src/main/java/org/apache/camel/component/ignite/events/IgniteEventsEndpoint.java b/components/camel-ignite/src/main/java/org/apache/camel/component/ignite/events/IgniteEventsEndpoint.java
index c7df13e..105ce4a 100644
--- a/components/camel-ignite/src/main/java/org/apache/camel/component/ignite/events/IgniteEventsEndpoint.java
+++ b/components/camel-ignite/src/main/java/org/apache/camel/component/ignite/events/IgniteEventsEndpoint.java
@@ -17,7 +17,6 @@
 package org.apache.camel.component.ignite.events;
 
 import java.lang.reflect.Field;
-import java.net.URI;
 import java.util.Arrays;
 import java.util.HashSet;
 import java.util.Map;
@@ -28,7 +27,6 @@ import org.apache.camel.Processor;
 import org.apache.camel.Producer;
 import org.apache.camel.component.ignite.AbstractIgniteEndpoint;
 import org.apache.camel.component.ignite.ClusterGroupExpression;
-import org.apache.camel.component.ignite.IgniteComponent;
 import org.apache.camel.spi.UriEndpoint;
 import org.apache.camel.spi.UriParam;
 import org.apache.camel.spi.UriPath;
@@ -61,17 +59,6 @@ public class IgniteEventsEndpoint extends AbstractIgniteEndpoint {
     @UriParam(label = "consumer")
     private ClusterGroupExpression clusterGroupExpression;
 
-    @Deprecated
-    public IgniteEventsEndpoint(String uri, URI remainingUri, Map<String, Object> parameters, IgniteComponent igniteComponent) {
-        super(uri, igniteComponent);
-
-        // Initialize subscribed event types with ALL.
-        events = new HashSet<>();
-        for (Integer eventType : EventType.EVTS_ALL) {
-            events.add(eventType);
-        }
-    }
-
     public IgniteEventsEndpoint(String uri, String remaining, Map<String, Object> parameters, IgniteEventsComponent igniteComponent) {
         super(uri, igniteComponent);
 
diff --git a/components/camel-ignite/src/main/java/org/apache/camel/component/ignite/idgen/IgniteIdGenEndpoint.java b/components/camel-ignite/src/main/java/org/apache/camel/component/ignite/idgen/IgniteIdGenEndpoint.java
index ca1971d..bb47df7 100644
--- a/components/camel-ignite/src/main/java/org/apache/camel/component/ignite/idgen/IgniteIdGenEndpoint.java
+++ b/components/camel-ignite/src/main/java/org/apache/camel/component/ignite/idgen/IgniteIdGenEndpoint.java
@@ -16,14 +16,12 @@
  */
 package org.apache.camel.component.ignite.idgen;
 
-import java.net.URI;
 import java.util.Map;
 
 import org.apache.camel.Consumer;
 import org.apache.camel.Processor;
 import org.apache.camel.Producer;
 import org.apache.camel.component.ignite.AbstractIgniteEndpoint;
-import org.apache.camel.component.ignite.IgniteComponent;
 import org.apache.camel.spi.Metadata;
 import org.apache.camel.spi.UriEndpoint;
 import org.apache.camel.spi.UriParam;
@@ -56,14 +54,6 @@ public class IgniteIdGenEndpoint extends AbstractIgniteEndpoint {
     @UriParam(label = "producer")
     private IgniteIdGenOperation operation;
 
-    @Deprecated
-    public IgniteIdGenEndpoint(String endpointUri, URI remainingUri, Map<String, Object> parameters, IgniteComponent igniteComponent) throws Exception {
-        super(endpointUri, igniteComponent);
-        name = remainingUri.getHost();
-
-        ObjectHelper.notNull(name, "ID Generator name");
-    }
-
     public IgniteIdGenEndpoint(String endpointUri, String remaining, Map<String, Object> parameters, IgniteIdGenComponent igniteComponent) throws Exception {
         super(endpointUri, igniteComponent);
         name = remaining;
diff --git a/components/camel-ignite/src/main/java/org/apache/camel/component/ignite/messaging/IgniteMessagingEndpoint.java b/components/camel-ignite/src/main/java/org/apache/camel/component/ignite/messaging/IgniteMessagingEndpoint.java
index 8b9df4b..f88528d 100644
--- a/components/camel-ignite/src/main/java/org/apache/camel/component/ignite/messaging/IgniteMessagingEndpoint.java
+++ b/components/camel-ignite/src/main/java/org/apache/camel/component/ignite/messaging/IgniteMessagingEndpoint.java
@@ -16,7 +16,6 @@
  */
 package org.apache.camel.component.ignite.messaging;
 
-import java.net.URI;
 import java.util.Map;
 
 import org.apache.camel.Consumer;
@@ -24,7 +23,6 @@ import org.apache.camel.Processor;
 import org.apache.camel.Producer;
 import org.apache.camel.component.ignite.AbstractIgniteEndpoint;
 import org.apache.camel.component.ignite.ClusterGroupExpression;
-import org.apache.camel.component.ignite.IgniteComponent;
 import org.apache.camel.spi.Metadata;
 import org.apache.camel.spi.UriEndpoint;
 import org.apache.camel.spi.UriParam;
@@ -54,12 +52,6 @@ public class IgniteMessagingEndpoint extends AbstractIgniteEndpoint {
     @UriParam(label = "producer")
     private Long timeout;
 
-    @Deprecated
-    public IgniteMessagingEndpoint(String endpointUri, URI remainingUri, Map<String, Object> parameters, IgniteComponent igniteComponent) {
-        super(endpointUri, igniteComponent);
-        topic = remainingUri.getHost();
-    }
-
     public IgniteMessagingEndpoint(String endpointUri, String remaining, Map<String, Object> parameters, IgniteMessagingComponent igniteComponent) {
         super(endpointUri, igniteComponent);
         topic = remaining;
diff --git a/components/camel-ignite/src/main/java/org/apache/camel/component/ignite/queue/IgniteQueueEndpoint.java b/components/camel-ignite/src/main/java/org/apache/camel/component/ignite/queue/IgniteQueueEndpoint.java
index 7df01bb..89d751e 100644
--- a/components/camel-ignite/src/main/java/org/apache/camel/component/ignite/queue/IgniteQueueEndpoint.java
+++ b/components/camel-ignite/src/main/java/org/apache/camel/component/ignite/queue/IgniteQueueEndpoint.java
@@ -16,14 +16,12 @@
  */
 package org.apache.camel.component.ignite.queue;
 
-import java.net.URI;
 import java.util.Map;
 
 import org.apache.camel.Consumer;
 import org.apache.camel.Processor;
 import org.apache.camel.Producer;
 import org.apache.camel.component.ignite.AbstractIgniteEndpoint;
-import org.apache.camel.component.ignite.IgniteComponent;
 import org.apache.camel.spi.Metadata;
 import org.apache.camel.spi.UriEndpoint;
 import org.apache.camel.spi.UriParam;
@@ -57,21 +55,6 @@ public class IgniteQueueEndpoint extends AbstractIgniteEndpoint {
     @UriParam(label = "producer")
     private IgniteQueueOperation operation;
 
-    @Deprecated
-    public IgniteQueueEndpoint(String endpointUri, URI remainingUri, Map<String, Object> parameters, IgniteComponent igniteComponent) throws Exception {
-        super(endpointUri, igniteComponent);
-        name = remainingUri.getHost();
-
-        ObjectHelper.notNull(name, "Queue name");
-
-        // Set the configuration values.
-        if (!parameters.containsKey("configuration")) {
-            Map<String, Object> configProps = IntrospectionSupport.extractProperties(parameters, "config.");
-            EndpointHelper.setReferenceProperties(this.getCamelContext(), configProps, parameters);
-            EndpointHelper.setProperties(this.getCamelContext(), configProps, parameters);
-        }
-    }
-
     public IgniteQueueEndpoint(String endpointUri, String remaining, Map<String, Object> parameters, IgniteQueueComponent igniteComponent) throws Exception {
         super(endpointUri, igniteComponent);
         name = remaining;
diff --git a/components/camel-ignite/src/main/java/org/apache/camel/component/ignite/set/IgniteSetEndpoint.java b/components/camel-ignite/src/main/java/org/apache/camel/component/ignite/set/IgniteSetEndpoint.java
index 6b38e0c..852c607 100644
--- a/components/camel-ignite/src/main/java/org/apache/camel/component/ignite/set/IgniteSetEndpoint.java
+++ b/components/camel-ignite/src/main/java/org/apache/camel/component/ignite/set/IgniteSetEndpoint.java
@@ -16,14 +16,12 @@
  */
 package org.apache.camel.component.ignite.set;
 
-import java.net.URI;
 import java.util.Map;
 
 import org.apache.camel.Consumer;
 import org.apache.camel.Processor;
 import org.apache.camel.Producer;
 import org.apache.camel.component.ignite.AbstractIgniteEndpoint;
-import org.apache.camel.component.ignite.IgniteComponent;
 import org.apache.camel.spi.Metadata;
 import org.apache.camel.spi.UriEndpoint;
 import org.apache.camel.spi.UriParam;
@@ -50,22 +48,6 @@ public class IgniteSetEndpoint extends AbstractIgniteEndpoint {
     @UriParam(label = "producer")
     private IgniteSetOperation operation;
 
-    @Deprecated
-    public IgniteSetEndpoint(String endpointUri, URI remainingUri, Map<String, Object> parameters, IgniteComponent igniteComponent) throws Exception {
-        super(endpointUri, igniteComponent);
-        name = remainingUri.getHost();
-
-        ObjectHelper.notNull(name, "Set name");
-
-        // Set the configuration values.
-        if (!parameters.containsKey("configuration")) {
-            Map<String, Object> configProps = IntrospectionSupport.extractProperties(parameters, "config.");
-            EndpointHelper.setReferenceProperties(this.getCamelContext(), configProps, parameters);
-            EndpointHelper.setProperties(this.getCamelContext(), configProps, parameters);
-        }
-
-    }
-
     public IgniteSetEndpoint(String endpointUri, String remaining, Map<String, Object> parameters, IgniteSetComponent igniteComponent) throws Exception {
         super(endpointUri, igniteComponent);
         name = remaining;
diff --git a/components/camel-infinispan/src/main/docs/infinispan-component.adoc b/components/camel-infinispan/src/main/docs/infinispan-component.adoc
index cbc9d37..60c3384 100644
--- a/components/camel-infinispan/src/main/docs/infinispan-component.adoc
+++ b/components/camel-infinispan/src/main/docs/infinispan-component.adoc
@@ -74,7 +74,7 @@ with the following path and query parameters:
 |===
 
 
-==== Query Parameters (18 parameters):
+==== Query Parameters (17 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -84,7 +84,6 @@ with the following path and query parameters:
 | *queryBuilder* (common) | Specifies the query builder. |  | InfinispanQueryBuilder
 | *bridgeErrorHandler* (consumer) | Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored. | false | boolean
 | *clusteredListener* (consumer) | If true, the listener will be installed for the entire cluster | false | boolean
-| *command* (consumer) | *Deprecated* The operation to perform. | PUT | String
 | *customListener* (consumer) | Returns the custom listener in use, if provided |  | InfinispanCustom Listener
 | *eventTypes* (consumer) | Specifies the set of event types to register by the consumer. Multiple event can be separated by comma. The possible event types are: CACHE_ENTRY_ACTIVATED, CACHE_ENTRY_PASSIVATED, CACHE_ENTRY_VISITED, CACHE_ENTRY_LOADED, CACHE_ENTRY_EVICTED, CACHE_ENTRY_CREATED, CACHE_ENTRY_REMOVED, CACHE_ENTRY_MODIFIED, TRANSACTION_COMPLETED, TRANSACTION_REGISTERED, CACHE_ENTRY_INVALIDATED, DATA_REHASHED, TOPOLOGY_CHANGED, PARTITION_STATUS_CHANGED |  | String
 | *sync* (consumer) | If true, the consumer will receive notifications synchronously | true | boolean
@@ -104,7 +103,7 @@ with the following path and query parameters:
 === Spring Boot Auto-Configuration
 
 
-The component supports 21 options, which are listed below.
+The component supports 20 options, which are listed below.
 
 
 
@@ -115,7 +114,6 @@ The component supports 21 options, which are listed below.
 | *camel.component.infinispan.configuration.cache-container* | Specifies the cache Container to connect |  | BasicCacheContainer
 | *camel.component.infinispan.configuration.cache-container-configuration* | The CacheContainer configuration. Uses if the cacheContainer is not defined. Must be the following types: org.infinispan.client.hotrod.configuration.Configuration - for remote cache interaction configuration; org.infinispan.configuration.cache.Configuration - for embedded cache interaction configuration; |  | Object
 | *camel.component.infinispan.configuration.clustered-listener* | If true, the listener will be installed for the entire cluster | false | Boolean
-| *camel.component.infinispan.configuration.command* | The operation to perform. | PUT | String
 | *camel.component.infinispan.configuration.configuration-properties* | Implementation specific properties for the CacheManager |  | Map
 | *camel.component.infinispan.configuration.configuration-uri* | An implementation specific URI for the CacheManager |  | String
 | *camel.component.infinispan.configuration.custom-listener* | Returns the custom listener in use, if provided |  | InfinispanCustom Listener
diff --git a/components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/InfinispanConfiguration.java b/components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/InfinispanConfiguration.java
index 6c3154d..8dd4786 100644
--- a/components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/InfinispanConfiguration.java
+++ b/components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/InfinispanConfiguration.java
@@ -34,9 +34,6 @@ public class InfinispanConfiguration implements Cloneable {
     private String hosts;
     @UriParam(label = "producer", defaultValue = "PUT")
     private InfinispanOperation operation = InfinispanOperation.PUT;
-    @Deprecated
-    @UriParam(label = "consumer", defaultValue = "PUT")
-    private String command = "PUT";
     @UriParam(label = "consumer", defaultValue = "true")
     private boolean sync = true;
     @UriParam(label = "consumer", javaType = "java.lang.String")
@@ -60,24 +57,6 @@ public class InfinispanConfiguration implements Cloneable {
     @UriParam(label = "advanced")
     private Object resultHeader;
 
-    public String getCommand() {
-        return operation.toString();
-    }
-
-    /**
-     * The operation to perform.
-     *
-     * @deprecated replaced by @{link setOperation}
-     */
-    @Deprecated
-    public void setCommand(String command) {
-        if (command.startsWith(InfinispanConstants.OPERATION)) {
-            command = command.substring(InfinispanConstants.OPERATION.length()).toUpperCase();
-        }
-
-        setOperation(InfinispanOperation.valueOf(command));
-    }
-
     public InfinispanOperation getOperation() {
         return operation;
     }
diff --git a/components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/InfinispanConstants.java b/components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/InfinispanConstants.java
index eef8f6a..0d355e3 100644
--- a/components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/InfinispanConstants.java
+++ b/components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/InfinispanConstants.java
@@ -42,110 +42,9 @@ public interface InfinispanConstants {
     String CACHE_ENTRY_UPDATED = "CacheEntryUpdated";
 
     /**
-     * @deprecated use {@link InfinispanOperation#PUT} instead.
-     */
-    @Deprecated
-    String PUT = "CamelInfinispanOperationPut";
-
-    /**
-     * @deprecated use {@link InfinispanOperation#PUTASYNC} instead.
-     */
-    @Deprecated
-    String PUT_ASYNC = "CamelInfinispanOperationPutAsync";
-
-    /**
-     * @deprecated use {@link InfinispanOperation#PUTIFABSENT} instead.
-     */
-    @Deprecated
-    String PUT_IF_ABSENT = "CamelInfinispanOperationPutIfAbsent";
-
-    /**
-     * @deprecated use {@link InfinispanOperation#PUTIFABSENTASYNC} instead.
-     */
-    @Deprecated
-    String PUT_IF_ABSENT_ASYNC = "CamelInfinispanOperationPutIfAbsentAsync";
-
-    /**
-     * @deprecated use {@link InfinispanOperation#GET} instead.
-     */
-    @Deprecated
-    String GET = "CamelInfinispanOperationGet";
-
-    /**
-     * @deprecated use {@link InfinispanOperation#CONTAINSKEY} instead.
-     */
-    @Deprecated
-    String CONTAINS_KEY = "CamelInfinispanOperationContainsKey";
-
-    /**
-     * @deprecated use {@link InfinispanOperation#CONTAINSVALUE} instead.
-     */
-    @Deprecated
-    String CONTAINS_VALUE = "CamelInfinispanOperationContainsValue";
-
-    /**
-     * @deprecated use {@link InfinispanOperation#PUTALL} instead.
-     */
-    @Deprecated
-    String PUT_ALL =  "CamelInfinispanOperationPutAll";
-
-    /**
-     * @deprecated use {@link InfinispanOperation#PUTALLASYNC} instead.
-     */
-    @Deprecated
-    String PUT_ALL_ASYNC = "CamelInfinispanOperationPutAllAsync";
-
-    /**
-     * @deprecated use {@link InfinispanOperation#REMOVE} instead.
-     */
-    @Deprecated
-    String REMOVE = "CamelInfinispanOperationRemove";
-
-    /**
-     * @deprecated use {@link InfinispanOperation#REMOVEASYNC} instead.
-     */
-    @Deprecated
-    String REMOVE_ASYNC = "CamelInfinispanOperationRemoveAsync";
-
-    /**
-     * @deprecated use {@link InfinispanOperation#REPLACE} instead.
-     */
-    @Deprecated
-    String REPLACE = "CamelInfinispanOperationReplace";
-
-    /**
-     * @deprecated use {@link InfinispanOperation#REPLACEASYNC} instead.
-     */
-    @Deprecated
-    String REPLACE_ASYNC = "CamelInfinispanOperationReplaceAsync";
-
-    /**
-     * @deprecated use {@link InfinispanOperation#CLEAR} instead.
-     */
-    @Deprecated
-    String CLEAR = "CamelInfinispanOperationClear";
-
-    /**
-     * @deprecated use {@link InfinispanOperation#CLEARASYNC} instead.
-     */
-    @Deprecated
-    String CLEAR_ASYNC =  "CamelInfinispanOperationClearAsync";
-
-    /**
-     * @deprecated use {@link InfinispanOperation#SIZE} instead.
-     */
-    @Deprecated
-    String SIZE = "CamelInfinispanOperationSize";
-
-    /**
      * @deprecated use {@link InfinispanOperation#QUERY} instead.
      */
     @Deprecated
     String QUERY = "CamelInfinispanOperationQuery";
 
-    /**
-     * @deprecated use {@link InfinispanOperation#STATS} instead.
-     */
-    @Deprecated
-    String STATS = "CamelInfinispanOperationStats";
 }
diff --git a/components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/InfinispanProducer.java b/components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/InfinispanProducer.java
index 45dba0b..6cd38d0 100644
--- a/components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/InfinispanProducer.java
+++ b/components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/InfinispanProducer.java
@@ -58,7 +58,6 @@ public class InfinispanProducer extends HeaderSelectorProducer {
     // ************************************
 
     @InvokeOnHeader("PUT")
-    @InvokeOnHeader(InfinispanConstants.PUT)
     void onPut(Message message) {
         final BasicCache<Object, Object> cache = manager.getCache(message, this.cacheName);
         final Object key = message.getHeader(InfinispanConstants.KEY);
@@ -85,7 +84,6 @@ public class InfinispanProducer extends HeaderSelectorProducer {
     }
 
     @InvokeOnHeader("PUTASYNC")
-    @InvokeOnHeader(InfinispanConstants.PUT_ASYNC)
     void onPutAsync(Message message) {
         final BasicCache<Object, Object> cache = manager.getCache(message, this.cacheName);
         final Object key = message.getHeader(InfinispanConstants.KEY);
@@ -112,7 +110,6 @@ public class InfinispanProducer extends HeaderSelectorProducer {
     }
 
     @InvokeOnHeader("PUTALL")
-    @InvokeOnHeader(InfinispanConstants.PUT_ALL)
     void onPutAll(Message message) {
         final BasicCache<Object, Object> cache = manager.getCache(message, this.cacheName);
         final Map<Object, Object> map = message.getHeader(InfinispanConstants.MAP, Map.class);
@@ -135,7 +132,6 @@ public class InfinispanProducer extends HeaderSelectorProducer {
     }
 
     @InvokeOnHeader("PUTALLASYNC")
-    @InvokeOnHeader(InfinispanConstants.PUT_ALL_ASYNC)
     void onPutAllAsync(Message message) {
         final BasicCache<Object, Object> cache = manager.getCache(message, this.cacheName);
         final Map<Object, Object> map = message.getHeader(InfinispanConstants.MAP, Map.class);
@@ -161,7 +157,6 @@ public class InfinispanProducer extends HeaderSelectorProducer {
     }
 
     @InvokeOnHeader("PUTIFABSENT")
-    @InvokeOnHeader(InfinispanConstants.PUT_IF_ABSENT)
     void onPutIfAbsent(Message message) {
         final BasicCache<Object, Object> cache = manager.getCache(message, this.cacheName);
         final Object key = message.getHeader(InfinispanConstants.KEY);
@@ -188,7 +183,6 @@ public class InfinispanProducer extends HeaderSelectorProducer {
     }
 
     @InvokeOnHeader("PUTIFABSENTASYNC")
-    @InvokeOnHeader(InfinispanConstants.PUT_IF_ABSENT_ASYNC)
     void onPutIfAbsentAsync(Message message) {
         final BasicCache<Object, Object> cache = manager.getCache(message, this.cacheName);
         final Object key = message.getHeader(InfinispanConstants.KEY);
@@ -215,7 +209,6 @@ public class InfinispanProducer extends HeaderSelectorProducer {
     }
 
     @InvokeOnHeader("GET")
-    @InvokeOnHeader(InfinispanConstants.GET)
     void onGet(Message message) {
         final BasicCache<Object, Object> cache = manager.getCache(message, this.cacheName);
         final Object key = message.getHeader(InfinispanConstants.KEY);
@@ -236,7 +229,6 @@ public class InfinispanProducer extends HeaderSelectorProducer {
 
 
     @InvokeOnHeader("CONTAINSKEY")
-    @InvokeOnHeader(InfinispanConstants.CONTAINS_KEY)
     void onContainsKey(Message message) {
         final BasicCache<Object, Object> cache = manager.getCache(message, this.cacheName);
         final Object key = message.getHeader(InfinispanConstants.KEY);
@@ -246,7 +238,6 @@ public class InfinispanProducer extends HeaderSelectorProducer {
     }
 
     @InvokeOnHeader("CONTAINSVALUE")
-    @InvokeOnHeader(InfinispanConstants.CONTAINS_VALUE)
     void onContainsValue(Message message) {
         final BasicCache<Object, Object> cache = manager.getCache(message, this.cacheName);
         final Object value = message.getHeader(InfinispanConstants.VALUE);
@@ -256,7 +247,6 @@ public class InfinispanProducer extends HeaderSelectorProducer {
     }
 
     @InvokeOnHeader("REMOVE")
-    @InvokeOnHeader(InfinispanConstants.REMOVE)
     void onRemove(Message message) {
         final BasicCache<Object, Object> cache = manager.getCache(message, this.cacheName);
         final Object key = message.getHeader(InfinispanConstants.KEY);
@@ -273,7 +263,6 @@ public class InfinispanProducer extends HeaderSelectorProducer {
     }
 
     @InvokeOnHeader("REMOVEASYNC")
-    @InvokeOnHeader(InfinispanConstants.REMOVE_ASYNC)
     void onRemoveAsync(Message message) {
         final BasicCache<Object, Object> cache = manager.getCache(message, this.cacheName);
         final Object key = message.getHeader(InfinispanConstants.KEY);
@@ -291,7 +280,6 @@ public class InfinispanProducer extends HeaderSelectorProducer {
     }
 
     @InvokeOnHeader("REPLACE")
-    @InvokeOnHeader(InfinispanConstants.REPLACE)
     void onReplace(Message message) {
         final BasicCache<Object, Object> cache = manager.getCache(message, this.cacheName);
         final Object key = message.getHeader(InfinispanConstants.KEY);
@@ -331,7 +319,6 @@ public class InfinispanProducer extends HeaderSelectorProducer {
     }
 
     @InvokeOnHeader("REPLACEASYNC")
-    @InvokeOnHeader(InfinispanConstants.REPLACE_ASYNC)
     void onReplaceAsync(Message message) {
         final BasicCache<Object, Object> cache = manager.getCache(message, this.cacheName);
         final Object key = message.getHeader(InfinispanConstants.KEY);
@@ -377,7 +364,6 @@ public class InfinispanProducer extends HeaderSelectorProducer {
     }
    
     @InvokeOnHeader("SIZE")
-    @InvokeOnHeader(InfinispanConstants.SIZE)
     void onSize(Message message) {
         final BasicCache<Object, Object> cache = manager.getCache(message, this.cacheName);
         final Object result = cache.size();
@@ -385,7 +371,6 @@ public class InfinispanProducer extends HeaderSelectorProducer {
     }
 
     @InvokeOnHeader("CLEAR")
-    @InvokeOnHeader(InfinispanConstants.CLEAR)
     void onClear(Message message) {
         final BasicCache<Object, Object> cache = manager.getCache(message, this.cacheName);
 
@@ -393,7 +378,6 @@ public class InfinispanProducer extends HeaderSelectorProducer {
     }
 
     @InvokeOnHeader("CLEARASYNC")
-    @InvokeOnHeader(InfinispanConstants.CLEAR_ASYNC)
     void onCLearAsync(Message message) {
         final BasicCache<Object, Object> cache = manager.getCache(message, this.cacheName);
         final CompletableFuture<Void> result = cache.clearAsync();
@@ -402,7 +386,6 @@ public class InfinispanProducer extends HeaderSelectorProducer {
     }
 
     @InvokeOnHeader("QUERY")
-    @InvokeOnHeader(InfinispanConstants.QUERY)
     void onQuery(Message message) {
         final BasicCache<Object, Object> cache = manager.getCache(message, this.cacheName);
 
@@ -418,7 +401,6 @@ public class InfinispanProducer extends HeaderSelectorProducer {
     }
 
     @InvokeOnHeader("STATS")
-    @InvokeOnHeader(InfinispanConstants.STATS)
     void onStats(Message message) {
         final BasicCache<Object, Object> cache = manager.getCache(message, this.cacheName);
         final Object result = InfinispanUtil.asAdvanced(cache).getStats();
diff --git a/components/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/InfinispanRemoteQueryProducerIT.java b/components/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/InfinispanRemoteQueryProducerIT.java
index 1239c61..f7cd16e 100644
--- a/components/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/InfinispanRemoteQueryProducerIT.java
+++ b/components/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/InfinispanRemoteQueryProducerIT.java
@@ -139,7 +139,7 @@ public class InfinispanRemoteQueryProducerIT extends CamelTestSupport {
         Exchange request = template.request("direct:start", new Processor() {
             @Override
             public void process(Exchange exchange) throws Exception {
-                exchange.getIn().setHeader(OPERATION, QUERY);
+                exchange.getIn().setHeader(OPERATION, "QUERY");
             }
         });
         assertNull(request.getException());
diff --git a/components/camel-irc/src/main/docs/irc-component.adoc b/components/camel-irc/src/main/docs/irc-component.adoc
index f3ea8b8..0fcf2bd 100644
--- a/components/camel-irc/src/main/docs/irc-component.adoc
+++ b/components/camel-irc/src/main/docs/irc-component.adoc
@@ -73,7 +73,7 @@ with the following path and query parameters:
 |===
 
 
-==== Query Parameters (24 parameters):
+==== Query Parameters (23 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -82,7 +82,6 @@ with the following path and query parameters:
 | *autoRejoin* (common) | Whether to auto re-join when being kicked | true | boolean
 | *namesOnJoin* (common) | Sends NAMES command to channel after joining it. onReply has to be true in order to process the result which will have the header value irc.num = '353'. | false | boolean
 | *nickname* (common) | The nickname used in chat. |  | String
-| *persistent* (common) | *Deprecated* Use persistent messages. | true | boolean
 | *realname* (common) | The IRC user's actual name. |  | String
 | *bridgeErrorHandler* (consumer) | Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored. | false | boolean
 | *exceptionHandler* (consumer) | To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this options is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored. |  | ExceptionHandler
diff --git a/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcConfiguration.java b/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcConfiguration.java
index 6edc1c8..575bafd 100644
--- a/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcConfiguration.java
+++ b/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcConfiguration.java
@@ -61,9 +61,6 @@ public class IrcConfiguration implements Cloneable {
     private String username;
     @UriParam(label = "security")
     private SSLTrustManager trustManager = new SSLDefaultTrustManager();
-    @UriParam(defaultValue = "true")
-    @Deprecated
-    private boolean persistent = true;
     @UriParam(defaultValue = "true", label = "advanced")
     private boolean colors = true;
     @UriParam(defaultValue = "true", label = "filter")
@@ -301,19 +298,6 @@ public class IrcConfiguration implements Cloneable {
         this.port = port;
     }
 
-    public boolean isPersistent() {
-        return persistent;
-    }
-
-    /**
-     * Use persistent messages.
-     * @deprecated not in use
-     */
-    @Deprecated
-    public void setPersistent(boolean persistent) {
-        this.persistent = persistent;
-    }
-
     public boolean isColors() {
         return colors;
     }
diff --git a/components/camel-jetty-common/src/main/java/org/apache/camel/component/jetty/CamelMultipartFilter.java b/components/camel-jetty-common/src/main/java/org/apache/camel/component/jetty/CamelMultipartFilter.java
deleted file mode 100644
index 8f0ba6b..0000000
--- a/components/camel-jetty-common/src/main/java/org/apache/camel/component/jetty/CamelMultipartFilter.java
+++ /dev/null
@@ -1,31 +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.component.jetty;
-
-import javax.servlet.Filter;
-
-/**
- * Please use the CamelFilterWrapper instead of using this classs
- */
-@Deprecated 
-public class CamelMultipartFilter extends CamelFilterWrapper {
-    
-    public CamelMultipartFilter(Filter wrapped) {
-        super(wrapped);
-    }
-   
-}
diff --git a/components/camel-jetty-common/src/main/java/org/apache/camel/component/jetty/JettyHttpComponent.java b/components/camel-jetty-common/src/main/java/org/apache/camel/component/jetty/JettyHttpComponent.java
index 6a1be3c..58e87ba 100644
--- a/components/camel-jetty-common/src/main/java/org/apache/camel/component/jetty/JettyHttpComponent.java
+++ b/components/camel-jetty-common/src/main/java/org/apache/camel/component/jetty/JettyHttpComponent.java
@@ -51,7 +51,6 @@ import org.apache.camel.http.common.HttpConfiguration;
 import org.apache.camel.http.common.HttpConsumer;
 import org.apache.camel.http.common.HttpRestHeaderFilterStrategy;
 import org.apache.camel.http.common.HttpRestServletResolveConsumerStrategy;
-import org.apache.camel.http.common.UrlRewrite;
 import org.apache.camel.spi.HeaderFilterStrategy;
 import org.apache.camel.spi.ManagementAgent;
 import org.apache.camel.spi.ManagementStrategy;
@@ -186,7 +185,6 @@ public abstract class JettyHttpComponent extends HttpCommonComponent implements
         List<Filter> filters = resolveAndRemoveReferenceListParameter(parameters, "filtersRef", Filter.class);
         Boolean enableCors = getAndRemoveParameter(parameters, "enableCORS", Boolean.class, false);
         HeaderFilterStrategy headerFilterStrategy = resolveAndRemoveReferenceParameter(parameters, "headerFilterStrategy", HeaderFilterStrategy.class);
-        UrlRewrite urlRewrite = resolveAndRemoveReferenceParameter(parameters, "urlRewrite", UrlRewrite.class);
         SSLContextParameters sslContextParameters = resolveAndRemoveReferenceParameter(parameters, "sslContextParameters", SSLContextParameters.class);
         SSLContextParameters ssl = sslContextParameters != null ? sslContextParameters : this.sslContextParameters;
         ssl = ssl != null ? ssl : retrieveGlobalSslContextParameters();
@@ -231,14 +229,7 @@ public abstract class JettyHttpComponent extends HttpCommonComponent implements
             endpoint.setProxyHost(proxyHost);
             endpoint.setProxyPort(proxyPort);
         }
-        if (urlRewrite != null) {
-            // let CamelContext deal with the lifecycle of the url rewrite
-            // this ensures its being shutdown when Camel shutdown etc.
-            getCamelContext().addService(urlRewrite);
-            endpoint.setUrlRewrite(urlRewrite);
-        }
         // setup the proxy host and proxy port
-
         if (httpClientParameters != null && !httpClientParameters.isEmpty()) {
             endpoint.setHttpClientParameters(httpClientParameters);
         }
@@ -254,7 +245,7 @@ public abstract class JettyHttpComponent extends HttpCommonComponent implements
             binding = getHttpBinding();
         }
         if (binding != null) {
-            endpoint.setBinding(binding);
+            endpoint.setHttpBinding(binding);
         }
         // prefer to use endpoint configured over component configured
         if (jettyBinding == null) {
diff --git a/components/camel-jetty-common/src/main/java/org/apache/camel/component/jetty/JettyHttpEndpoint.java b/components/camel-jetty-common/src/main/java/org/apache/camel/component/jetty/JettyHttpEndpoint.java
index 3eb9595..7e5821b 100644
--- a/components/camel-jetty-common/src/main/java/org/apache/camel/component/jetty/JettyHttpEndpoint.java
+++ b/components/camel-jetty-common/src/main/java/org/apache/camel/component/jetty/JettyHttpEndpoint.java
@@ -107,22 +107,9 @@ public abstract class JettyHttpEndpoint extends HttpCommonEndpoint {
     @UriParam(label = "producer,advanced",
         description = "To use a custom JettyHttpBinding which be used to customize how a response should be written for the producer.")
     private JettyHttpBinding jettyBinding;
-    @UriParam(label = "producer,advanced",
-            description = "To use a custom JettyHttpBinding which be used to customize how a response should be written for the producer.")
-    @Deprecated
-    private String jettyBindingRef;
-    @UriParam(label = "consumer,advanced",
-            description = "Option to disable throwing the HttpOperationFailedException in case of failed responses from the remote server."
-            + " This allows you to get all responses regardless of the HTTP status code.")
-    @Deprecated
-    private String httpBindingRef;
     @UriParam(label = "consumer,advanced",
             description = "Allows using a custom multipart filter. Note: setting multipartFilterRef forces the value of enableMultipartFilter to true.")
     private Filter multipartFilter;
-    @UriParam(label = "consumer,advanced",
-            description = "Allows using a custom multipart filter. Note: setting multipartFilterRef forces the value of enableMultipartFilter to true.")
-    @Deprecated
-    private String multipartFilterRef;
     @UriParam(label = "security",
             description = "To configure security using SSLContextParameters")
     private SSLContextParameters sslContextParameters;
diff --git a/components/camel-jetty-common/src/main/java/org/apache/camel/component/jetty/JettyHttpProducer.java b/components/camel-jetty-common/src/main/java/org/apache/camel/component/jetty/JettyHttpProducer.java
index 01fa24c..5f6e487 100644
--- a/components/camel-jetty-common/src/main/java/org/apache/camel/component/jetty/JettyHttpProducer.java
+++ b/components/camel-jetty-common/src/main/java/org/apache/camel/component/jetty/JettyHttpProducer.java
@@ -106,13 +106,6 @@ public class JettyHttpProducer extends DefaultAsyncProducer implements AsyncProc
         // get the url from the uri
         url = uri.toASCIIString();
 
-        // execute any custom url rewrite
-        String rewriteUrl = HttpHelper.urlRewrite(exchange, url, getEndpoint(), this);
-        if (rewriteUrl != null) {
-            // update url and query string from the rewritten url
-            url = rewriteUrl;
-        }
-
         String methodName = HttpHelper.createMethod(exchange, getEndpoint(), exchange.getIn().getBody() != null).name();
 
         JettyContentExchange httpExchange = getEndpoint().createContentExchange();
diff --git a/components/camel-jetty-common/src/main/java/org/apache/camel/component/jetty/JettyRestHttpBinding.java b/components/camel-jetty-common/src/main/java/org/apache/camel/component/jetty/JettyRestHttpBinding.java
index b89a7a5..88922ee 100644
--- a/components/camel-jetty-common/src/main/java/org/apache/camel/component/jetty/JettyRestHttpBinding.java
+++ b/components/camel-jetty-common/src/main/java/org/apache/camel/component/jetty/JettyRestHttpBinding.java
@@ -27,7 +27,6 @@ public class JettyRestHttpBinding extends DefaultHttpBinding {
     public JettyRestHttpBinding() {
     }
     public JettyRestHttpBinding(HttpCommonEndpoint ep) {
-        super(ep);
         setHeaderFilterStrategy(ep.getHeaderFilterStrategy());
         setTransferException(ep.isTransferException());
         setEagerCheckContentAvailable(ep.isEagerCheckContentAvailable());
diff --git a/components/camel-jetty9/src/main/docs/jetty-component.adoc b/components/camel-jetty9/src/main/docs/jetty-component.adoc
index d003a6d..24969ff 100644
--- a/components/camel-jetty9/src/main/docs/jetty-component.adoc
+++ b/components/camel-jetty9/src/main/docs/jetty-component.adoc
@@ -123,7 +123,7 @@ with the following path and query parameters:
 |===
 
 
-==== Query Parameters (54 parameters):
+==== Query Parameters (50 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -153,9 +153,7 @@ with the following path and query parameters:
 | *filterInitParameters* (consumer) | Configuration of the filter init parameters. These parameters will be applied to the filter list before starting the jetty server. |  | Map
 | *filtersRef* (consumer) | Allows using a custom filters which is putted into a list and can be find in the Registry. Multiple values can be separated by comma. |  | String
 | *handlers* (consumer) | Specifies a comma-delimited set of Handler instances to lookup in your Registry. These handlers are added to the Jetty servlet context (for example, to add security). Important: You can not use different handlers with different Jetty endpoints using the same port number. The handlers is associated to the port number. If you need different handlers, then use different port numbers. |  | String
-| *httpBindingRef* (consumer) | *Deprecated* Option to disable throwing the HttpOperationFailedException in case of failed responses from the remote server. This allows you to get all responses regardless of the HTTP status code. |  | String
 | *multipartFilter* (consumer) | Allows using a custom multipart filter. Note: setting multipartFilterRef forces the value of enableMultipartFilter to true. |  | Filter
-| *multipartFilterRef* (consumer) | *Deprecated* Allows using a custom multipart filter. Note: setting multipartFilterRef forces the value of enableMultipartFilter to true. |  | String
 | *optionsEnabled* (consumer) | Specifies whether to enable HTTP OPTIONS for this Servlet consumer. By default OPTIONS is turned off. | false | boolean
 | *traceEnabled* (consumer) | Specifies whether to enable HTTP TRACE for this Servlet consumer. By default TRACE is turned off. | false | boolean
 | *bridgeEndpoint* (producer) | If the option is true, HttpProducer will ignore the Exchange.HTTP_URI header, and use the endpoint's URI for request. You may also set the option throwExceptionOnFailure to be false to let the HttpProducer send all the fault response back. | false | boolean
@@ -171,9 +169,7 @@ with the following path and query parameters:
 | *httpClient* (producer) | Sets a shared HttpClient to use for all producers created by this endpoint. By default each producer will use a new http client, and not share. Important: Make sure to handle the lifecycle of the shared client, such as stopping the client, when it is no longer in use. Camel will call the start method on the client to ensure its started when this endpoint creates a producer. This options should only be used in special circumstances. |  | HttpClient
 | *httpClientParameters* (producer) | Configuration of Jetty's HttpClient. For example, setting httpClient.idleTimeout=30000 sets the idle timeout to 30 seconds. And httpClient.timeout=30000 sets the request timeout to 30 seconds, in case you want to timeout sooner if you have long running request/response calls. |  | Map
 | *jettyBinding* (producer) | To use a custom JettyHttpBinding which be used to customize how a response should be written for the producer. |  | JettyHttpBinding
-| *jettyBindingRef* (producer) | *Deprecated* To use a custom JettyHttpBinding which be used to customize how a response should be written for the producer. |  | String
 | *okStatusCodeRange* (producer) | The status codes which are considered a success response. The values are inclusive. Multiple ranges can be defined, separated by comma, e.g. 200-204,209,301-304. Each range must be a single number or from-to with the dash included. | 200-299 | String
-| *urlRewrite* (producer) | *Deprecated* Refers to a custom org.apache.camel.component.http.UrlRewrite which allows you to rewrite urls when you bridge/proxy endpoints. See more details at http://camel.apache.org/urlrewrite.html |  | UrlRewrite
 | *mapHttpMessageBody* (advanced) | If this option is true then IN exchange Body of the exchange will be mapped to HTTP body. Setting this to false will avoid the HTTP mapping. | true | boolean
 | *mapHttpMessageFormUrl EncodedBody* (advanced) | If this option is true then IN exchange Form Encoded body of the exchange will be mapped to HTTP. Setting this to false will avoid the HTTP Form Encoded body mapping. | true | boolean
 | *mapHttpMessageHeaders* (advanced) | If this option is true then IN exchange Headers of the exchange will be mapped to HTTP headers. Setting this to false will avoid the HTTP Headers mapping. | true | boolean
diff --git a/components/camel-jetty9/src/test/java/org/apache/camel/component/jetty/HttpUrlRewriteTest.java b/components/camel-jetty9/src/test/java/org/apache/camel/component/jetty/HttpUrlRewriteTest.java
deleted file mode 100644
index a683ea7..0000000
--- a/components/camel-jetty9/src/test/java/org/apache/camel/component/jetty/HttpUrlRewriteTest.java
+++ /dev/null
@@ -1,64 +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.component.jetty;
-
-import org.apache.camel.Exchange;
-import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.impl.JndiRegistry;
-import org.junit.Test;
-
-public class HttpUrlRewriteTest extends BaseJettyTest {
-
-    private int port1;
-    private int port2;
-
-    @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
-        jndi.bind("myRewrite", new MyUrlRewrite());
-        return jndi;
-    }
-
-    @Test
-    public void testUrlRewrite() throws Exception {
-        MockEndpoint mock = getMockEndpoint("mock:result");
-        mock.expectedMessageCount(1);
-
-        String response = template.requestBodyAndHeader("http://localhost:" + port1 + "/foo?phrase=Bye", "Camel", Exchange.HTTP_METHOD, "POST", String.class);
-        assertEquals("Get a wrong response", "Bye Camel", response);
-
-        assertMockEndpointsSatisfied();
-    }
-
-    protected RouteBuilder createRouteBuilder() throws Exception {
-        return new RouteBuilder() {
-            public void configure() {
-                port1 = getPort();
-                port2 = getNextPort();
-
-                from("jetty:http://localhost:" + port1 + "?matchOnUriPrefix=true")
-                    .to("http://localhost:" + port2 + "?throwExceptionOnFailure=false&bridgeEndpoint=true&urlRewrite=#myRewrite");
-
-                from("jetty://http://localhost:" + port2 + "/bar")
-                        .transform().simple("${header.phrase} ${body}")
-                        .to("mock:result");
-            }
-        };
-    }    
-
-}
diff --git a/components/camel-jetty9/src/test/java/org/apache/camel/component/jetty/MyUrlRewrite.java b/components/camel-jetty9/src/test/java/org/apache/camel/component/jetty/MyUrlRewrite.java
deleted file mode 100644
index 4fe26b4..0000000
--- a/components/camel-jetty9/src/test/java/org/apache/camel/component/jetty/MyUrlRewrite.java
+++ /dev/null
@@ -1,31 +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.component.jetty;
-
-import org.apache.camel.Producer;
-import org.apache.camel.http.common.UrlRewrite;
-
-/**
- *
- */
-public class MyUrlRewrite implements UrlRewrite {
-
-    @Override
-    public String rewrite(String url, String relativeUrl, Producer producer) {
-        return url.replaceAll("foo", "bar");
-    }
-}
diff --git a/components/camel-jetty9/src/test/java/org/apache/camel/component/jetty/jettyproducer/HttpJettyUrlRewriteTest.java b/components/camel-jetty9/src/test/java/org/apache/camel/component/jetty/jettyproducer/HttpJettyUrlRewriteTest.java
deleted file mode 100644
index e5f4fd8..0000000
--- a/components/camel-jetty9/src/test/java/org/apache/camel/component/jetty/jettyproducer/HttpJettyUrlRewriteTest.java
+++ /dev/null
@@ -1,65 +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.component.jetty.jettyproducer;
-
-import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.jetty.BaseJettyTest;
-import org.apache.camel.component.jetty.MyUrlRewrite;
-import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.impl.JndiRegistry;
-import org.junit.Test;
-
-public class HttpJettyUrlRewriteTest extends BaseJettyTest {
-
-    private int port1;
-    private int port2;
-
-    @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
-        jndi.bind("myRewrite", new MyUrlRewrite());
-        return jndi;
-    }
-
-    @Test
-    public void testUrlRewrite() throws Exception {
-        MockEndpoint mock = getMockEndpoint("mock:result");
-        mock.expectedMessageCount(1);
-
-        String response = template.requestBody("jetty:http://localhost:" + port1 + "/foo?phrase=Bye", "Camel", String.class);
-        assertEquals("Get a wrong response", "Bye Camel", response);
-
-        assertMockEndpointsSatisfied();
-    }
-
-    protected RouteBuilder createRouteBuilder() throws Exception {
-        return new RouteBuilder() {
-            public void configure() {
-                port1 = getPort();
-                port2 = getNextPort();
-
-                from("jetty:http://localhost:" + port1 + "?matchOnUriPrefix=true")
-                    .to("jetty:http://localhost:" + port2 + "?throwExceptionOnFailure=false&bridgeEndpoint=true&urlRewrite=#myRewrite");
-
-                from("jetty://http://localhost:" + port2 + "/bar")
-                        .transform().simple("${header.phrase} ${body}")
-                        .to("mock:result");
-            }
-        };
-    }    
-
-}
diff --git a/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsBinding.java b/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsBinding.java
index 78c5536..30aa765 100644
--- a/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsBinding.java
+++ b/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsBinding.java
@@ -227,21 +227,6 @@ public class JmsBinding {
         return map;
     }
 
-    /**
-     * @deprecated not in use
-     */
-    @Deprecated
-    public Object getObjectProperty(Message jmsMessage, String name) throws JMSException {
-        // try a direct lookup first
-        Object answer = jmsMessage.getObjectProperty(name);
-        if (answer == null) {
-            // then encode the key and do another lookup
-            String key = jmsKeyFormatStrategy.encodeKey(name);
-            answer = jmsMessage.getObjectProperty(key);
-        }
-        return answer;
-    }
-
     protected Object createByteArrayFromBytesMessage(Exchange exchange, BytesMessage message) throws JMSException {
         // ActiveMQ has special optimised mode for bytes message, so we should use streaming if possible
         Long size = getSafeLongProperty(message, "_AMQ_LARGE_SIZE");
diff --git a/components/camel-jms/src/test/java/org/apache/activemq/camel/component/ActiveMQComponent.java b/components/camel-jms/src/test/java/org/apache/activemq/camel/component/ActiveMQComponent.java
index 6ae69e2..a36e073 100644
--- a/components/camel-jms/src/test/java/org/apache/activemq/camel/component/ActiveMQComponent.java
+++ b/components/camel-jms/src/test/java/org/apache/activemq/camel/component/ActiveMQComponent.java
@@ -1,10 +1,27 @@
+/**
+ * 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.activemq.camel.component;
 
 import java.net.URISyntaxException;
-import java.util.Iterator;
 import java.util.Map;
 import java.util.concurrent.CopyOnWriteArrayList;
+
 import javax.jms.Connection;
+
 import org.apache.activemq.EnhancedConnection;
 import org.apache.activemq.Service;
 import org.apache.activemq.advisory.DestinationSource;
@@ -17,25 +34,44 @@ import org.apache.camel.util.URISupport;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.jms.connection.SingleConnectionFactory;
+import org.springframework.jms.core.JmsTemplate;
 
+/**
+ * The <a href="http://activemq.apache.org/camel/activemq.html">ActiveMQ Component</a>
+ */
 public class ActiveMQComponent extends JmsComponent {
-
-    private final CopyOnWriteArrayList<SingleConnectionFactory> singleConnectionFactoryList = new CopyOnWriteArrayList<>();
-    private final CopyOnWriteArrayList<Service> pooledConnectionFactoryServiceList = new CopyOnWriteArrayList<>();
+    private final CopyOnWriteArrayList<SingleConnectionFactory> singleConnectionFactoryList =
+            new CopyOnWriteArrayList<SingleConnectionFactory>();
+    private final CopyOnWriteArrayList<Service> pooledConnectionFactoryServiceList =
+            new CopyOnWriteArrayList<Service>();
     private static final transient Logger LOG = LoggerFactory.getLogger(ActiveMQComponent.class);
     private boolean exposeAllQueues;
     private CamelEndpointLoader endpointLoader;
+
     private EnhancedConnection connection;
     DestinationSource source;
 
+    /**
+     * Creates an <a href="http://camel.apache.org/activemq.html">ActiveMQ Component</a>
+     *
+     * @return the created component
+     */
     public static ActiveMQComponent activeMQComponent() {
         return new ActiveMQComponent();
     }
 
+    /**
+     * Creates an <a href="http://camel.apache.org/activemq.html">ActiveMQ Component</a>
+     * connecting to the given <a href="http://activemq.apache.org/configuring-transports.html">broker URL</a>
+     *
+     * @param brokerURL the URL to connect to
+     * @return the created component
+     */
     public static ActiveMQComponent activeMQComponent(String brokerURL) {
         ActiveMQComponent answer = new ActiveMQComponent();
         if (answer.getConfiguration() instanceof ActiveMQConfiguration) {
-            ((ActiveMQConfiguration)answer.getConfiguration()).setBrokerURL(brokerURL);
+            ((ActiveMQConfiguration) answer.getConfiguration())
+                    .setBrokerURL(brokerURL);
         }
 
         return answer;
@@ -49,144 +85,161 @@ public class ActiveMQComponent extends JmsComponent {
     }
 
     public ActiveMQComponent(ActiveMQConfiguration configuration) {
-        this.setConfiguration(configuration);
+        super();
+        setConfiguration(configuration);
     }
 
+    /**
+     * Sets the broker URL to use to connect to ActiveMQ using the
+     * <a href="http://activemq.apache.org/configuring-transports.html">ActiveMQ URI format</a>
+     */
     public void setBrokerURL(String brokerURL) {
-        if (this.getConfiguration() instanceof ActiveMQConfiguration) {
-            ((ActiveMQConfiguration)this.getConfiguration()).setBrokerURL(brokerURL);
+        if (getConfiguration() instanceof ActiveMQConfiguration) {
+            ((ActiveMQConfiguration)getConfiguration()).setBrokerURL(brokerURL);
         }
-
-    }
-
-    /** @deprecated */
-    public void setUserName(String userName) {
-        this.setUsername(userName);
     }
 
     public void setTrustAllPackages(boolean trustAllPackages) {
-        if (this.getConfiguration() instanceof ActiveMQConfiguration) {
-            ((ActiveMQConfiguration)this.getConfiguration()).setTrustAllPackages(trustAllPackages);
+        if (getConfiguration() instanceof ActiveMQConfiguration) {
+            ((ActiveMQConfiguration)getConfiguration()).setTrustAllPackages(trustAllPackages);
         }
-
     }
 
     public boolean isExposeAllQueues() {
-        return this.exposeAllQueues;
+        return exposeAllQueues;
     }
 
+    /**
+     * If enabled this will cause all Queues in the ActiveMQ broker to be eagerly populated into the CamelContext
+     * so that they can be easily browsed by any Camel tooling. This option is disabled by default.
+     */
     public void setExposeAllQueues(boolean exposeAllQueues) {
         this.exposeAllQueues = exposeAllQueues;
     }
 
+    /**
+     * Enables or disables whether a PooledConnectionFactory will be used so that when
+     * messages are sent to ActiveMQ from outside of a message consuming thread, pooling will be used rather
+     * than the default with the Spring {@link JmsTemplate} which will create a new connection, session, producer
+     * for each message then close them all down again.
+     * <p/>
+     * The default value is true. Note that this requires an extra dependency on commons-pool2.
+     */
     public void setUsePooledConnection(boolean usePooledConnection) {
-        if (this.getConfiguration() instanceof ActiveMQConfiguration) {
-            ((ActiveMQConfiguration)this.getConfiguration()).setUsePooledConnection(usePooledConnection);
+        if (getConfiguration() instanceof ActiveMQConfiguration) {
+            ((ActiveMQConfiguration)getConfiguration()).setUsePooledConnection(usePooledConnection);
         }
-
     }
 
+    /**
+     * Enables or disables whether a Spring {@link SingleConnectionFactory} will be used so that when
+     * messages are sent to ActiveMQ from outside of a message consuming thread, pooling will be used rather
+     * than the default with the Spring {@link JmsTemplate} which will create a new connection, session, producer
+     * for each message then close them all down again.
+     * <p/>
+     * The default value is false and a pooled connection is used by default.
+     */
     public void setUseSingleConnection(boolean useSingleConnection) {
-        if (this.getConfiguration() instanceof ActiveMQConfiguration) {
-            ((ActiveMQConfiguration)this.getConfiguration()).setUseSingleConnection(useSingleConnection);
+        if (getConfiguration() instanceof ActiveMQConfiguration) {
+            ((ActiveMQConfiguration)getConfiguration()).setUseSingleConnection(useSingleConnection);
         }
-
     }
 
     protected void addPooledConnectionFactoryService(Service pooledConnectionFactoryService) {
-        this.pooledConnectionFactoryServiceList.add(pooledConnectionFactoryService);
+        pooledConnectionFactoryServiceList.add(pooledConnectionFactoryService);
     }
 
     protected void addSingleConnectionFactory(SingleConnectionFactory singleConnectionFactory) {
-        this.singleConnectionFactoryList.add(singleConnectionFactory);
+        singleConnectionFactoryList.add(singleConnectionFactory);
     }
 
+    @Override
+    @SuppressWarnings("unchecked")
     protected String convertPathToActualDestination(String path, Map<String, Object> parameters) {
+        // support ActiveMQ destination options using the destination. prefix
+        // http://activemq.apache.org/destination-options.html
         Map options = IntrospectionSupport.extractProperties(parameters, "destination.");
 
         String query;
         try {
             query = URISupport.createQueryString(options);
-        } catch (URISyntaxException var6) {
-            throw ObjectHelper.wrapRuntimeCamelException(var6);
+        } catch (URISyntaxException e) {
+            throw ObjectHelper.wrapRuntimeCamelException(e);
         }
 
-        return ObjectHelper.isNotEmpty(query) ? path + "?" + query : path;
+        // if we have destination options then append them to the destination name
+        if (ObjectHelper.isNotEmpty(query)) {
+            return path + "?" + query;
+        } else {
+            return path;
+        }
     }
 
+    @Override
     protected void doStart() throws Exception {
         super.doStart();
-        if (this.isExposeAllQueues()) {
-            this.createDestinationSource();
-            this.endpointLoader = new CamelEndpointLoader(this.getCamelContext(), this.source);
-            this.endpointLoader.afterPropertiesSet();
-        }
 
-        if (this.getMessageCreatedStrategy() == null) {
-            this.setMessageCreatedStrategy(new OriginalDestinationPropagateStrategy());
+        if (isExposeAllQueues()) {
+            createDestinationSource();
+            endpointLoader = new CamelEndpointLoader(getCamelContext(), source);
+            endpointLoader.afterPropertiesSet();
         }
 
+        // use OriginalDestinationPropagateStrategy by default if no custom stategy has been set
+        if (getMessageCreatedStrategy() == null) {
+            setMessageCreatedStrategy(new OriginalDestinationPropagateStrategy());
+        }
     }
 
     protected void createDestinationSource() {
         try {
-            if (this.source == null) {
-                if (this.connection == null) {
-                    Connection value = this.getConfiguration().getConnectionFactory().createConnection();
-                    if (!(value instanceof EnhancedConnection)) {
+            if (source == null) {
+                if (connection == null) {
+                    Connection value = getConfiguration().getConnectionFactory().createConnection();
+                    if (value instanceof EnhancedConnection) {
+                        connection = (EnhancedConnection) value;
+                    } else {
                         throw new IllegalArgumentException("Created JMS Connection is not an EnhancedConnection: " + value);
                     }
-
-                    this.connection = (EnhancedConnection)value;
-                    this.connection.start();
+                    connection.start();
                 }
-
-                this.source = this.connection.getDestinationSource();
+                source = connection.getDestinationSource();
             }
-        } catch (Throwable var2) {
-            LOG.info("Can't get destination source, endpoint completer will not work", var2);
+        } catch (Throwable t) {
+            LOG.info("Can't get destination source, endpoint completer will not work", t);
         }
-
     }
 
+    @Override
     protected void doStop() throws Exception {
-        if (this.source != null) {
-            this.source.stop();
-            this.source = null;
+        if (source != null) {
+            source.stop();
+            source = null;
         }
-
-        if (this.connection != null) {
-            this.connection.close();
-            this.connection = null;
+        if (connection != null) {
+            connection.close();
+            connection = null;
         }
-
-        Iterator var1 = this.pooledConnectionFactoryServiceList.iterator();
-
-        while(var1.hasNext()) {
-            Service s = (Service)var1.next();
+        for (Service s : pooledConnectionFactoryServiceList) {
             s.stop();
         }
-
-        this.pooledConnectionFactoryServiceList.clear();
-        var1 = this.singleConnectionFactoryList.iterator();
-
-        while(var1.hasNext()) {
-            SingleConnectionFactory s = (SingleConnectionFactory)var1.next();
+        pooledConnectionFactoryServiceList.clear();
+        for (SingleConnectionFactory s : singleConnectionFactoryList) {
             s.destroy();
         }
-
-        this.singleConnectionFactoryList.clear();
+        singleConnectionFactoryList.clear();
         super.doStop();
     }
 
+    @Override
     public void setConfiguration(JmsConfiguration configuration) {
         if (configuration instanceof ActiveMQConfiguration) {
-            ((ActiveMQConfiguration)configuration).setActiveMQComponent(this);
+            ((ActiveMQConfiguration) configuration).setActiveMQComponent(this);
         }
-
         super.setConfiguration(configuration);
     }
 
+    @Override
     protected JmsConfiguration createConfiguration() {
         ActiveMQConfiguration answer = new ActiveMQConfiguration();
         answer.setActiveMQComponent(this);
diff --git a/components/camel-jpa/src/main/docs/jpa-component.adoc b/components/camel-jpa/src/main/docs/jpa-component.adoc
index aca2c48..ea27f2b 100644
--- a/components/camel-jpa/src/main/docs/jpa-component.adoc
+++ b/components/camel-jpa/src/main/docs/jpa-component.adoc
@@ -167,7 +167,7 @@ with the following path and query parameters:
 | *flushOnSend* (producer) | Flushes the EntityManager after the entity bean has been persisted. | true | boolean
 | *remove* (producer) | Indicates to use entityManager.remove(entity). | false | boolean
 | *useExecuteUpdate* (producer) | To configure whether to use executeUpdate() when producer executes a query. When you use INSERT, UPDATE or DELETE statement as a named query, you need to specify this option to 'true'. |  | Boolean
-| *usePassedInEntityManager* (producer) | If set to true, then Camel will use the EntityManager from the header JpaConstants.ENTITYMANAGER instead of the configured entity manager on the component/endpoint. This allows end users to control which entity manager will be in use. | false | boolean
+| *usePassedInEntityManager* (producer) | If set to true, then Camel will use the EntityManager from the header JpaConstants.ENTITY_MANAGER instead of the configured entity manager on the component/endpoint. This allows end users to control which entity manager will be in use. | false | boolean
 | *usePersist* (producer) | Indicates to use entityManager.persist(entity) instead of entityManager.merge(entity). Note: entityManager.persist(entity) doesn't work for detached entities (where the EntityManager has to execute an UPDATE instead of an INSERT query)! | false | boolean
 | *entityManagerProperties* (advanced) | Additional properties for the entity manager to use. |  | Map
 | *synchronous* (advanced) | Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported). | false | boolean
diff --git a/components/camel-jpa/src/main/java/org/apache/camel/component/jpa/JpaConstants.java b/components/camel-jpa/src/main/java/org/apache/camel/component/jpa/JpaConstants.java
index 4466b3f..6f59a89 100644
--- a/components/camel-jpa/src/main/java/org/apache/camel/component/jpa/JpaConstants.java
+++ b/components/camel-jpa/src/main/java/org/apache/camel/component/jpa/JpaConstants.java
@@ -25,12 +25,6 @@ public final class JpaConstants {
 
     public static final String ENTITY_MANAGER = "CamelEntityManager";
 
-    /**
-     * @deprecated use {@link #ENTITY_MANAGER}
-     */
-    @Deprecated
-    public static final String ENTITYMANAGER = ENTITY_MANAGER;
-
     private JpaConstants() {
         // utility class
     }
diff --git a/components/camel-jpa/src/main/java/org/apache/camel/component/jpa/JpaEndpoint.java b/components/camel-jpa/src/main/java/org/apache/camel/component/jpa/JpaEndpoint.java
index 005b112..6459389 100644
--- a/components/camel-jpa/src/main/java/org/apache/camel/component/jpa/JpaEndpoint.java
+++ b/components/camel-jpa/src/main/java/org/apache/camel/component/jpa/JpaEndpoint.java
@@ -363,7 +363,7 @@ public class JpaEndpoint extends ScheduledPollEndpoint {
 
     /**
      * If set to true, then Camel will use the EntityManager from the header
-     * JpaConstants.ENTITYMANAGER instead of the configured entity manager on the component/endpoint.
+     * JpaConstants.ENTITY_MANAGER instead of the configured entity manager on the component/endpoint.
      * This allows end users to control which entity manager will be in use.
      */
     public void setUsePassedInEntityManager(boolean usePassedIn) {
diff --git a/components/camel-jpa/src/test/java/org/apache/camel/component/jpa/AbstractJpaMethodTest.java b/components/camel-jpa/src/test/java/org/apache/camel/component/jpa/AbstractJpaMethodTest.java
index de654ec..fd47736 100644
--- a/components/camel-jpa/src/test/java/org/apache/camel/component/jpa/AbstractJpaMethodTest.java
+++ b/components/camel-jpa/src/test/java/org/apache/camel/component/jpa/AbstractJpaMethodTest.java
@@ -121,7 +121,7 @@ public abstract class AbstractJpaMethodTest extends CamelTestSupport {
         consumer = endpoint.createConsumer(new Processor() {
             public void process(Exchange e) {
                 receivedExchange = e;
-                assertNotNull(e.getIn().getHeader(JpaConstants.ENTITYMANAGER, EntityManager.class));
+                assertNotNull(e.getIn().getHeader(JpaConstants.ENTITY_MANAGER, EntityManager.class));
                 latch.countDown();
             }
         });
diff --git a/components/camel-jpa/src/test/java/org/apache/camel/component/jpa/JpaTest.java b/components/camel-jpa/src/test/java/org/apache/camel/component/jpa/JpaTest.java
index 8977271..e4bc79b 100644
--- a/components/camel-jpa/src/test/java/org/apache/camel/component/jpa/JpaTest.java
+++ b/components/camel-jpa/src/test/java/org/apache/camel/component/jpa/JpaTest.java
@@ -92,7 +92,7 @@ public class JpaTest extends Assert {
                 LOG.info("Received exchange: " + e.getIn());
                 receivedExchange = e;
                 // should have a EntityManager
-                EntityManager entityManager = e.getIn().getHeader(JpaConstants.ENTITYMANAGER, EntityManager.class);
+                EntityManager entityManager = e.getIn().getHeader(JpaConstants.ENTITY_MANAGER, EntityManager.class);
                 assertNotNull("Should have a EntityManager as header", entityManager);
                 latch.countDown();
             }
diff --git a/components/camel-jpa/src/test/java/org/apache/camel/processor/jpa/JpaProducerPassingEntityManagerTest.java b/components/camel-jpa/src/test/java/org/apache/camel/processor/jpa/JpaProducerPassingEntityManagerTest.java
index f8f39f5..22ae996 100644
--- a/components/camel-jpa/src/test/java/org/apache/camel/processor/jpa/JpaProducerPassingEntityManagerTest.java
+++ b/components/camel-jpa/src/test/java/org/apache/camel/processor/jpa/JpaProducerPassingEntityManagerTest.java
@@ -53,7 +53,7 @@ public class JpaProducerPassingEntityManagerTest extends AbstractJpaTest {
 
         // The same EntityManager returns same entity instance from its 1st level cache
         entityManager = emf.createEntityManager();
-        template.sendBodyAndHeader("direct:start", new SendEmail("bar@beer.org"), JpaConstants.ENTITYMANAGER, entityManager);
+        template.sendBodyAndHeader("direct:start", new SendEmail("bar@beer.org"), JpaConstants.ENTITY_MANAGER, entityManager);
         exchange = mock.getReceivedExchanges().get(0);
         persistedEntity = exchange.getIn().getBody(SendEmail.class);
         emfindEntity = entityManager.find(SendEmail.class, persistedEntity.getId());
diff --git a/components/camel-jpa/src/test/java/org/apache/camel/processor/jpa/JpaRouteTest.java b/components/camel-jpa/src/test/java/org/apache/camel/processor/jpa/JpaRouteTest.java
index 2336e36..7106cd3 100644
--- a/components/camel-jpa/src/test/java/org/apache/camel/processor/jpa/JpaRouteTest.java
+++ b/components/camel-jpa/src/test/java/org/apache/camel/processor/jpa/JpaRouteTest.java
@@ -42,7 +42,7 @@ public class JpaRouteTest extends AbstractJpaTest {
 
         MockEndpoint mock = getMockEndpoint("mock:result");
         mock.expectedMessageCount(1);
-        ValueBuilder header = mock.message(0).header(JpaConstants.ENTITYMANAGER);
+        ValueBuilder header = mock.message(0).header(JpaConstants.ENTITY_MANAGER);
         header.isNotNull();
         header.isInstanceOf(EntityManager.class);
 
diff --git a/components/camel-jsonpath/src/main/java/org/apache/camel/jsonpath/JsonPathEngine.java b/components/camel-jsonpath/src/main/java/org/apache/camel/jsonpath/JsonPathEngine.java
index f6a3d93..d9b3db2 100644
--- a/components/camel-jsonpath/src/main/java/org/apache/camel/jsonpath/JsonPathEngine.java
+++ b/components/camel-jsonpath/src/main/java/org/apache/camel/jsonpath/JsonPathEngine.java
@@ -56,11 +56,6 @@ public class JsonPathEngine {
     private JsonPathAdapter adapter;
     private volatile boolean initJsonAdapter;
 
-    @Deprecated
-    public JsonPathEngine(String expression) {
-        this(expression, false, false, true, null, null);
-    }
-
     public JsonPathEngine(String expression, boolean writeAsString, boolean suppressExceptions, boolean allowSimple,
                           String headerName, Option[] options) {
         this.expression = expression;
diff --git a/components/camel-jt400/src/main/java/org/apache/camel/component/jt400/Jt400DataQueueConsumer.java b/components/camel-jt400/src/main/java/org/apache/camel/component/jt400/Jt400DataQueueConsumer.java
index e86008e..1fdd667 100644
--- a/components/camel-jt400/src/main/java/org/apache/camel/component/jt400/Jt400DataQueueConsumer.java
+++ b/components/camel-jt400/src/main/java/org/apache/camel/component/jt400/Jt400DataQueueConsumer.java
@@ -72,17 +72,6 @@ public class Jt400DataQueueConsumer extends ScheduledPollConsumer {
         queueService.stop();
     }
 
-    @Deprecated
-    public Exchange receive() {
-        // -1 to indicate a blocking read from data queue
-        return receive(-1);
-    }
-
-    @Deprecated
-    public Exchange receiveNoWait() {
-        return receive(0);
-    }
-
     /**
      * Receives an entry from a data queue and returns an {@link Exchange} to
      * send this data If the endpoint's format is set to {@link org.apache.camel.component.jt400.Jt400Configuration.Format#binary},
diff --git a/components/camel-jt400/src/test/java/org/apache/camel/component/jt400/Jt400DataQueueConsumerTest.java b/components/camel-jt400/src/test/java/org/apache/camel/component/jt400/Jt400DataQueueConsumerTest.java
index ff28154..4bf991c 100644
--- a/components/camel-jt400/src/test/java/org/apache/camel/component/jt400/Jt400DataQueueConsumerTest.java
+++ b/components/camel-jt400/src/test/java/org/apache/camel/component/jt400/Jt400DataQueueConsumerTest.java
@@ -100,7 +100,7 @@ public class Jt400DataQueueConsumerTest extends Assert {
     public void testReceive() throws InterruptedException {
         new Thread(new Runnable() {
             public void run() {
-                consumer.receive();
+                consumer.receive(-1);
                 receiveFlag = true;
             }
         }).start();
diff --git a/components/camel-kafka/src/main/java/org/apache/camel/component/kafka/KafkaConstants.java b/components/camel-kafka/src/main/java/org/apache/camel/component/kafka/KafkaConstants.java
index 545273d..05e54f0 100644
--- a/components/camel-kafka/src/main/java/org/apache/camel/component/kafka/KafkaConstants.java
+++ b/components/camel-kafka/src/main/java/org/apache/camel/component/kafka/KafkaConstants.java
@@ -27,11 +27,6 @@ public final class KafkaConstants {
     public static final String LAST_RECORD_BEFORE_COMMIT = "kafka.LAST_RECORD_BEFORE_COMMIT";
     public static final String TIMESTAMP = "kafka.TIMESTAMP";
 
-    @Deprecated
-    public static final String KAFKA_DEFAULT_ENCODER = "kafka.serializer.DefaultEncoder";
-    @Deprecated
-    public static final String KAFKA_STRING_ENCODER = "kafka.serializer.StringEncoder";
-
     public static final String KAFKA_DEFAULT_SERIALIZER  = "org.apache.kafka.common.serialization.StringSerializer";
     public static final String KAFKA_DEFAULT_DESERIALIZER  = "org.apache.kafka.common.serialization.StringDeserializer";
     public static final String KAFKA_DEFAULT_PARTITIONER = "org.apache.kafka.clients.producer.internals.DefaultPartitioner";
diff --git a/components/camel-kubernetes/src/main/docs/kubernetes-component.adoc b/components/camel-kubernetes/src/main/docs/kubernetes-component.adoc
index 196795d..00ad864 100644
--- a/components/camel-kubernetes/src/main/docs/kubernetes-component.adoc
+++ b/components/camel-kubernetes/src/main/docs/kubernetes-component.adoc
@@ -124,7 +124,7 @@ with the following path and query parameters:
 === Spring Boot Auto-Configuration
 
 
-The component supports 16 options, which are listed below.
+The component supports 14 options, which are listed below.
 
 
 
@@ -145,8 +145,6 @@ The component supports 16 options, which are listed below.
 | *camel.component.kubernetes.cluster.service.pod-name* | Set the name of the current pod (autodetected from container host name by default). |  | String
 | *camel.component.kubernetes.cluster.service.renew-deadline-millis* | The deadline after which the leader must stop its services because it may have lost the leadership. |  | Long
 | *camel.component.kubernetes.cluster.service.retry-period-millis* | The time between two subsequent attempts to check and acquire the leadership. It is randomized using the jitter factor. |  | Long
-| *camel.component.kubernetes.enabled* | Whether to enable auto configuration of the kubernetes component. This is enabled by default. |  | Boolean
-| *camel.component.kubernetes.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/java/org/apache/camel/component/kubernetes/KubernetesComponent.java b/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/KubernetesComponent.java
deleted file mode 100644
index 1b94147..0000000
--- a/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/KubernetesComponent.java
+++ /dev/null
@@ -1,32 +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.component.kubernetes;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-@Deprecated
-public class KubernetesComponent extends AbstractKubernetesComponent {
-
-    private static final Logger LOG = LoggerFactory.getLogger(KubernetesComponent.class);
-
-    protected AbstractKubernetesEndpoint doCreateEndpoint(String uri, String remaining, KubernetesConfiguration config) throws Exception {
-        LOG.warn("The syntax 'kubernetes://{}' has been deprecated. Use 'kubernetes-{}://{}' instead.", remaining, config.getCategory(), remaining);
-        KubernetesEndpoint endpoint = new KubernetesEndpoint(uri, this, config);
-        return endpoint;
-    }
-}
diff --git a/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/KubernetesConfiguration.java b/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/KubernetesConfiguration.java
index 53bc6db..684eb03 100644
--- a/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/KubernetesConfiguration.java
+++ b/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/KubernetesConfiguration.java
@@ -31,9 +31,6 @@ public class KubernetesConfiguration implements Cloneable {
     @Metadata(required = "true")
     private String masterUrl;
 
-    @Deprecated
-    private String category;
-
     @UriParam
     private KubernetesClient kubernetesClient;
 
@@ -118,17 +115,6 @@ public class KubernetesConfiguration implements Cloneable {
     }
 
     /**
-     * Kubernetes Producer and Consumer category
-     */
-    public String getCategory() {
-        return category;
-    }
-
-    public void setCategory(String category) {
-        this.category = category;
-    }
-
-    /**
      * Default KubernetesClient to use if provided
      */
     public KubernetesClient getKubernetesClient() {
@@ -338,22 +324,6 @@ public class KubernetesConfiguration implements Cloneable {
     }
 
     /**
-     * @deprecated use {@link #getNamespace()}
-     */
-    @Deprecated
-    public String getNamespaceName() {
-        return getNamespace();
-    }
-
-    /**
-     * @deprecated use {@link #setNamespace(String)}
-     */
-    @Deprecated
-    public void setNamespaceName(String namespace) {
-        setNamespace(namespace);
-    }
-
-    /**
      * The Consumer pool size
      */
     public int getPoolSize() {
@@ -423,7 +393,7 @@ public class KubernetesConfiguration implements Cloneable {
 
     @Override
     public String toString() {
-        return "KubernetesConfiguration [masterUrl=" + masterUrl + ", category=" + category + ", kubernetesClient="
+        return "KubernetesConfiguration [masterUrl=" + masterUrl + ", kubernetesClient="
                 + kubernetesClient + ", username=" + username + ", password=" + password + ", operation=" + operation
                 + ", apiVersion=" + apiVersion + ", caCertData=" + caCertData + ", caCertFile=" + caCertFile
                 + ", clientCertData=" + clientCertData + ", clientCertFile=" + clientCertFile + ", clientKeyAlgo="
diff --git a/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/KubernetesEndpoint.java b/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/KubernetesEndpoint.java
deleted file mode 100644
index 4dd5162..0000000
--- a/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/KubernetesEndpoint.java
+++ /dev/null
@@ -1,157 +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.component.kubernetes;
-
-import org.apache.camel.Consumer;
-import org.apache.camel.Processor;
-import org.apache.camel.Producer;
-import org.apache.camel.component.kubernetes.config_maps.KubernetesConfigMapsProducer;
-import org.apache.camel.component.kubernetes.namespaces.KubernetesNamespacesConsumer;
-import org.apache.camel.component.kubernetes.namespaces.KubernetesNamespacesProducer;
-import org.apache.camel.component.kubernetes.nodes.KubernetesNodesConsumer;
-import org.apache.camel.component.kubernetes.nodes.KubernetesNodesProducer;
-import org.apache.camel.component.kubernetes.persistent_volumes.KubernetesPersistentVolumesProducer;
-import org.apache.camel.component.kubernetes.persistent_volumes_claims.KubernetesPersistentVolumesClaimsProducer;
-import org.apache.camel.component.kubernetes.pods.KubernetesPodsConsumer;
-import org.apache.camel.component.kubernetes.pods.KubernetesPodsProducer;
-import org.apache.camel.component.kubernetes.replication_controllers.KubernetesReplicationControllersConsumer;
-import org.apache.camel.component.kubernetes.replication_controllers.KubernetesReplicationControllersProducer;
-import org.apache.camel.component.kubernetes.resources_quota.KubernetesResourcesQuotaProducer;
-import org.apache.camel.component.kubernetes.secrets.KubernetesSecretsProducer;
-import org.apache.camel.component.kubernetes.service_accounts.KubernetesServiceAccountsProducer;
-import org.apache.camel.component.kubernetes.services.KubernetesServicesConsumer;
-import org.apache.camel.component.kubernetes.services.KubernetesServicesProducer;
-import org.apache.camel.component.openshift.build_configs.OpenshiftBuildConfigsProducer;
-import org.apache.camel.component.openshift.builds.OpenshiftBuildsProducer;
-import org.apache.camel.spi.Metadata;
-import org.apache.camel.spi.UriEndpoint;
-import org.apache.camel.spi.UriParam;
-import org.apache.camel.util.ObjectHelper;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * Use splitted kubernetes components instead of this composite component.
- * @deprecated
- */
-@Deprecated
-@UriEndpoint(firstVersion = "2.17.0", scheme = "kubernetes", title = "Kubernetes", syntax = "kubernetes:masterUrl", label = "container,cloud,paas")
-public class KubernetesEndpoint extends AbstractKubernetesEndpoint {
-
-    private static final Logger LOG = LoggerFactory.getLogger(KubernetesEndpoint.class);
-
-    @UriParam(enums = "namespaces,services,replicationControllers,pods,persistentVolumes,persistentVolumesClaims,secrets,resourcesQuota,serviceAccounts,nodes,configMaps,builds,buildConfigs")
-    @Metadata(required = "true")
-    private String category;
-
-    public KubernetesEndpoint(String uri, KubernetesComponent component, KubernetesConfiguration config) {
-        super(uri, component, config);
-        category = config.getCategory();
-    }
-
-    @Override
-    public Producer createProducer() throws Exception {
-        if (ObjectHelper.isEmpty(category)) {
-            throw new IllegalArgumentException("A producer category must be specified");
-        } else {
-            switch (category) {
-
-            case KubernetesCategory.NAMESPACES:
-                return new KubernetesNamespacesProducer(this);
-
-            case KubernetesCategory.SERVICES:
-                return new KubernetesServicesProducer(this);
-
-            case KubernetesCategory.REPLICATION_CONTROLLERS:
-                return new KubernetesReplicationControllersProducer(this);
-
-            case KubernetesCategory.PODS:
-                return new KubernetesPodsProducer(this);
-
-            case KubernetesCategory.PERSISTENT_VOLUMES:
-                return new KubernetesPersistentVolumesProducer(this);
-
-            case KubernetesCategory.PERSISTENT_VOLUMES_CLAIMS:
-                return new KubernetesPersistentVolumesClaimsProducer(this);
-
-            case KubernetesCategory.SECRETS:
-                return new KubernetesSecretsProducer(this);
-
-            case KubernetesCategory.RESOURCES_QUOTA:
-                return new KubernetesResourcesQuotaProducer(this);
-
-            case KubernetesCategory.SERVICE_ACCOUNTS:
-                return new KubernetesServiceAccountsProducer(this);
-
-            case KubernetesCategory.NODES:
-                return new KubernetesNodesProducer(this);
-                
-            case KubernetesCategory.CONFIGMAPS:
-                return new KubernetesConfigMapsProducer(this);
-
-            case KubernetesCategory.BUILDS:
-                return new OpenshiftBuildsProducer(this);
-
-            case KubernetesCategory.BUILD_CONFIGS:
-                return new OpenshiftBuildConfigsProducer(this);
-
-            default:
-                throw new IllegalArgumentException("The " + category + " producer category doesn't exist");
-            }
-        }
-    }
-
-    @Override
-    public Consumer createConsumer(Processor processor) throws Exception {
-        if (ObjectHelper.isEmpty(category)) {
-            throw new IllegalArgumentException("A consumer category must be specified");
-        } else {
-            switch (category) {
-
-            case KubernetesCategory.PODS:
-                return new KubernetesPodsConsumer(this, processor);
-
-            case KubernetesCategory.SERVICES:
-                return new KubernetesServicesConsumer(this, processor);
-
-            case KubernetesCategory.REPLICATION_CONTROLLERS:
-                return new KubernetesReplicationControllersConsumer(this, processor);
-                
-            case KubernetesCategory.NAMESPACES:
-                return new KubernetesNamespacesConsumer(this, processor);
-                
-            case KubernetesCategory.NODES:
-                return new KubernetesNodesConsumer(this, processor);
-
-            default:
-                throw new IllegalArgumentException("The " + category + " consumer category doesn't exist");
-            }
-        }
-    }
-
-    /**
-     * Kubernetes Producer and Consumer category
-     */
-    public String getCategory() {
-        return category;
-    }
-
-    public void setCategory(String category) {
-        this.category = category;
-    }
-
-}
diff --git a/components/camel-kubernetes/src/test/java/org/apache/camel/component/kubernetes/deprecated/DeprecatedKubernetesConfigMapsProducerTest.java b/components/camel-kubernetes/src/test/java/org/apache/camel/component/kubernetes/deprecated/DeprecatedKubernetesConfigMapsProducerTest.java
deleted file mode 100644
index 6eff680..0000000
--- a/components/camel-kubernetes/src/test/java/org/apache/camel/component/kubernetes/deprecated/DeprecatedKubernetesConfigMapsProducerTest.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
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.component.kubernetes.deprecated;
-
-import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.kubernetes.producer.KubernetesConfigMapsProducerTest;
-import org.junit.Ignore;
-
-@Ignore
-@Deprecated
-public class DeprecatedKubernetesConfigMapsProducerTest extends KubernetesConfigMapsProducerTest {
-
-    @Override
-    protected RouteBuilder createRouteBuilder() throws Exception {
-        return new RouteBuilder() {
-            @Override
-            public void configure() throws Exception {
-                from("direct:list")
-                        .toF("kubernetes://%s?oauthToken=%s&category=configMaps&operation=listConfigMaps",
-                                host, authToken);
-                from("direct:listConfigMapsByLabels")
-                        .toF("kubernetes://%s?oauthToken=%s&category=configMaps&operation=listConfigMapsByLabels",
-                                host, authToken);
-                from("direct:getConfigMap")
-                        .toF("kubernetes://%s?oauthToken=%s&category=configMaps&operation=getConfigMap",
-                                host, authToken);
-                from("direct:createConfigMap")
-                        .toF("kubernetes://%s?oauthToken=%s&category=configMaps&operation=createConfigMap",
-                                host, authToken);
-                from("direct:deleteConfigMap")
-                        .toF("kubernetes://%s?oauthToken=%s&category=configMaps&operation=deleteConfigMap",
-                                host, authToken);
-            }
-        };
-    }
-}
diff --git a/components/camel-kubernetes/src/test/java/org/apache/camel/component/kubernetes/deprecated/DeprecatedKubernetesNamespacesConsumerTest.java b/components/camel-kubernetes/src/test/java/org/apache/camel/component/kubernetes/deprecated/DeprecatedKubernetesNamespacesConsumerTest.java
deleted file mode 100644
index 0a2bbf9..0000000
--- a/components/camel-kubernetes/src/test/java/org/apache/camel/component/kubernetes/deprecated/DeprecatedKubernetesNamespacesConsumerTest.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
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.component.kubernetes.deprecated;
-
-import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.kubernetes.consumer.KubernetesNamespacesConsumerTest;
-
-@Deprecated
-public class DeprecatedKubernetesNamespacesConsumerTest extends KubernetesNamespacesConsumerTest {
-
-    @Override
-    protected RouteBuilder createRouteBuilder() throws Exception {
-        return new RouteBuilder() {
-            @Override
-            public void configure() throws Exception {
-                from("direct:list").toF("kubernetes://%s?oauthToken=%s&category=namespaces&operation=listNamespaces",
-                        host, authToken);
-                from("direct:listByLabels").toF(
-                        "kubernetes://%s?oauthToken=%s&category=namespaces&operation=listNamespacesByLabels", host,
-                        authToken);
-                from("direct:getNs").toF("kubernetes://%s?oauthToken=%s&category=namespaces&operation=getNamespace",
-                        host, authToken);
-                from("direct:createNamespace").toF(
-                        "kubernetes://%s?oauthToken=%s&category=namespaces&operation=createNamespace", host, authToken);
-                from("direct:deleteNamespace").toF(
-                        "kubernetes://%s?oauthToken=%s&category=namespaces&operation=deleteNamespace", host, authToken);
-                fromF("kubernetes://%s?oauthToken=%s&category=namespaces", host, authToken).process(
-                        new KubernertesProcessor()).to(mockResultEndpoint);
-            }
-        };
-    }
-
-}
diff --git a/components/camel-kubernetes/src/test/java/org/apache/camel/component/kubernetes/deprecated/DeprecatedKubernetesNamespacesProducerTest.java b/components/camel-kubernetes/src/test/java/org/apache/camel/component/kubernetes/deprecated/DeprecatedKubernetesNamespacesProducerTest.java
deleted file mode 100644
index 5df0bfb..0000000
--- a/components/camel-kubernetes/src/test/java/org/apache/camel/component/kubernetes/deprecated/DeprecatedKubernetesNamespacesProducerTest.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
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.component.kubernetes.deprecated;
-
-import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.kubernetes.producer.KubernetesNamespacesProducerTest;
-import org.junit.Ignore;
-
-@Ignore
-@Deprecated
-public class DeprecatedKubernetesNamespacesProducerTest extends KubernetesNamespacesProducerTest {
-
-    @Override
-    protected RouteBuilder createRouteBuilder() throws Exception {
-        return new RouteBuilder() {
-            @Override
-            public void configure() throws Exception {
-                from("direct:list")
-                        .toF("kubernetes://%s?oauthToken=%s&category=namespaces&operation=listNamespaces",
-                                host, authToken);
-                from("direct:listByLabels")
-                        .toF("kubernetes://%s?oauthToken=%s&category=namespaces&operation=listNamespacesByLabels",
-                                host, authToken);
-                from("direct:getNs")
-                        .toF("kubernetes://%s?oauthToken=%s&category=namespaces&operation=getNamespace",
-                                host, authToken);
-                from("direct:createNamespace")
-                        .toF("kubernetes://%s?oauthToken=%s&category=namespaces&operation=createNamespace",
-                                host, authToken);
-                from("direct:deleteNamespace")
-                        .toF("kubernetes://%s?oauthToken=%s&category=namespaces&operation=deleteNamespace",
-                                host, authToken);
-            }
-        };
-    }
-}
diff --git a/components/camel-kubernetes/src/test/java/org/apache/camel/component/kubernetes/deprecated/DeprecatedKubernetesNodesConsumerTest.java b/components/camel-kubernetes/src/test/java/org/apache/camel/component/kubernetes/deprecated/DeprecatedKubernetesNodesConsumerTest.java
deleted file mode 100644
index 226e478..0000000
--- a/components/camel-kubernetes/src/test/java/org/apache/camel/component/kubernetes/deprecated/DeprecatedKubernetesNodesConsumerTest.java
+++ /dev/null
@@ -1,46 +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.component.kubernetes.deprecated;
-
-import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.kubernetes.consumer.KubernetesNodesConsumerTest;
-
-@Deprecated
-public class DeprecatedKubernetesNodesConsumerTest extends KubernetesNodesConsumerTest {
-
-    @Override
-    protected RouteBuilder createRouteBuilder() throws Exception {
-        return new RouteBuilder() {
-            @Override
-            public void configure() throws Exception {
-                from("direct:list").toF("kubernetes://%s?oauthToken=%s&category=pods&operation=listPods", host,
-                        authToken);
-                from("direct:listByLabels")
-                        .toF("kubernetes://%s?oauthToken=%s&category=pods&operation=listPodsByLabels", host, authToken);
-                from("direct:getPod").toF("kubernetes://%s?oauthToken=%s&category=pods&operation=getPod", host,
-                        authToken);
-                from("direct:createPod").toF("kubernetes://%s?oauthToken=%s&category=pods&operation=createPod", host,
-                        authToken);
-                from("direct:deletePod").toF("kubernetes://%s?oauthToken=%s&category=pods&operation=deletePod", host,
-                        authToken);
-                fromF("kubernetes://%s?oauthToken=%s&category=nodes&resourceName=minikube", host, authToken)
-                        .process(new KubernertesProcessor()).to(mockResultEndpoint);
-            }
-        };
-    }
-
-}
diff --git a/components/camel-kubernetes/src/test/java/org/apache/camel/component/kubernetes/deprecated/DeprecatedKubernetesNodesProducerTest.java b/components/camel-kubernetes/src/test/java/org/apache/camel/component/kubernetes/deprecated/DeprecatedKubernetesNodesProducerTest.java
deleted file mode 100644
index fc07218..0000000
--- a/components/camel-kubernetes/src/test/java/org/apache/camel/component/kubernetes/deprecated/DeprecatedKubernetesNodesProducerTest.java
+++ /dev/null
@@ -1,41 +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.component.kubernetes.deprecated;
-
-import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.kubernetes.producer.KubernetesNodesProducerTest;
-import org.junit.Ignore;
-
-@Ignore
-@Deprecated
-public class DeprecatedKubernetesNodesProducerTest extends KubernetesNodesProducerTest {
-
-    @Override
-    protected RouteBuilder createRouteBuilder() throws Exception {
-        return new RouteBuilder() {
-            @Override
-            public void configure() throws Exception {
-                from("direct:list")
-                        .toF("kubernetes://%s?oauthToken=%s&category=nodes&operation=listNodes",
-                                host, authToken);
-                from("direct:listByLabels")
-                        .toF("kubernetes://%s?oauthToken=%s&category=nodes&operation=listNodesByLabels",
-                                host, authToken);
-            }
-        };
-    }
-}
diff --git a/components/camel-kubernetes/src/test/java/org/apache/camel/component/kubernetes/deprecated/DeprecatedKubernetesPersistentVolumesClaimsProducerTest.java b/components/camel-kubernetes/src/test/java/org/apache/camel/component/kubernetes/deprecated/DeprecatedKubernetesPersistentVolumesClaimsProducerTest.java
deleted file mode 100644
index f2dcfcd..0000000
--- a/components/camel-kubernetes/src/test/java/org/apache/camel/component/kubernetes/deprecated/DeprecatedKubernetesPersistentVolumesClaimsProducerTest.java
+++ /dev/null
@@ -1,48 +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.component.kubernetes.deprecated;
-
-import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.kubernetes.producer.KubernetesPersistentVolumesClaimsProducerTest;
-import org.junit.Ignore;
-
-@Ignore
-@Deprecated
-public class DeprecatedKubernetesPersistentVolumesClaimsProducerTest extends
-        KubernetesPersistentVolumesClaimsProducerTest {
-
-    @Override
-    protected RouteBuilder createRouteBuilder() throws Exception {
-        return new RouteBuilder() {
-            @Override
-            public void configure() throws Exception {
-                from("direct:list")
-                        .toF("kubernetes://%s?oauthToken=%s&category=persistentVolumesClaims&operation=listPersistentVolumesClaims",
-                                host, authToken);
-                from("direct:listByLabels")
-                        .toF("kubernetes://%s?oauthToken=%s&category=persistentVolumesClaims&operation=listPersistentVolumesClaimsByLabels",
-                                host, authToken);
-                from("direct:create")
-                        .toF("kubernetes://%s?oauthToken=%s&category=persistentVolumesClaims&operation=createPersistentVolumeClaim",
-                                host, authToken);
-                from("direct:delete")
-                        .toF("kubernetes://%s?oauthToken=%s&category=persistentVolumesClaims&operation=deletePersistentVolumeClaim",
-                                host, authToken);
-            }
-        };
-    }
-}
diff --git a/components/camel-kubernetes/src/test/java/org/apache/camel/component/kubernetes/deprecated/DeprecatedKubernetesPersistentVolumesProducerTest.java b/components/camel-kubernetes/src/test/java/org/apache/camel/component/kubernetes/deprecated/DeprecatedKubernetesPersistentVolumesProducerTest.java
deleted file mode 100644
index 8848fbd..0000000
--- a/components/camel-kubernetes/src/test/java/org/apache/camel/component/kubernetes/deprecated/DeprecatedKubernetesPersistentVolumesProducerTest.java
+++ /dev/null
@@ -1,41 +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.component.kubernetes.deprecated;
-
-import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.kubernetes.producer.KubernetesPersistentVolumesProducerTest;
-import org.junit.Ignore;
-
-@Ignore
-@Deprecated
-public class DeprecatedKubernetesPersistentVolumesProducerTest extends KubernetesPersistentVolumesProducerTest {
-
-    @Override
-    protected RouteBuilder createRouteBuilder() throws Exception {
-        return new RouteBuilder() {
-            @Override
-            public void configure() throws Exception {
-                from("direct:list")
-                        .toF("kubernetes://%s?oauthToken=%s&category=persistentVolumes&operation=listPersistentVolumes",
-                                host, authToken);
-                from("direct:listByLabels")
-                        .toF("kubernetes://%s?oauthToken=%s&category=persistentVolumes&operation=listPersistentVolumesByLabels",
-                                host, authToken);
-            }
-        };
-    }
-}
diff --git a/components/camel-kubernetes/src/test/java/org/apache/camel/component/kubernetes/deprecated/DeprecatedKubernetesPodsConsumerTest.java b/components/camel-kubernetes/src/test/java/org/apache/camel/component/kubernetes/deprecated/DeprecatedKubernetesPodsConsumerTest.java
deleted file mode 100644
index e8319e8..0000000
--- a/components/camel-kubernetes/src/test/java/org/apache/camel/component/kubernetes/deprecated/DeprecatedKubernetesPodsConsumerTest.java
+++ /dev/null
@@ -1,46 +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.component.kubernetes.deprecated;
-
-import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.kubernetes.consumer.KubernetesPodsConsumerTest;
-
-@Deprecated
-public class DeprecatedKubernetesPodsConsumerTest extends KubernetesPodsConsumerTest {
-
-    @Override
-    protected RouteBuilder createRouteBuilder() throws Exception {
-        return new RouteBuilder() {
-            @Override
-            public void configure() throws Exception {
-                from("direct:list").toF("kubernetes://%s?oauthToken=%s&category=pods&operation=listPods", host,
-                        authToken);
-                from("direct:listByLabels")
-                        .toF("kubernetes://%s?oauthToken=%s&category=pods&operation=listPodsByLabels", host, authToken);
-                from("direct:getPod").toF("kubernetes://%s?oauthToken=%s&category=pods&operation=getPod", host,
-                        authToken);
-                from("direct:createPod").toF("kubernetes://%s?oauthToken=%s&category=pods&operation=createPod", host,
-                        authToken);
-                from("direct:deletePod").toF("kubernetes://%s?oauthToken=%s&category=pods&operation=deletePod", host,
-                        authToken);
-                fromF("kubernetes://%s?oauthToken=%s&category=pods&namespace=default&labelKey=this&labelValue=rocks", host, authToken)
-                        .process(new KubernertesProcessor()).to(mockResultEndpoint);
-            }
-        };
-    }
-
-}
diff --git a/components/camel-kubernetes/src/test/java/org/apache/camel/component/kubernetes/deprecated/DeprecatedKubernetesPodsProducerTest.java b/components/camel-kubernetes/src/test/java/org/apache/camel/component/kubernetes/deprecated/DeprecatedKubernetesPodsProducerTest.java
deleted file mode 100644
index a4039f0..0000000
--- a/components/camel-kubernetes/src/test/java/org/apache/camel/component/kubernetes/deprecated/DeprecatedKubernetesPodsProducerTest.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
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.component.kubernetes.deprecated;
-
-import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.kubernetes.producer.KubernetesPodsProducerTest;
-import org.junit.Ignore;
-
-@Ignore
-@Deprecated
-public class DeprecatedKubernetesPodsProducerTest extends KubernetesPodsProducerTest {
-
-    @Override
-    protected RouteBuilder createRouteBuilder() throws Exception {
-        return new RouteBuilder() {
-            @Override
-            public void configure() throws Exception {
-                from("direct:list")
-                        .toF("kubernetes://%s?oauthToken=%s&category=pods&operation=listPods",
-                                host, authToken);
-                from("direct:listByLabels")
-                        .toF("kubernetes://%s?oauthToken=%s&category=pods&operation=listPodsByLabels",
-                                host, authToken);
-                from("direct:getPod")
-                        .toF("kubernetes://%s?oauthToken=%s&category=pods&operation=getPod",
-                                host, authToken);
-                from("direct:createPod")
-                        .toF("kubernetes://%s?oauthToken=%s&category=pods&operation=createPod",
-                                host, authToken);
-                from("direct:deletePod")
-                        .toF("kubernetes://%s?oauthToken=%s&category=pods&operation=deletePod",
-                                host, authToken);
-            }
-        };
-    }
-}
diff --git a/components/camel-kubernetes/src/test/java/org/apache/camel/component/kubernetes/deprecated/DeprecatedKubernetesReplicationControllersConsumerTest.java b/components/camel-kubernetes/src/test/java/org/apache/camel/component/kubernetes/deprecated/DeprecatedKubernetesReplicationControllersConsumerTest.java
deleted file mode 100644
index 290bcb4..0000000
--- a/components/camel-kubernetes/src/test/java/org/apache/camel/component/kubernetes/deprecated/DeprecatedKubernetesReplicationControllersConsumerTest.java
+++ /dev/null
@@ -1,51 +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.component.kubernetes.deprecated;
-
-import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.kubernetes.consumer.KubernetesReplicationControllersConsumerTest;
-
-@Deprecated
-public class DeprecatedKubernetesReplicationControllersConsumerTest extends KubernetesReplicationControllersConsumerTest {
-
-    @Override
-    protected RouteBuilder createRouteBuilder() throws Exception {
-        return new RouteBuilder() {
-            @Override
-            public void configure() throws Exception {
-                from("direct:list").toF(
-                        "kubernetes://%s?oauthToken=%s&category=replicationControllers&operation=listReplicationControllers",
-                        host, authToken);
-                from("direct:listByLabels").toF(
-                        "kubernetes://%s?oauthToken=%s&category=replicationControllers&operation=listReplicationControllersByLabels",
-                        host, authToken);
-                from("direct:getReplicationController").toF(
-                        "kubernetes://%s?oauthToken=%s&category=replicationControllers&operation=getReplicationController",
-                        host, authToken);
-                from("direct:createReplicationController").toF(
-                        "kubernetes://%s?oauthToken=%s&category=replicationControllers&operation=createReplicationController",
-                        host, authToken);
-                from("direct:deleteReplicationController").toF(
-                        "kubernetes://%s?oauthToken=%s&category=replicationControllers&operation=deleteReplicationController",
-                        host, authToken);
-                fromF("kubernetes://%s?oauthToken=%s&category=replicationControllers&resourceName=wildfly", host, authToken)
-                        .process(new KubernertesProcessor()).to(mockResultEndpoint);
-            }
-        };
-    }
-
-}
diff --git a/components/camel-kubernetes/src/test/java/org/apache/camel/component/kubernetes/deprecated/DeprecatedKubernetesReplicationControllersProducerTest.java b/components/camel-kubernetes/src/test/java/org/apache/camel/component/kubernetes/deprecated/DeprecatedKubernetesReplicationControllersProducerTest.java
deleted file mode 100644
index 0e6fd3b..0000000
--- a/components/camel-kubernetes/src/test/java/org/apache/camel/component/kubernetes/deprecated/DeprecatedKubernetesReplicationControllersProducerTest.java
+++ /dev/null
@@ -1,54 +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.component.kubernetes.deprecated;
-
-import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.kubernetes.producer.KubernetesReplicationControllersProducerTest;
-import org.junit.Ignore;
-
-@Ignore
-@Deprecated
-public class DeprecatedKubernetesReplicationControllersProducerTest extends
-        KubernetesReplicationControllersProducerTest {
-
-    @Override
-    protected RouteBuilder createRouteBuilder() throws Exception {
-        return new RouteBuilder() {
-            @Override
-            public void configure() throws Exception {
-                from("direct:list")
-                        .toF("kubernetes://%s?oauthToken=%s&category=replicationControllers&operation=listReplicationControllers",
-                                host, authToken);
-                from("direct:listByLabels")
-                        .toF("kubernetes://%s?oauthToken=%s&category=replicationControllers&operation=listReplicationControllersByLabels",
-                                host, authToken);
-                from("direct:getReplicationController")
-                        .toF("kubernetes://%s?oauthToken=%s&category=replicationControllers&operation=getReplicationController",
-                                host, authToken);
-                from("direct:createReplicationController")
-                        .toF("kubernetes://%s?oauthToken=%s&category=replicationControllers&operation=createReplicationController",
-                                host, authToken);
-                from("direct:scaleReplicationController")
-                        .toF("kubernetes://%s?oauthToken=%s&category=replicationControllers&operation=scaleReplicationController",
-                                host, authToken);
-                from("direct:deleteReplicationController")
-                        .toF("kubernetes://%s?oauthToken=%s&category=replicationControllers&operation=deleteReplicationController",
-                                host, authToken);
-            }
-        };
-    }
-}
diff --git a/components/camel-kubernetes/src/test/java/org/apache/camel/component/kubernetes/deprecated/DeprecatedKubernetesResourcesQuotaProducerTest.java b/components/camel-kubernetes/src/test/java/org/apache/camel/component/kubernetes/deprecated/DeprecatedKubernetesResourcesQuotaProducerTest.java
deleted file mode 100644
index 1eb08b0..0000000
--- a/components/camel-kubernetes/src/test/java/org/apache/camel/component/kubernetes/deprecated/DeprecatedKubernetesResourcesQuotaProducerTest.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
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.component.kubernetes.deprecated;
-
-import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.kubernetes.producer.KubernetesResourcesQuotaProducerTest;
-import org.junit.Ignore;
-
-@Ignore
-@Deprecated
-public class DeprecatedKubernetesResourcesQuotaProducerTest extends KubernetesResourcesQuotaProducerTest {
-
-    @Override
-    protected RouteBuilder createRouteBuilder() throws Exception {
-        return new RouteBuilder() {
-            @Override
-            public void configure() throws Exception {
-                from("direct:list")
-                        .toF("kubernetes://%s?oauthToken=%s&category=resourcesQuota&operation=listResourcesQuota",
-                                host, authToken);
-                from("direct:listByLabels")
-                        .toF("kubernetes://%s?oauthToken=%s&category=resourcesQuota&operation=listResourcesQuotaByLabels",
-                                host, authToken);
-                from("direct:get")
-                        .toF("kubernetes://%s?oauthToken=%s&category=resourcesQuota&operation=getResourceQuota",
-                                host, authToken);
-                from("direct:create")
-                        .toF("kubernetes://%s?oauthToken=%s&category=resourcesQuota&operation=createResourceQuota",
-                                host, authToken);
-                from("direct:delete")
-                        .toF("kubernetes://%s?oauthToken=%s&category=resourcesQuota&operation=deleteResourceQuota",
-                                host, authToken);
-            }
-        };
-    }
-}
diff --git a/components/camel-kubernetes/src/test/java/org/apache/camel/component/kubernetes/deprecated/DeprecatedKubernetesSecretsProducerTest.java b/components/camel-kubernetes/src/test/java/org/apache/camel/component/kubernetes/deprecated/DeprecatedKubernetesSecretsProducerTest.java
deleted file mode 100644
index dc2df3c..0000000
--- a/components/camel-kubernetes/src/test/java/org/apache/camel/component/kubernetes/deprecated/DeprecatedKubernetesSecretsProducerTest.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
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.component.kubernetes.deprecated;
-
-import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.kubernetes.producer.KubernetesSecretsProducerTest;
-import org.junit.Ignore;
-
-@Ignore
-@Deprecated
-public class DeprecatedKubernetesSecretsProducerTest extends KubernetesSecretsProducerTest {
-
-    @Override
-    protected RouteBuilder createRouteBuilder() throws Exception {
-        return new RouteBuilder() {
-            @Override
-            public void configure() throws Exception {
-                from("direct:list")
-                        .toF("kubernetes://%s?oauthToken=%s&category=secrets&operation=listSecrets",
-                                host, authToken);
-                from("direct:listByLabels")
-                        .toF("kubernetes://%s?oauthToken=%s&category=secrets&operation=listSecretsByLabels",
-                                host, authToken);
-                from("direct:get")
-                        .toF("kubernetes://%s?oauthToken=%s&category=secrets&operation=getSecret",
-                                host, authToken);
-                from("direct:create")
-                        .toF("kubernetes://%s?oauthToken=%s&category=secrets&operation=createSecret",
-                                host, authToken);
-                from("direct:delete")
-                        .toF("kubernetes://%s?oauthToken=%s&category=secrets&operation=deleteSecret",
-                                host, authToken);
-            }
-        };
-    }
-}
diff --git a/components/camel-kubernetes/src/test/java/org/apache/camel/component/kubernetes/deprecated/DeprecatedKubernetesServiceAccountsProducerTest.java b/components/camel-kubernetes/src/test/java/org/apache/camel/component/kubernetes/deprecated/DeprecatedKubernetesServiceAccountsProducerTest.java
deleted file mode 100644
index 9b6d6a2..0000000
--- a/components/camel-kubernetes/src/test/java/org/apache/camel/component/kubernetes/deprecated/DeprecatedKubernetesServiceAccountsProducerTest.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
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.component.kubernetes.deprecated;
-
-import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.kubernetes.producer.KubernetesServiceAccountsProducerTest;
-import org.junit.Ignore;
-
-@Ignore
-@Deprecated
-public class DeprecatedKubernetesServiceAccountsProducerTest extends KubernetesServiceAccountsProducerTest {
-
-    @Override
-    protected RouteBuilder createRouteBuilder() throws Exception {
-        return new RouteBuilder() {
-            @Override
-            public void configure() throws Exception {
-                from("direct:list")
-                        .toF("kubernetes://%s?oauthToken=%s&category=serviceAccounts&operation=listServiceAccounts",
-                                host, authToken);
-                from("direct:listByLabels")
-                        .toF("kubernetes://%s?oauthToken=%s&category=serviceAccounts&operation=listServiceAccountsByLabels",
-                                host, authToken);
-                from("direct:getServices")
-                        .toF("kubernetes://%s?oauthToken=%s&category=serviceAccounts&operation=getServiceAccount",
-                                host, authToken);
-                from("direct:create")
-                        .toF("kubernetes://%s?oauthToken=%s&category=serviceAccounts&operation=createServiceAccount",
-                                host, authToken);
-                from("direct:delete")
-                        .toF("kubernetes://%s?oauthToken=%s&category=serviceAccounts&operation=deleteServiceAccount",
-                                host, authToken);
-            }
-        };
-    }
-}
diff --git a/components/camel-kubernetes/src/test/java/org/apache/camel/component/kubernetes/deprecated/DeprecatedKubernetesServicesConsumerTest.java b/components/camel-kubernetes/src/test/java/org/apache/camel/component/kubernetes/deprecated/DeprecatedKubernetesServicesConsumerTest.java
deleted file mode 100644
index d5967d9..0000000
--- a/components/camel-kubernetes/src/test/java/org/apache/camel/component/kubernetes/deprecated/DeprecatedKubernetesServicesConsumerTest.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
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.component.kubernetes.deprecated;
-
-import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.kubernetes.consumer.KubernetesServicesConsumerTest;
-
-@Deprecated
-public class DeprecatedKubernetesServicesConsumerTest extends KubernetesServicesConsumerTest {
-
-    @Override
-    protected RouteBuilder createRouteBuilder() throws Exception {
-        return new RouteBuilder() {
-            @Override
-            public void configure() throws Exception {
-                from("direct:list").toF("kubernetes://%s?oauthToken=%s&category=services&operation=listServices", host,
-                        authToken);
-                from("direct:listByLabels").toF(
-                        "kubernetes://%s?oauthToken=%s&category=services&operation=listServicesByLabels", host,
-                        authToken);
-                from("direct:getServices").toF("kubernetes://%s?oauthToken=%s&category=services&operation=getService",
-                        host, authToken);
-                from("direct:createService").toF(
-                        "kubernetes://%s?oauthToken=%s&category=services&operation=createService", host, authToken);
-                from("direct:deleteService").toF(
-                        "kubernetes://%s?oauthToken=%s&category=services&operation=deleteService", host, authToken);
-                fromF("kubernetes://%s?oauthToken=%s&category=services&labelKey=this&labelValue=rocks", host, authToken)
-                        .process(new KubernertesProcessor()).to(mockResultEndpoint);
-            }
-        };
-    }
-
-}
diff --git a/components/camel-kubernetes/src/test/java/org/apache/camel/component/kubernetes/deprecated/DeprecatedKubernetesServicesProducerTest.java b/components/camel-kubernetes/src/test/java/org/apache/camel/component/kubernetes/deprecated/DeprecatedKubernetesServicesProducerTest.java
deleted file mode 100644
index a28fb4e..0000000
--- a/components/camel-kubernetes/src/test/java/org/apache/camel/component/kubernetes/deprecated/DeprecatedKubernetesServicesProducerTest.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
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.component.kubernetes.deprecated;
-
-import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.kubernetes.producer.KubernetesServicesProducerTest;
-import org.junit.Ignore;
-
-@Ignore
-@Deprecated
-public class DeprecatedKubernetesServicesProducerTest extends KubernetesServicesProducerTest {
-
-    @Override
-    protected RouteBuilder createRouteBuilder() throws Exception {
-        return new RouteBuilder() {
-            @Override
-            public void configure() throws Exception {
-                from("direct:list")
-                        .toF("kubernetes://%s?oauthToken=%s&category=services&operation=listServices",
-                                host, authToken);
-                from("direct:listByLabels")
-                        .toF("kubernetes://%s?oauthToken=%s&category=services&operation=listServicesByLabels",
-                                host, authToken);
-                from("direct:getServices")
-                        .toF("kubernetes://%s?oauthToken=%s&category=services&operation=getService",
-                                host, authToken);
-                from("direct:createService")
-                        .toF("kubernetes://%s?oauthToken=%s&category=services&operation=createService",
-                                host, authToken);
-                from("direct:deleteService")
-                        .toF("kubernetes://%s?oauthToken=%s&category=services&operation=deleteService",
-                                host, authToken);
-            }
-        };
-    }
-}
diff --git a/components/camel-linkedin/camel-linkedin-api/src/main/java/org/apache/camel/component/linkedin/api/OAuthScope.java b/components/camel-linkedin/camel-linkedin-api/src/main/java/org/apache/camel/component/linkedin/api/OAuthScope.java
index f372ad7..38bcc1a 100644
--- a/components/camel-linkedin/camel-linkedin-api/src/main/java/org/apache/camel/component/linkedin/api/OAuthScope.java
+++ b/components/camel-linkedin/camel-linkedin-api/src/main/java/org/apache/camel/component/linkedin/api/OAuthScope.java
@@ -26,8 +26,6 @@ public enum OAuthScope {
     R_EMAILADDRESS("r_emailaddress"),
     R_NETWORK("r_network"),
     R_CONTACTINFO("r_contactinfo"),
-    @Deprecated // use W_SHARE instead
-    RW_NUS("rw_nus"),
     RW_COMPANY_ADMIN("rw_company_admin"),
     RW_GROUPS("rw_groups"),
     W_MESSAGES("w_messages"),
diff --git a/components/camel-mllp/src/main/docs/mllp-component.adoc b/components/camel-mllp/src/main/docs/mllp-component.adoc
index 52ed8d9..7cb36a8 100644
--- a/components/camel-mllp/src/main/docs/mllp-component.adoc
+++ b/components/camel-mllp/src/main/docs/mllp-component.adoc
@@ -83,14 +83,13 @@ with the following path and query parameters:
 |===
 
 
-==== Query Parameters (27 parameters):
+==== Query Parameters (25 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
 |===
 | Name | Description | Default | Type
 | *autoAck* (common) | Enable/Disable the automatic generation of a MLLP Acknowledgement MLLP Consumers only | true | boolean
-| *bufferWrites* (common) | *Deprecated* Enable/Disable the buffering of HL7 payloads before writing to the socket. | false | boolean
 | *hl7Headers* (common) | Enable/Disable the automatic generation of message headers from the HL7 Message MLLP Consumers only | true | boolean
 | *requireEndOfData* (common) | Enable/Disable strict compliance to the MLLP standard. The MLLP standard specifies START_OF_BLOCKhl7 payloadEND_OF_BLOCKEND_OF_DATA, however, some systems do not send the final END_OF_DATA byte. This setting controls whether or not the final END_OF_DATA byte is required or optional. | true | boolean
 | *stringPayload* (common) | Enable/Disable converting the payload to a String. If enabled, HL7 Payloads received from external systems will be validated converted to a String. If the charsetName property is set, that character set will be used for the conversion. If the charsetName property is not set, the value of MSH-18 will be used to determine th appropriate character set. If MSH-18 is not set, then the default ISO-8859-1 character set will be use. | true | boolean
@@ -106,13 +105,12 @@ with the following path and query parameters:
 | *acceptTimeout* (timeout) | Timeout (in milliseconds) while waiting for a TCP connection TCP Server Only | 60000 | int
 | *bindRetryInterval* (timeout) | TCP Server Only - The number of milliseconds to wait between bind attempts | 5000 | int
 | *bindTimeout* (timeout) | TCP Server Only - The number of milliseconds to retry binding to a server port | 30000 | int
-| *connectTimeout* (timeout) | Timeout (in milliseconds) for establishing for a TCP connection TCP Client only | 30000 | int
-| *idleTimeout* (timeout) | The approximate idle time allowed before the Client TCP Connection will be reset. A null value or a value less than or equal to zero will disable the idle timeout. |  | Integer
-| *maxReceiveTimeouts* (timeout) | *Deprecated* The maximum number of timeouts (specified by receiveTimeout) allowed before the TCP Connection will be reset. |  | Integer
 | *keepAlive* (tcp) | Enable/disable the SO_KEEPALIVE socket option. | true | Boolean
+| *tcpNoDelay* (tcp) | Enable/disable the TCP_NODELAY socket option. | true | Boolean
+| *connectTimeout* (timeout) | Timeout (in milliseconds) for establishing for a TCP connection TCP Client only | 30000 | int
 | *receiveBufferSize* (tcp) | Sets the SO_RCVBUF option to the specified value (in bytes) | 8192 | Integer
 | *sendBufferSize* (tcp) | Sets the SO_SNDBUF option to the specified value (in bytes) | 8192 | Integer
-| *tcpNoDelay* (tcp) | Enable/disable the TCP_NODELAY socket option. | true | Boolean
+| *idleTimeout* (timeout) | The approximate idle time allowed before the Client TCP Connection will be reset. A null value or a value less than or equal to zero will disable the idle timeout. |  | Integer
 | *readTimeout* (timeout) | The SO_TIMEOUT value (in milliseconds) used after the start of an MLLP frame has been received | 5000 | int
 | *receiveTimeout* (timeout) | The SO_TIMEOUT value (in milliseconds) used when waiting for the start of an MLLP frame | 15000 | int
 | *charsetName* (codec) | Set the CamelCharsetName property on the exchange |  | String
@@ -122,7 +120,7 @@ with the following path and query parameters:
 === Spring Boot Auto-Configuration
 
 
-The component supports 31 options, which are listed below.
+The component supports 29 options, which are listed below.
 
 
 
@@ -135,7 +133,6 @@ The component supports 31 options, which are listed below.
 | *camel.component.mllp.configuration.bind-retry-interval* | TCP Server Only - The number of milliseconds to wait between bind attempts | 5000 | Integer
 | *camel.component.mllp.configuration.bind-timeout* | TCP Server Only - The number of milliseconds to retry binding to a server port | 30000 | Integer
 | *camel.component.mllp.configuration.bridge-error-handler* | Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to receive incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. If disabled, the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions by logging them at WARN or ERROR level and ignored. | true | Boolean
-| *camel.component.mllp.configuration.buffer-writes* | Enable/Disable the buffering of HL7 payloads before writing to the socket. | false | Boolean
 | *camel.component.mllp.configuration.charset-name* | Set the CamelCharsetName property on the exchange |  | String
 | *camel.component.mllp.configuration.connect-timeout* | Timeout (in milliseconds) for establishing for a TCP connection TCP Client only | 30000 | Integer
 | *camel.component.mllp.configuration.exchange-pattern* | Sets the exchange pattern when the consumer creates an exchange. |  | ExchangePattern
@@ -144,7 +141,6 @@ The component supports 31 options, which are listed below.
 | *camel.component.mllp.configuration.keep-alive* | Enable/disable the SO_KEEPALIVE socket option. | true | Boolean
 | *camel.component.mllp.configuration.lenient-bind* | TCP Server Only - Allow the endpoint to start before the TCP ServerSocket is bound. In some environments, it may be desirable to allow the endpoint to start before the TCP ServerSocket is bound. | false | Boolean
 | *camel.component.mllp.configuration.max-concurrent-consumers* | The maximum number of concurrent MLLP Consumer connections that will be allowed. If a new connection is received and the maximum is number are already established, the new connection will be reset immediately. | 5 | Integer
-| *camel.component.mllp.configuration.max-receive-timeouts* | The maximum number of timeouts (specified by receiveTimeout) allowed before the TCP Connection will be reset. |  | Integer
 | *camel.component.mllp.configuration.read-timeout* | The SO_TIMEOUT value (in milliseconds) used after the start of an MLLP frame has been received | 5000 | Integer
 | *camel.component.mllp.configuration.receive-buffer-size* | Sets the SO_RCVBUF option to the specified value (in bytes) | 8192 | Integer
 | *camel.component.mllp.configuration.receive-timeout* | The SO_TIMEOUT value (in milliseconds) used when waiting for the start of an MLLP frame | 15000 | Integer
diff --git a/components/camel-mllp/src/main/java/org/apache/camel/component/mllp/MllpConfiguration.java b/components/camel-mllp/src/main/java/org/apache/camel/component/mllp/MllpConfiguration.java
index 94a9d5b..3001898 100644
--- a/components/camel-mllp/src/main/java/org/apache/camel/component/mllp/MllpConfiguration.java
+++ b/components/camel-mllp/src/main/java/org/apache/camel/component/mllp/MllpConfiguration.java
@@ -71,10 +71,6 @@ public class MllpConfiguration implements Cloneable {
     @UriParam(label = "advanced,consumer,tcp", defaultValue = "5")
     int maxConcurrentConsumers = 5;
 
-    @Deprecated // use idleTimeout
-    @UriParam(label = "advanced,consumer,tcp,timeout", defaultValue = "null")
-    Integer maxReceiveTimeouts;
-
     @UriParam(label = "advanced,tcp,timeout", defaultValue = "null")
     Integer idleTimeout;
 
@@ -102,10 +98,6 @@ public class MllpConfiguration implements Cloneable {
     @UriParam(defaultValue = "true")
     boolean hl7Headers = true;
 
-    @UriParam(defaultValue = "false")
-    @Deprecated
-    boolean bufferWrites;
-
     @UriParam(defaultValue = "true")
     boolean requireEndOfData = true;
 
@@ -150,7 +142,6 @@ public class MllpConfiguration implements Cloneable {
             target.sendBufferSize = source.sendBufferSize;
             target.autoAck = source.autoAck;
             target.hl7Headers = source.hl7Headers;
-            target.bufferWrites = source.bufferWrites;
             target.requireEndOfData = source.requireEndOfData;
             target.stringPayload = source.stringPayload;
             target.validatePayload = source.validatePayload;
@@ -428,43 +419,6 @@ public class MllpConfiguration implements Cloneable {
         this.maxConcurrentConsumers = maxConcurrentConsumers;
     }
 
-    /**
-     * Determine if the maxReceiveTimeouts URI parameter has been set
-     *
-     * @return true if the parameter has been set; false otherwise
-     *
-     * @deprecated Use the idleTimeout URI parameter
-     */
-    @Deprecated
-    public boolean hasMaxReceiveTimeouts() {
-        return maxReceiveTimeouts != null;
-    }
-
-    /**
-     * Retrieve the value of the maxReceiveTimeouts URI parameter.
-     *
-     * @return the maximum number of receive timeouts before the TCP Socket is reset
-     *
-     * @deprecated Use the idleTimeout URI parameter
-     */
-    @Deprecated
-    public Integer getMaxReceiveTimeouts() {
-        return maxReceiveTimeouts;
-    }
-
-    /**
-     * The maximum number of timeouts (specified by receiveTimeout) allowed before the TCP Connection will be reset.
-     *
-     * @param maxReceiveTimeouts maximum number of receiveTimeouts
-     *
-     * @deprecated Use the idleTimeout URI parameter.  For backward compibility, setting this parameter will result in an
-     * idle timeout of maxReceiveTimeouts * receiveTimeout.  If idleTimeout is also specified, this parameter will be ignored.
-     */
-    @Deprecated
-    public void setMaxReceiveTimeouts(Integer maxReceiveTimeouts) {
-        this.maxReceiveTimeouts = maxReceiveTimeouts;
-    }
-
     public boolean hasIdleTimeout() {
         return idleTimeout != null && idleTimeout > 0;
     }
@@ -668,22 +622,6 @@ public class MllpConfiguration implements Cloneable {
         this.validatePayload = validatePayload;
     }
 
-    public boolean isBufferWrites() {
-        return bufferWrites;
-    }
-
-    /**
-     * Enable/Disable the buffering of HL7 payloads before writing to the socket.
-     *
-     * @deprecated the parameter will be ignored
-     *
-     * @param bufferWrites enabled if true, otherwise disabled
-     */
-    @Deprecated
-    public void setBufferWrites(boolean bufferWrites) {
-        this.bufferWrites = bufferWrites;
-    }
-
     @Override
     public int hashCode() {
         return Objects.hash(bridgeErrorHandler,
@@ -696,7 +634,6 @@ public class MllpConfiguration implements Cloneable {
             connectTimeout,
             receiveTimeout,
             maxConcurrentConsumers,
-            maxReceiveTimeouts,
             idleTimeout,
             readTimeout,
             keepAlive,
@@ -706,7 +643,6 @@ public class MllpConfiguration implements Cloneable {
             sendBufferSize,
             autoAck,
             hl7Headers,
-            bufferWrites,
             requireEndOfData,
             stringPayload,
             validatePayload,
@@ -736,13 +672,11 @@ public class MllpConfiguration implements Cloneable {
             && readTimeout == rhs.readTimeout
             && autoAck == rhs.autoAck
             && hl7Headers == rhs.hl7Headers
-            && bufferWrites == rhs.bufferWrites
             && requireEndOfData == rhs.requireEndOfData
             && stringPayload == rhs.stringPayload
             && validatePayload == rhs.validatePayload
             && Objects.equals(backlog, rhs.backlog)
             && Objects.equals(maxConcurrentConsumers, rhs.maxConcurrentConsumers)
-            && Objects.equals(maxReceiveTimeouts, rhs.maxReceiveTimeouts)
             && Objects.equals(idleTimeout, rhs.idleTimeout)
             && Objects.equals(keepAlive, rhs.keepAlive)
             && Objects.equals(tcpNoDelay, rhs.tcpNoDelay)
@@ -765,7 +699,6 @@ public class MllpConfiguration implements Cloneable {
             + ", connectTimeout=" + connectTimeout
             + ", receiveTimeout=" + receiveTimeout
             + ", maxConcurrentConsumers=" + maxConcurrentConsumers
-            + ", maxReceiveTimeouts=" + maxReceiveTimeouts
             + ", idleTimeout=" + idleTimeout
             + ", readTimeout=" + readTimeout
             + ", keepAlive=" + keepAlive
@@ -775,7 +708,6 @@ public class MllpConfiguration implements Cloneable {
             + ", sendBufferSize=" + sendBufferSize
             + ", autoAck=" + autoAck
             + ", hl7Headers=" + hl7Headers
-            + ", bufferWrites=" + bufferWrites
             + ", requireEndOfData=" + requireEndOfData
             + ", stringPayload=" + stringPayload
             + ", validatePayload=" + validatePayload
diff --git a/components/camel-mllp/src/main/java/org/apache/camel/component/mllp/MllpEndpoint.java b/components/camel-mllp/src/main/java/org/apache/camel/component/mllp/MllpEndpoint.java
index be1d62a..05876e9 100644
--- a/components/camel-mllp/src/main/java/org/apache/camel/component/mllp/MllpEndpoint.java
+++ b/components/camel-mllp/src/main/java/org/apache/camel/component/mllp/MllpEndpoint.java
@@ -49,22 +49,6 @@ import org.slf4j.LoggerFactory;
 @ManagedResource(description = "MLLP Endpoint")
 @UriEndpoint(scheme = "mllp", firstVersion = "2.17.0", title = "MLLP", syntax = "mllp:hostname:port", consumerClass = MllpTcpServerConsumer.class, label = "mllp")
 public class MllpEndpoint extends DefaultEndpoint {
-    // Use constants from MllpProtocolConstants
-    @Deprecated()
-    public static final char START_OF_BLOCK = MllpProtocolConstants.START_OF_BLOCK;
-    @Deprecated()
-    public static final char END_OF_BLOCK = MllpProtocolConstants.END_OF_BLOCK;
-    @Deprecated()
-    public static final char END_OF_DATA = MllpProtocolConstants.END_OF_DATA;
-    @Deprecated()
-    public static final int END_OF_STREAM = MllpProtocolConstants.END_OF_STREAM;
-    @Deprecated()
-    public static final char SEGMENT_DELIMITER = MllpProtocolConstants.SEGMENT_DELIMITER;
-    @Deprecated()
-    public static final char MESSAGE_TERMINATOR = MllpProtocolConstants.MESSAGE_TERMINATOR;
-
-    @Deprecated // Use MllpComponent.getDefaultCharset()
-    public static final Charset DEFAULT_CHARSET = MllpComponent.getDefaultCharset();
 
     private static final Logger LOG = LoggerFactory.getLogger(MllpEndpoint.class);
 
@@ -295,16 +279,6 @@ public class MllpEndpoint extends DefaultEndpoint {
         configuration.setHl7Headers(hl7Headers);
     }
 
-    /**
-     * @deprecated this parameter will be ignored.
-     *
-     * @param bufferWrites
-     */
-    @Deprecated
-    public void setBufferWrites(Boolean bufferWrites) {
-        configuration.setBufferWrites(bufferWrites);
-    }
-
     public void setRequireEndOfData(Boolean requireEndOfData) {
         configuration.setRequireEndOfData(requireEndOfData);
     }
diff --git a/components/camel-mllp/src/main/java/org/apache/camel/component/mllp/MllpTcpServerConsumer.java b/components/camel-mllp/src/main/java/org/apache/camel/component/mllp/MllpTcpServerConsumer.java
index 5670b6f..5b12af5 100644
--- a/components/camel-mllp/src/main/java/org/apache/camel/component/mllp/MllpTcpServerConsumer.java
+++ b/components/camel-mllp/src/main/java/org/apache/camel/component/mllp/MllpTcpServerConsumer.java
@@ -526,7 +526,6 @@ public class MllpTcpServerConsumer extends DefaultConsumer {
 
         // TODO:  re-evaluate this - it seems that the MLLP buffer should be populated by now
         if (consumerRunnable.getMllpBuffer().hasCompleteEnvelope()) {
-            // The mllpBuffer will be used if bufferWrites is set or if auto acknowledgement is used
             message.setHeader(MllpConstants.MLLP_ACKNOWLEDGEMENT, consumerRunnable.getMllpBuffer().toMllpPayload());
             message.setHeader(MllpConstants.MLLP_ACKNOWLEDGEMENT_STRING, consumerRunnable.getMllpBuffer().toHl7String(charset));
 
diff --git a/components/camel-mqtt/src/main/docs/mqtt-component.adoc b/components/camel-mqtt/src/main/docs/mqtt-component.adoc
index 5f02c63..f6e1ad0 100644
--- a/components/camel-mqtt/src/main/docs/mqtt-component.adoc
+++ b/components/camel-mqtt/src/main/docs/mqtt-component.adoc
@@ -74,7 +74,7 @@ with the following path and query parameters:
 |===
 
 
-==== Query Parameters (39 parameters):
+==== Query Parameters (37 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -95,7 +95,6 @@ with the following path and query parameters:
 | *maxWriteRate* (common) | Sets the maximum bytes per second that this transport will send data at. This setting throttles writes so that the rate is not exceeded. Defaults to 0 which disables throttling. |  | int
 | *mqttQosPropertyName* (common) | The property name to look for on an Exchange for an individual published message. If this is set (one of AtMostOnce, AtLeastOnce or ExactlyOnce ) - then that QoS will be set on the message sent to the MQTT message broker. | MQTTQos | String
 | *mqttRetainPropertyName* (common) | The property name to look for on an Exchange for an individual published message. If this is set (expects a Boolean value) - then the retain property will be set on the message sent to the MQTT message broker. | MQTTRetain | String
-| *mqttTopicPropertyName* (common) | These a properties that are looked for in an Exchange - to publish to | MQTTTopicPropertyName | String
 | *publishTopicName* (common) | The default Topic to publish messages on | camel/mqtt/test | String
 | *qualityOfService* (common) | Quality of service level to use for topics. | AtLeastOnce | String
 | *receiveBufferSize* (common) | Sets the size of the internal socket receive buffer. Defaults to 65536 (64k) | 65536 | int
@@ -106,7 +105,6 @@ with the following path and query parameters:
 | *sendBufferSize* (common) | Sets the size of the internal socket send buffer. Defaults to 65536 (64k) | 65536 | int
 | *sendWaitInSeconds* (common) | The maximum time the Component will wait for a receipt from the MQTT broker to acknowledge a published message before throwing an exception | 5 | int
 | *sslContext* (common) | To configure security using SSLContext configuration |  | SSLContext
-| *subscribeTopicName* (common) | *Deprecated* These are set on the Endpoint - together with properties inherited from MQTT |  | String
 | *subscribeTopicNames* (common) | A comma-delimited list of Topics to subscribe to for messages. Note that each item of this list can contain MQTT wildcards ( and/or #), in order to subscribe to topics matching a certain pattern within a hierarchy. For example, is a wildcard for all topics at a level within the hierarchy, so if a broker has topics topics/one and topics/two, then topics/ can be used to subscribe to both. A caveat to consider here is that if the broker adds topics/three,  [...]
 | *trafficClass* (common) | Sets traffic class or type-of-service octet in the IP header for packets sent from the transport. Defaults to 8 which means the traffic should be optimized for throughput. | 8 | int
 | *version* (common) | Set to 3.1.1 to use MQTT version 3.1.1. Otherwise defaults to the 3.1 protocol version. | 3.1 | String
diff --git a/components/camel-mqtt/src/main/java/org/apache/camel/component/mqtt/MQTTConfiguration.java b/components/camel-mqtt/src/main/java/org/apache/camel/component/mqtt/MQTTConfiguration.java
index b83b4dd..2b39e34 100644
--- a/components/camel-mqtt/src/main/java/org/apache/camel/component/mqtt/MQTTConfiguration.java
+++ b/components/camel-mqtt/src/main/java/org/apache/camel/component/mqtt/MQTTConfiguration.java
@@ -84,22 +84,11 @@ public class MQTTConfiguration extends MQTT {
     @UriParam(label = "producer,advanced", defaultValue = "true")
     private boolean lazySessionCreation = true;
 
-    /**
-     * These a properties that are looked for in an Exchange - to publish to
-     */
-    @UriParam(defaultValue = "MQTTTopicPropertyName")
-    private String mqttTopicPropertyName = "MQTTTopicPropertyName";
     @UriParam(defaultValue = "MQTTRetain")
     private String mqttRetainPropertyName = "MQTTRetain";
     @UriParam(defaultValue = "MQTTQos")
     private String mqttQosPropertyName = "MQTTQos";
 
-    /**
-     * These are set on the Endpoint - together with properties inherited from MQTT
-     */
-    @UriParam
-    @Deprecated
-    private String subscribeTopicName = "";
     @UriParam
     private String subscribeTopicNames = "";
     @UriParam(defaultValue = "camel/mqtt/test")
@@ -132,19 +121,6 @@ public class MQTTConfiguration extends MQTT {
         return qos;
     }
 
-    @Deprecated
-    public String getSubscribeTopicName() {
-        return subscribeTopicName;
-    }
-
-    /**
-     * The name of the Topic to subscribe to for messages.
-     */
-    @Deprecated
-    public void setSubscribeTopicName(String subscribeTopicName) {
-        this.subscribeTopicName = subscribeTopicName;
-    }
-
     public String getSubscribeTopicNames() {
         return subscribeTopicNames;
     }
@@ -172,22 +148,6 @@ public class MQTTConfiguration extends MQTT {
         this.publishTopicName = publishTopicName;
     }
 
-    /**
-     * Please use MQTT_SUBSCRIBE_TOPIC and MQTT_PUBLISH_TOPIC to set or get the topic name
-     */
-    @Deprecated
-    public String getMqttTopicPropertyName() {
-        return mqttTopicPropertyName;
-    }
-
-    /**
-     * Please use MQTT_SUBSCRIBE_TOPIC and MQTT_PUBLISH_TOPIC to set or get the topic name
-     */
-    @Deprecated
-    public void setMqttTopicPropertyName(String mqttTopicPropertyName) {
-        this.mqttTopicPropertyName = mqttTopicPropertyName;
-    }
-
     public String getMqttRetainPropertyName() {
         return mqttRetainPropertyName;
     }
diff --git a/components/camel-mqtt/src/main/java/org/apache/camel/component/mqtt/MQTTEndpoint.java b/components/camel-mqtt/src/main/java/org/apache/camel/component/mqtt/MQTTEndpoint.java
index 5b70097..0ae2382 100644
--- a/components/camel-mqtt/src/main/java/org/apache/camel/component/mqtt/MQTTEndpoint.java
+++ b/components/camel-mqtt/src/main/java/org/apache/camel/component/mqtt/MQTTEndpoint.java
@@ -357,13 +357,6 @@ public class MQTTEndpoint extends DefaultEndpoint implements AsyncEndpoint {
                 topics[i] = new Topic(topicNames[i].trim(), configuration.getQoS());
             }
             return topics;
-        } else { // fall back on singular topic name
-            String subscribeTopicName = configuration.getSubscribeTopicName();
-            subscribeTopicName = subscribeTopicName != null ? subscribeTopicName.trim() : null;
-            if (subscribeTopicName != null && !subscribeTopicName.isEmpty()) {
-                Topic[] topics = {new Topic(subscribeTopicName, configuration.getQoS())};
-                return topics;
-            }
         }
         LOG.warn("No topic subscriptions were specified in configuration");
         return null;
diff --git a/components/camel-mqtt/src/test/java/org/apache/camel/component/mqtt/MQTTConfigurationTest.java b/components/camel-mqtt/src/test/java/org/apache/camel/component/mqtt/MQTTConfigurationTest.java
index 24e0ad4..ba26fca 100644
--- a/components/camel-mqtt/src/test/java/org/apache/camel/component/mqtt/MQTTConfigurationTest.java
+++ b/components/camel-mqtt/src/test/java/org/apache/camel/component/mqtt/MQTTConfigurationTest.java
@@ -31,7 +31,7 @@ public class MQTTConfigurationTest extends MQTTBaseTest {
 
         assertEquals(mqttEndpoint.getConfiguration().getQoS(), QoS.EXACTLY_ONCE);
         assertEquals(mqttEndpoint.getConfiguration().getPublishTopicName(), TEST_TOPIC);
-        assertEquals(mqttEndpoint.getConfiguration().getSubscribeTopicName(), TEST_TOPIC);
+        assertEquals(mqttEndpoint.getConfiguration().getSubscribeTopicNames(), TEST_TOPIC);
         assertTrue(mqttEndpoint.getConfiguration().isByDefaultRetain());
     }
 
diff --git a/components/camel-nagios/src/main/docs/nagios-component.adoc b/components/camel-nagios/src/main/docs/nagios-component.adoc
index 04173ec..1b474f1 100644
--- a/components/camel-nagios/src/main/docs/nagios-component.adoc
+++ b/components/camel-nagios/src/main/docs/nagios-component.adoc
@@ -77,7 +77,7 @@ with the following path and query parameters:
 |===
 
 
-==== Query Parameters (7 parameters):
+==== Query Parameters (6 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -88,7 +88,6 @@ with the following path and query parameters:
 | *timeout* (producer) | Sending timeout in millis. | 5000 | int
 | *synchronous* (advanced) | Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported). | false | boolean
 | *encryption* (security) | To specify an encryption method. |  | Encryption
-| *encryptionMethod* (security) | *Deprecated* To specify an encryption method. |  | NagiosEncryptionMethod
 | *password* (security) | Password to be authenticated when sending checks to Nagios. |  | String
 |===
 // endpoint options: END
@@ -96,7 +95,7 @@ with the following path and query parameters:
 === Spring Boot Auto-Configuration
 
 
-The component supports 10 options, which are listed below.
+The component supports 9 options, which are listed below.
 
 
 
@@ -105,7 +104,6 @@ The component supports 10 options, which are listed below.
 | Name | Description | Default | Type
 | *camel.component.nagios.configuration.connection-timeout* | Connection timeout in millis. | 5000 | Integer
 | *camel.component.nagios.configuration.encryption* | To specify an encryption method. |  | Encryption
-| *camel.component.nagios.configuration.encryption-method* | To specify an encryption method. |  | NagiosEncryptionMethod
 | *camel.component.nagios.configuration.host* | This is the address of the Nagios host where checks should be send. |  | String
 | *camel.component.nagios.configuration.nagios-settings* |  |  | NagiosSettings
 | *camel.component.nagios.configuration.password* | Password to be authenticated when sending checks to Nagios. |  | String
diff --git a/components/camel-nagios/src/main/java/org/apache/camel/component/nagios/NagiosConfiguration.java b/components/camel-nagios/src/main/java/org/apache/camel/component/nagios/NagiosConfiguration.java
index 0f6b3f2..64a3e59 100644
--- a/components/camel-nagios/src/main/java/org/apache/camel/component/nagios/NagiosConfiguration.java
+++ b/components/camel-nagios/src/main/java/org/apache/camel/component/nagios/NagiosConfiguration.java
@@ -45,9 +45,6 @@ public class NagiosConfiguration implements Cloneable {
     private int timeout = 5000;
     @UriParam(label = "security", secret = true)
     private String password;
-    @Deprecated
-    @UriParam(label = "security")
-    private NagiosEncryptionMethod encryptionMethod;
     @UriParam(label = "security")
     private Encryption encryption = Encryption.NONE;
 
@@ -155,19 +152,6 @@ public class NagiosConfiguration implements Cloneable {
         this.password = password;
     }
 
-    public NagiosEncryptionMethod getEncryptionMethod() {
-        return encryptionMethod;
-    }
-
-    /**
-     * To specify an encryption method.
-     * @deprecated use the {@link #encryption} query parameter instead.
-     */
-    @Deprecated
-    public void setEncryptionMethod(NagiosEncryptionMethod encryptionMethod) {
-        this.encryptionMethod = encryptionMethod;
-    }
-
     public Encryption getEncryption() {
         return encryption;
     }
@@ -182,7 +166,7 @@ public class NagiosConfiguration implements Cloneable {
     @Override
     public String toString() {
         return "NagiosConfiguration[host=" + host + ":" + port + ", connectionTimeout=" + connectionTimeout
-                + ", timeout=" + timeout + ", encryptionMethod=" + encryptionMethod + ", encryption=" + encryption + "]";
+                + ", timeout=" + timeout + ", encryption=" + encryption + "]";
     }
 
 }
diff --git a/components/camel-nagios/src/main/java/org/apache/camel/component/nagios/NagiosEncryptionMethod.java b/components/camel-nagios/src/main/java/org/apache/camel/component/nagios/NagiosEncryptionMethod.java
deleted file mode 100644
index 9634623..0000000
--- a/components/camel-nagios/src/main/java/org/apache/camel/component/nagios/NagiosEncryptionMethod.java
+++ /dev/null
@@ -1,28 +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.component.nagios;
-
-/**
- * Encryption methods supported by nagios.
- * @deprecated use {@link com.googlecode.jsendnsca.encryption.Encryption} instead.
- */
-@Deprecated
-public enum NagiosEncryptionMethod {
-
-    No, Xor, TripleDes
-
-}
diff --git a/components/camel-netty4-http/src/main/docs/netty4-http-component.adoc b/components/camel-netty4-http/src/main/docs/netty4-http-component.adoc
index 1e736568..2605d52 100644
--- a/components/camel-netty4-http/src/main/docs/netty4-http-component.adoc
+++ b/components/camel-netty4-http/src/main/docs/netty4-http-component.adoc
@@ -126,7 +126,7 @@ with the following path and query parameters:
 |===
 
 
-==== Query Parameters (79 parameters):
+==== Query Parameters (75 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -192,12 +192,9 @@ with the following path and query parameters:
 | *transferExchange* (advanced) | 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
 | *workerCount* (advanced) | When netty works on nio mode, it uses default workerCount parameter from Netty, which is cpu_core_threads x 2. User can use this operation to override the default workerCount from Netty. |  | int
 | *workerGroup* (advanced) | To use a explicit EventLoopGroup as the boss thread pool. For example to share a thread pool with multiple consumers or producers. By default each consumer or producer has their own worker pool with 2 x cpu count core threads. |  | EventLoopGroup
-| *decoder* (codec) | *Deprecated* To use a single decoder. This options is deprecated use encoders instead. |  | ChannelHandler
 | *decoders* (codec) | A list of decoders to be used. You can use a String which have values separated by comma, and have the values be looked up in the Registry. Just remember to prefix the value with # so Camel knows it should lookup. |  | String
-| *encoder* (codec) | *Deprecated* To use a single encoder. This options is deprecated use encoders instead. |  | ChannelHandler
 | *encoders* (codec) | A list of encoders to be used. You can use a String which have values separated by comma, and have the values be looked up in the Registry. Just remember to prefix the value with # so Camel knows it should lookup. |  | String
 | *enabledProtocols* (security) | Which protocols to enable when using SSL | TLSv1,TLSv1.1,TLSv1.2 | String
-| *keyStoreFile* (security) | Client side certificate keystore to be used for encryption |  | File
 | *keyStoreFormat* (security) | Keystore format to be used for payload encryption. Defaults to JKS if not set |  | String
 | *keyStoreResource* (security) | Client side certificate keystore to be used for encryption. Is loaded by default from classpath, but you can prefix with classpath:, file:, or http: to load the resource from different systems. |  | String
 | *needClientAuth* (security) | Configures whether the server needs client authentication when using SSL. | false | boolean
@@ -209,7 +206,6 @@ with the following path and query parameters:
 | *sslClientCertHeaders* (security) | When enabled and in SSL mode, then the Netty consumer will enrich the Camel Message with headers having information about the client certificate such as subject name, issuer name, serial number, and the valid date range. | false | boolean
 | *sslContextParameters* (security) | To configure security using SSLContextParameters |  | SSLContextParameters
 | *sslHandler* (security) | Reference to a class that could be used to return an SSL Handler |  | SslHandler
-| *trustStoreFile* (security) | Server side certificate keystore to be used for encryption |  | File
 | *trustStoreResource* (security) | Server side certificate keystore to be used for encryption. Is loaded by default from classpath, but you can prefix with classpath:, file:, or http: to load the resource from different systems. |  | String
 |===
 // endpoint options: END
diff --git a/components/camel-netty4-http/src/main/java/org/apache/camel/component/netty4/http/DefaultNettySharedHttpServer.java b/components/camel-netty4-http/src/main/java/org/apache/camel/component/netty4/http/DefaultNettySharedHttpServer.java
index 74e2550..7b122f6 100644
--- a/components/camel-netty4-http/src/main/java/org/apache/camel/component/netty4/http/DefaultNettySharedHttpServer.java
+++ b/components/camel-netty4-http/src/main/java/org/apache/camel/component/netty4/http/DefaultNettySharedHttpServer.java
@@ -21,6 +21,8 @@ import java.util.regex.Matcher;
 
 import io.netty.channel.Channel;
 import io.netty.channel.ChannelInitializer;
+import org.apache.camel.CamelContext;
+import org.apache.camel.CamelContextAware;
 import org.apache.camel.component.netty4.NettyServerBootstrapFactory;
 import org.apache.camel.component.netty4.http.handlers.HttpServerMultiplexChannelHandler;
 import org.apache.camel.spi.ClassResolver;
@@ -34,7 +36,7 @@ import org.slf4j.LoggerFactory;
 /**
  * A default {@link NettySharedHttpServer} to make sharing Netty server in Camel applications easier.
  */
-public class DefaultNettySharedHttpServer extends ServiceSupport implements NettySharedHttpServer {
+public class DefaultNettySharedHttpServer extends ServiceSupport implements NettySharedHttpServer, CamelContextAware {
 
     // TODO: option to enlist in JMX
 
@@ -44,7 +46,7 @@ public class DefaultNettySharedHttpServer extends ServiceSupport implements Nett
     private NettySharedHttpServerBootstrapConfiguration configuration;
     private HttpServerConsumerChannelFactory channelFactory;
     private HttpServerBootstrapFactory bootstrapFactory;
-    private ClassResolver classResolver;
+    private CamelContext camelContext;
     private boolean startServer = true;
     private String threadPattern = DEFAULT_PATTERN;
 
@@ -52,10 +54,6 @@ public class DefaultNettySharedHttpServer extends ServiceSupport implements Nett
         this.configuration = configuration;
     }
 
-    public void setClassResolver(ClassResolver classResolver) {
-        this.classResolver = classResolver;
-    }
-
     public int getPort() {
         return configuration != null ? configuration.getPort() : -1;
     }
@@ -84,6 +82,16 @@ public class DefaultNettySharedHttpServer extends ServiceSupport implements Nett
         this.threadPattern = pattern;
     }
 
+    @Override
+    public CamelContext getCamelContext() {
+        return camelContext;
+    }
+
+    @Override
+    public void setCamelContext(CamelContext camelContext) {
+        this.camelContext = camelContext;
+    }
+
     protected void doStart() throws Exception {
         ObjectHelper.notNull(configuration, "setNettyServerBootstrapConfiguration() must be called with a NettyServerBootstrapConfiguration instance", this);
 
@@ -104,7 +112,7 @@ public class DefaultNettySharedHttpServer extends ServiceSupport implements Nett
         channelFactory = new HttpServerMultiplexChannelHandler();
         channelFactory.init(configuration.getPort());
 
-        ChannelInitializer<Channel> pipelineFactory = new HttpServerSharedInitializerFactory(configuration, channelFactory, classResolver);
+        ChannelInitializer<Channel> pipelineFactory = new HttpServerSharedInitializerFactory(configuration, channelFactory, camelContext);
 
         // thread factory and pattern
         String port = Matcher.quoteReplacement("" + configuration.getPort());
diff --git a/components/camel-netty4-http/src/main/java/org/apache/camel/component/netty4/http/HttpClientInitializerFactory.java b/components/camel-netty4-http/src/main/java/org/apache/camel/component/netty4/http/HttpClientInitializerFactory.java
index d78a1b6..f84b26e 100644
--- a/components/camel-netty4-http/src/main/java/org/apache/camel/component/netty4/http/HttpClientInitializerFactory.java
+++ b/components/camel-netty4-http/src/main/java/org/apache/camel/component/netty4/http/HttpClientInitializerFactory.java
@@ -133,34 +133,23 @@ public class HttpClientInitializerFactory extends ClientInitializerFactory {
         if (configuration.getSslContextParameters() != null) {
             answer = configuration.getSslContextParameters().createSSLContext(producer.getContext());
         } else {
-            if (configuration.getKeyStoreFile() == null && configuration.getKeyStoreResource() == null) {
+            if (configuration.getKeyStoreResource() == null) {
                 LOG.debug("keystorefile is null");
             }
-            if (configuration.getTrustStoreFile() == null && configuration.getTrustStoreResource() == null) {
+            if (configuration.getTrustStoreResource() == null) {
                 LOG.debug("truststorefile is null");
             }
             if (configuration.getPassphrase().toCharArray() == null) {
                 LOG.debug("passphrase is null");
             }
 
-            SSLEngineFactory sslEngineFactory;
-            if (configuration.getKeyStoreFile() != null || configuration.getTrustStoreFile() != null) {
-                sslEngineFactory = new SSLEngineFactory();
-                answer = sslEngineFactory.createSSLContext(producer.getContext(),
-                        configuration.getKeyStoreFormat(),
-                        configuration.getSecurityProvider(),
-                        "file:" + configuration.getKeyStoreFile().getPath(),
-                        "file:" + configuration.getTrustStoreFile().getPath(),
-                        configuration.getPassphrase().toCharArray());
-            } else {
-                sslEngineFactory = new SSLEngineFactory();
-                answer = sslEngineFactory.createSSLContext(producer.getContext(),
-                        configuration.getKeyStoreFormat(),
-                        configuration.getSecurityProvider(),
-                        configuration.getKeyStoreResource(),
-                        configuration.getTrustStoreResource(),
-                        configuration.getPassphrase().toCharArray());
-            }
+            SSLEngineFactory sslEngineFactory = new SSLEngineFactory();
+            answer = sslEngineFactory.createSSLContext(producer.getContext(),
+                    configuration.getKeyStoreFormat(),
+                    configuration.getSecurityProvider(),
+                    configuration.getKeyStoreResource(),
+                    configuration.getTrustStoreResource(),
+                    configuration.getPassphrase().toCharArray());
         }
 
         return answer;
diff --git a/components/camel-netty4-http/src/main/java/org/apache/camel/component/netty4/http/HttpServerInitializerFactory.java b/components/camel-netty4-http/src/main/java/org/apache/camel/component/netty4/http/HttpServerInitializerFactory.java
index a5fada4..a56f477 100644
--- a/components/camel-netty4-http/src/main/java/org/apache/camel/component/netty4/http/HttpServerInitializerFactory.java
+++ b/components/camel-netty4-http/src/main/java/org/apache/camel/component/netty4/http/HttpServerInitializerFactory.java
@@ -134,34 +134,23 @@ public class HttpServerInitializerFactory extends ServerInitializerFactory {
         if (configuration.getSslContextParameters() != null) {
             answer = configuration.getSslContextParameters().createSSLContext(camelContext);
         } else {
-            if (configuration.getKeyStoreFile() == null && configuration.getKeyStoreResource() == null) {
+            if (configuration.getKeyStoreResource() == null) {
                 LOG.debug("keystorefile is null");
             }
-            if (configuration.getTrustStoreFile() == null && configuration.getTrustStoreResource() == null) {
+            if (configuration.getTrustStoreResource() == null) {
                 LOG.debug("truststorefile is null");
             }
             if (configuration.getPassphrase().toCharArray() == null) {
                 LOG.debug("passphrase is null");
             }
 
-            SSLEngineFactory sslEngineFactory;
-            if (configuration.getKeyStoreFile() != null || configuration.getTrustStoreFile() != null) {
-                sslEngineFactory = new SSLEngineFactory();
-                answer = sslEngineFactory.createSSLContext(camelContext,
-                        configuration.getKeyStoreFormat(),
-                        configuration.getSecurityProvider(),
-                        "file:" + configuration.getKeyStoreFile().getPath(),
-                        "file:" + configuration.getTrustStoreFile().getPath(),
-                        configuration.getPassphrase().toCharArray());
-            } else {
-                sslEngineFactory = new SSLEngineFactory();
-                answer = sslEngineFactory.createSSLContext(camelContext,
-                        configuration.getKeyStoreFormat(),
-                        configuration.getSecurityProvider(),
-                        configuration.getKeyStoreResource(),
-                        configuration.getTrustStoreResource(),
-                        configuration.getPassphrase().toCharArray());
-            }
+            SSLEngineFactory sslEngineFactory = new SSLEngineFactory();
+            answer = sslEngineFactory.createSSLContext(camelContext,
+                    configuration.getKeyStoreFormat(),
+                    configuration.getSecurityProvider(),
+                    configuration.getKeyStoreResource(),
+                    configuration.getTrustStoreResource(),
+                    configuration.getPassphrase().toCharArray());
         }
 
         return answer;
diff --git a/components/camel-netty4-http/src/main/java/org/apache/camel/component/netty4/http/HttpServerSharedInitializerFactory.java b/components/camel-netty4-http/src/main/java/org/apache/camel/component/netty4/http/HttpServerSharedInitializerFactory.java
index f5a4ebe..281e488 100644
--- a/components/camel-netty4-http/src/main/java/org/apache/camel/component/netty4/http/HttpServerSharedInitializerFactory.java
+++ b/components/camel-netty4-http/src/main/java/org/apache/camel/component/netty4/http/HttpServerSharedInitializerFactory.java
@@ -26,6 +26,7 @@ import io.netty.handler.codec.http.HttpObjectAggregator;
 import io.netty.handler.codec.http.HttpRequestDecoder;
 import io.netty.handler.codec.http.HttpResponseEncoder;
 import io.netty.handler.ssl.SslHandler;
+import org.apache.camel.CamelContext;
 import org.apache.camel.component.netty4.NettyConsumer;
 import org.apache.camel.component.netty4.ServerInitializerFactory;
 import org.apache.camel.component.netty4.ssl.SSLEngineFactory;
@@ -45,15 +46,15 @@ public class HttpServerSharedInitializerFactory extends HttpServerInitializerFac
     private static final Logger LOG = LoggerFactory.getLogger(HttpServerSharedInitializerFactory.class);
     private final NettySharedHttpServerBootstrapConfiguration configuration;
     private final HttpServerConsumerChannelFactory channelFactory;
-    private final ClassResolver classResolver;
+    private final CamelContext camelContext;
     private SSLContext sslContext;
 
     public HttpServerSharedInitializerFactory(NettySharedHttpServerBootstrapConfiguration configuration, HttpServerConsumerChannelFactory channelFactory,
-                                           ClassResolver classResolver) {
+                                           CamelContext camelContext) {
         this.configuration = configuration;
         this.channelFactory = channelFactory;
         // fallback and use default resolver
-        this.classResolver = classResolver != null ? classResolver : new DefaultClassResolver();
+        this.camelContext = camelContext;
 
         try {
             this.sslContext = createSSLContext();
@@ -105,34 +106,23 @@ public class HttpServerSharedInitializerFactory extends HttpServerInitializerFac
         if (configuration.getSslContextParameters() != null) {
             answer = configuration.getSslContextParameters().createSSLContext(null);
         } else {
-            if (configuration.getKeyStoreFile() == null && configuration.getKeyStoreResource() == null) {
+            if (configuration.getKeyStoreResource() == null) {
                 LOG.debug("keystorefile is null");
             }
-            if (configuration.getTrustStoreFile() == null && configuration.getTrustStoreResource() == null) {
+            if (configuration.getTrustStoreResource() == null) {
                 LOG.debug("truststorefile is null");
             }
             if (configuration.getPassphrase().toCharArray() == null) {
                 LOG.debug("passphrase is null");
             }
 
-            SSLEngineFactory sslEngineFactory;
-            if (configuration.getKeyStoreFile() != null || configuration.getTrustStoreFile() != null) {
-                sslEngineFactory = new SSLEngineFactory();
-                answer = sslEngineFactory.createSSLContext(classResolver,
-                        configuration.getKeyStoreFormat(),
-                        configuration.getSecurityProvider(),
-                        "file:" + configuration.getKeyStoreFile().getPath(),
-                        "file:" + configuration.getTrustStoreFile().getPath(),
-                        configuration.getPassphrase().toCharArray());
-            } else {
-                sslEngineFactory = new SSLEngineFactory();
-                answer = sslEngineFactory.createSSLContext(classResolver,
-                        configuration.getKeyStoreFormat(),
-                        configuration.getSecurityProvider(),
-                        configuration.getKeyStoreResource(),
-                        configuration.getTrustStoreResource(),
-                        configuration.getPassphrase().toCharArray());
-            }
+            SSLEngineFactory sslEngineFactory = new SSLEngineFactory();
+            answer = sslEngineFactory.createSSLContext(camelContext,
+                    configuration.getKeyStoreFormat(),
+                    configuration.getSecurityProvider(),
+                    configuration.getKeyStoreResource(),
+                    configuration.getTrustStoreResource(),
+                    configuration.getPassphrase().toCharArray());
         }
 
         return answer;
diff --git a/components/camel-netty4-http/src/main/java/org/apache/camel/component/netty4/http/NettyHttpConstants.java b/components/camel-netty4-http/src/main/java/org/apache/camel/component/netty4/http/NettyHttpConstants.java
index deae4e3..1a016a7 100644
--- a/components/camel-netty4-http/src/main/java/org/apache/camel/component/netty4/http/NettyHttpConstants.java
+++ b/components/camel-netty4-http/src/main/java/org/apache/camel/component/netty4/http/NettyHttpConstants.java
@@ -25,8 +25,6 @@ public final class NettyHttpConstants {
 
     public static final String CONTENT_TYPE_JAVA_SERIALIZED_OBJECT = "application/x-java-serialized-object";
     public static final String CONTENT_TYPE_WWW_FORM_URLENCODED = "application/x-www-form-urlencoded";
-    @Deprecated
-    public static final String HTTP_RESPONSE_TEXT = Exchange.HTTP_RESPONSE_TEXT;
     public static final String HTTP_AUTHENTICATION = "CamelHttpAuthentication";
 
     private NettyHttpConstants() {
diff --git a/components/camel-netty4-http/src/main/java/org/apache/camel/component/netty4/http/NettyHttpOperationFailedException.java b/components/camel-netty4-http/src/main/java/org/apache/camel/component/netty4/http/NettyHttpOperationFailedException.java
index 32ea065..e3b24f2 100644
--- a/components/camel-netty4-http/src/main/java/org/apache/camel/component/netty4/http/NettyHttpOperationFailedException.java
+++ b/components/camel-netty4-http/src/main/java/org/apache/camel/component/netty4/http/NettyHttpOperationFailedException.java
@@ -33,7 +33,6 @@ public class NettyHttpOperationFailedException extends CamelException {
     private final String redirectLocation;
     private final int statusCode;
     private final String statusText;
-    private final transient HttpContent content;
     private final String contentAsString;
 
     public NettyHttpOperationFailedException(String uri, int statusCode, String statusText, String location, HttpContent content) {
@@ -43,7 +42,6 @@ public class NettyHttpOperationFailedException extends CamelException {
         this.statusCode = statusCode;
         this.statusText = statusText;
         this.redirectLocation = location;
-        this.content = content;
 
         String str = "";
         try {
@@ -79,19 +77,6 @@ public class NettyHttpOperationFailedException extends CamelException {
     }
 
     /**
-     * Gets the {@link HttpContent}.
-     * <p/>
-     * Notice this may be <tt>null</tt> if this exception has been serialized,
-     * as the {@link HttpContent} instance is marked as transient in this class.
-     *
-     * @deprecated use getContentAsString();
-     */
-    @Deprecated
-    public HttpContent getHttpContent() {
-        return content;
-    }
-
-    /**
      * Gets the HTTP content as a String
      * <p/>
      * Notice this may be <tt>null</tt> if it was not possible to read the content
diff --git a/components/camel-netty4-http/src/main/java/org/apache/camel/component/netty4/http/NettySharedHttpServer.java b/components/camel-netty4-http/src/main/java/org/apache/camel/component/netty4/http/NettySharedHttpServer.java
index 51d7239..0f51816 100644
--- a/components/camel-netty4-http/src/main/java/org/apache/camel/component/netty4/http/NettySharedHttpServer.java
+++ b/components/camel-netty4-http/src/main/java/org/apache/camel/component/netty4/http/NettySharedHttpServer.java
@@ -16,6 +16,7 @@
  */
 package org.apache.camel.component.netty4.http;
 
+import org.apache.camel.CamelContextAware;
 import org.apache.camel.Service;
 import org.apache.camel.component.netty4.NettyServerBootstrapConfiguration;
 import org.apache.camel.component.netty4.NettyServerBootstrapFactory;
@@ -29,7 +30,7 @@ import org.apache.camel.spi.ClassResolver;
  * set this using {@link #setNettyServerBootstrapConfiguration(NettySharedHttpServerBootstrapConfiguration)}.
  * Then call the {@link #start()} to initialize this shared server.
  */
-public interface NettySharedHttpServer extends Service {
+public interface NettySharedHttpServer extends Service, CamelContextAware {
 
     /**
      * Sets the bootstrap configuration to use by this shared Netty HTTP server.
@@ -37,11 +38,6 @@ public interface NettySharedHttpServer extends Service {
     void setNettyServerBootstrapConfiguration(NettySharedHttpServerBootstrapConfiguration configuration);
 
     /**
-     * To use a custom {@link ClassResolver} for loading resource on the classpath.
-     */
-    void setClassResolver(ClassResolver classResolver);
-
-    /**
      * Whether to start the Netty HTTP server eager and bind to the port, or wait on first demand
      */
     void setStartServer(boolean startServer);
diff --git a/components/camel-netty4-http/src/test/java/org/apache/camel/component/netty4/http/NettySharedHttpServerTest.java b/components/camel-netty4-http/src/test/java/org/apache/camel/component/netty4/http/NettySharedHttpServerTest.java
index 11441e6..b0efa05 100644
--- a/components/camel-netty4-http/src/test/java/org/apache/camel/component/netty4/http/NettySharedHttpServerTest.java
+++ b/components/camel-netty4-http/src/test/java/org/apache/camel/component/netty4/http/NettySharedHttpServerTest.java
@@ -28,7 +28,7 @@ public class NettySharedHttpServerTest extends BaseNettyTest {
     @Override
     protected JndiRegistry createRegistry() throws Exception {
         nettySharedHttpServer = new DefaultNettySharedHttpServer();
-        nettySharedHttpServer.setClassResolver(new DefaultClassResolver(context));
+        nettySharedHttpServer.setCamelContext(context);
 
         NettySharedHttpServerBootstrapConfiguration configuration = new NettySharedHttpServerBootstrapConfiguration();
         configuration.setPort(getPort());
diff --git a/components/camel-netty4/src/main/docs/netty4-component.adoc b/components/camel-netty4/src/main/docs/netty4-component.adoc
index 24f9252..fd5351f 100644
--- a/components/camel-netty4/src/main/docs/netty4-component.adoc
+++ b/components/camel-netty4/src/main/docs/netty4-component.adoc
@@ -88,7 +88,7 @@ with the following path and query parameters:
 |===
 
 
-==== Query Parameters (72 parameters):
+==== Query Parameters (68 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -143,18 +143,15 @@ with the following path and query parameters:
 | *udpByteArrayCodec* (advanced) | For UDP only. If enabled the using byte array codec instead of Java serialization protocol. | false | boolean
 | *workerCount* (advanced) | When netty works on nio mode, it uses default workerCount parameter from Netty, which is cpu_core_threads x 2. User can use this operation to override the default workerCount from Netty. |  | int
 | *workerGroup* (advanced) | To use a explicit EventLoopGroup as the boss thread pool. For example to share a thread pool with multiple consumers or producers. By default each consumer or producer has their own worker pool with 2 x cpu count core threads. |  | EventLoopGroup
-| *allowDefaultCodec* (codec) | The netty component installs a default codec if both, encoder/deocder is null and textline is false. Setting allowDefaultCodec to false prevents the netty component from installing a default codec as the first element in the filter chain. | true | boolean
+| *allowDefaultCodec* (codec) | The netty component installs a default codec if both, encoder/decoder is null and textline is false. Setting allowDefaultCodec to false prevents the netty component from installing a default codec as the first element in the filter chain. | true | boolean
 | *autoAppendDelimiter* (codec) | Whether or not to auto append missing end delimiter when sending using the textline codec. | true | boolean
-| *decoder* (codec) | *Deprecated* A custom ChannelHandler class that can be used to perform special marshalling of inbound payloads. |  | ChannelHandler
 | *decoderMaxLineLength* (codec) | The max line length to use for the textline codec. | 1024 | int
 | *decoders* (codec) | A list of decoders to be used. You can use a String which have values separated by comma, and have the values be looked up in the Registry. Just remember to prefix the value with # so Camel knows it should lookup. |  | String
 | *delimiter* (codec) | The delimiter to use for the textline codec. Possible values are LINE and NULL. | LINE | TextLineDelimiter
-| *encoder* (codec) | *Deprecated* A custom ChannelHandler class that can be used to perform special marshalling of outbound payloads. |  | ChannelHandler
 | *encoders* (codec) | A list of encoders to be used. You can use a String which have values separated by comma, and have the values be looked up in the Registry. Just remember to prefix the value with # so Camel knows it should lookup. |  | String
 | *encoding* (codec) | The encoding (a charset name) to use for the textline codec. If not provided, Camel will use the JVM default Charset. |  | String
 | *textline* (codec) | Only used for TCP. If no codec is specified, you can use this flag to indicate a text line based codec; if not specified or the value is false, then Object Serialization is assumed over TCP. | false | boolean
 | *enabledProtocols* (security) | Which protocols to enable when using SSL | TLSv1,TLSv1.1,TLSv1.2 | String
-| *keyStoreFile* (security) | Client side certificate keystore to be used for encryption |  | File
 | *keyStoreFormat* (security) | Keystore format to be used for payload encryption. Defaults to JKS if not set |  | String
 | *keyStoreResource* (security) | Client side certificate keystore to be used for encryption. Is loaded by default from classpath, but you can prefix with classpath:, file:, or http: to load the resource from different systems. |  | String
 | *needClientAuth* (security) | Configures whether the server needs client authentication when using SSL. | false | boolean
@@ -164,7 +161,6 @@ with the following path and query parameters:
 | *sslClientCertHeaders* (security) | When enabled and in SSL mode, then the Netty consumer will enrich the Camel Message with headers having information about the client certificate such as subject name, issuer name, serial number, and the valid date range. | false | boolean
 | *sslContextParameters* (security) | To configure security using SSLContextParameters |  | SSLContextParameters
 | *sslHandler* (security) | Reference to a class that could be used to return an SSL Handler |  | SslHandler
-| *trustStoreFile* (security) | Server side certificate keystore to be used for encryption |  | File
 | *trustStoreResource* (security) | Server side certificate keystore to be used for encryption. Is loaded by default from classpath, but you can prefix with classpath:, file:, or http: to load the resource from different systems. |  | String
 |===
 // endpoint options: END
@@ -172,14 +168,14 @@ with the following path and query parameters:
 === Spring Boot Auto-Configuration
 
 
-The component supports 78 options, which are listed below.
+The component supports 72 options, which are listed below.
 
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
 |===
 | Name | Description | Default | Type
-| *camel.component.netty4.configuration.allow-default-codec* | The netty component installs a default codec if both, encoder/deocder is null and textline is false. Setting allowDefaultCodec to false prevents the netty component from installing a default codec as the first element in the filter chain. | true | Boolean
+| *camel.component.netty4.configuration.allow-default-codec* | The netty component installs a default codec if both, encoder/decoder is null and textline is false. Setting allowDefaultCodec to false prevents the netty component from installing a default codec as the first element in the filter chain. | true | Boolean
 | *camel.component.netty4.configuration.allow-serialized-headers* | Only used for TCP when transferExchange is true. When set to true, serializable objects in headers and properties will be added to the exchange. Otherwise Camel will exclude any non-serializable objects and log it at WARN level. | false | Boolean
 | *camel.component.netty4.configuration.auto-append-delimiter* | Whether or not to auto append missing end delimiter when sending using the textline codec. | true | Boolean
 | *camel.component.netty4.configuration.backlog* | Allows to configure a backlog for netty consumer (server). Note the backlog is just a best effort depending on the OS. Setting this option to a value such as 200, 500 or 1000, tells the TCP stack how long the accept queue can be If this option is not configured, then the backlog depends on OS setting. |  | Integer
@@ -189,22 +185,18 @@ The component supports 78 options, which are listed below.
 | *camel.component.netty4.configuration.channel-group* | To use a explicit ChannelGroup. |  | ChannelGroup
 | *camel.component.netty4.configuration.client-initializer-factory* | To use a custom ClientInitializerFactory |  | ClientInitializer Factory
 | *camel.component.netty4.configuration.client-mode* | If the clientMode is true, netty consumer will connect the address as a TCP client. | false | Boolean
-| *camel.component.netty4.configuration.client-pipeline-factory* | @deprecated use #setClientInitializerFactory |  | ClientInitializer Factory
 | *camel.component.netty4.configuration.connect-timeout* | Time to wait for a socket connection to be available. Value is in milliseconds. | 10000 | Integer
 | *camel.component.netty4.configuration.correlation-manager* | To use a custom correlation manager to manage how request and reply messages are mapped when using request/reply with the netty producer. This should only be used if you have a way to map requests together with replies such as if there is correlation ids in both the request and reply messages. This can be used if you want to multiplex concurrent messages on the same channel (aka connection) in netty. When doing this you must  [...]
-| *camel.component.netty4.configuration.decoder* | A custom ChannelHandler class that can be used to perform special marshalling of inbound payloads. |  | ChannelHandler
 | *camel.component.netty4.configuration.decoder-max-line-length* | The max line length to use for the textline codec. | 1024 | Integer
 | *camel.component.netty4.configuration.decoders* | A list of decoders to be used. You can use a String which have values separated by comma, and have the values be looked up in the Registry. Just remember to prefix the value with # so Camel knows it should lookup. |  | List
 | *camel.component.netty4.configuration.delimiter* | The delimiter to use for the textline codec. Possible values are LINE and NULL. |  | TextLineDelimiter
 | *camel.component.netty4.configuration.disconnect* | Whether or not to disconnect(close) from Netty Channel right after use. Can be used for both consumer and producer. | false | Boolean
 | *camel.component.netty4.configuration.disconnect-on-no-reply* | If sync is enabled then this option dictates NettyConsumer if it should disconnect where there is no reply to send back. | true | Boolean
 | *camel.component.netty4.configuration.enabled-protocols* | Which protocols to enable when using SSL | TLSv1,TLSv1.1,TLSv1.2 | String
-| *camel.component.netty4.configuration.encoder* | A custom ChannelHandler class that can be used to perform special marshalling of outbound payloads. |  | ChannelHandler
 | *camel.component.netty4.configuration.encoders* | A list of encoders to be used. You can use a String which have values separated by comma, and have the values be looked up in the Registry. Just remember to prefix the value with # so Camel knows it should lookup. |  | List
 | *camel.component.netty4.configuration.encoding* | The encoding (a charset name) to use for the textline codec. If not provided, Camel will use the JVM default Charset. |  | String
 | *camel.component.netty4.configuration.host* | The hostname. For the consumer the hostname is localhost or 0.0.0.0. For the producer the hostname is the remote host to connect to |  | String
 | *camel.component.netty4.configuration.keep-alive* | Setting to ensure socket is not closed due to inactivity | true | Boolean
-| *camel.component.netty4.configuration.key-store-file* | Client side certificate keystore to be used for encryption |  | File
 | *camel.component.netty4.configuration.key-store-format* | Keystore format to be used for payload encryption. Defaults to JKS if not set |  | String
 | *camel.component.netty4.configuration.key-store-resource* | Client side certificate keystore to be used for encryption. Is loaded by default from classpath, but you can prefix with classpath:, file:, or http: to load the resource from different systems. |  | String
 | *camel.component.netty4.configuration.lazy-channel-creation* | Channels can be lazily created to avoid exceptions, if the remote server is not up and running when the Camel producer is started. | true | Boolean
@@ -234,7 +226,6 @@ The component supports 78 options, which are listed below.
 | *camel.component.netty4.configuration.server-closed-channel-exception-caught-log-level* | If the server (NettyConsumer) catches an java.nio.channels.ClosedChannelException then its logged using this logging level. This is used to avoid logging the closed channel exceptions, as clients can disconnect abruptly and then cause a flood of closed exceptions in the Netty server. |  | LoggingLevel
 | *camel.component.netty4.configuration.server-exception-caught-log-level* | If the server (NettyConsumer) catches an exception then its logged using this logging level. |  | LoggingLevel
 | *camel.component.netty4.configuration.server-initializer-factory* | To use a custom ServerInitializerFactory |  | ServerInitializer Factory
-| *camel.component.netty4.configuration.server-pipeline-factory* | @deprecated use #setServerInitializerFactory |  | ServerInitializer Factory
 | *camel.component.netty4.configuration.ssl* | Setting to specify whether SSL encryption is applied to this endpoint | false | Boolean
 | *camel.component.netty4.configuration.ssl-client-cert-headers* | When enabled and in SSL mode, then the Netty consumer will enrich the Camel Message with headers having information about the client certificate such as subject name, issuer name, serial number, and the valid date range. | false | Boolean
 | *camel.component.netty4.configuration.ssl-context-parameters* | To configure security using SSLContextParameters |  | SSLContextParameters
@@ -243,7 +234,6 @@ The component supports 78 options, which are listed below.
 | *camel.component.netty4.configuration.tcp-no-delay* | Setting to improve TCP protocol performance | true | Boolean
 | *camel.component.netty4.configuration.textline* | Only used for TCP. If no codec is specified, you can use this flag to indicate a text line based codec; if not specified or the value is false, then Object Serialization is assumed over TCP. | false | Boolean
 | *camel.component.netty4.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.netty4.configuration.trust-store-file* | Server side certificate keystore to be used for encryption |  | File
 | *camel.component.netty4.configuration.trust-store-resource* | Server side certificate keystore to be used for encryption. Is loaded by default from classpath, but you can prefix with classpath:, file:, or http: to load the resource from different systems. |  | String
 | *camel.component.netty4.configuration.udp-byte-array-codec* | For UDP only. If enabled the using byte array codec instead of Java serialization protocol. | false | Boolean
 | *camel.component.netty4.configuration.udp-connectionless-sending* | This option supports connection less udp sending which is a real fire and forget. A connected udp send receive the PortUnreachableException if no one is listen on the receiving port. | false | Boolean
diff --git a/components/camel-netty4/src/main/java/org/apache/camel/component/netty4/DefaultClientInitializerFactory.java b/components/camel-netty4/src/main/java/org/apache/camel/component/netty4/DefaultClientInitializerFactory.java
index c3a0da7..80f3926 100644
--- a/components/camel-netty4/src/main/java/org/apache/camel/component/netty4/DefaultClientInitializerFactory.java
+++ b/components/camel-netty4/src/main/java/org/apache/camel/component/netty4/DefaultClientInitializerFactory.java
@@ -112,34 +112,23 @@ public class DefaultClientInitializerFactory extends ClientInitializerFactory  {
         if (configuration.getSslContextParameters() != null) {
             answer = configuration.getSslContextParameters().createSSLContext(producer.getContext());
         } else {
-            if (configuration.getKeyStoreFile() == null && configuration.getKeyStoreResource() == null) {
+            if (configuration.getKeyStoreResource() == null) {
                 LOG.debug("keystorefile is null");
             }
-            if (configuration.getTrustStoreFile() == null && configuration.getTrustStoreResource() == null) {
+            if (configuration.getTrustStoreResource() == null) {
                 LOG.debug("truststorefile is null");
             }
             if (configuration.getPassphrase().toCharArray() == null) {
                 LOG.debug("passphrase is null");
             }
 
-            SSLEngineFactory sslEngineFactory;
-            if (configuration.getKeyStoreFile() != null || configuration.getTrustStoreFile() != null) {
-                sslEngineFactory = new SSLEngineFactory();
-                answer = sslEngineFactory.createSSLContext(producer.getContext(),
-                        configuration.getKeyStoreFormat(),
-                        configuration.getSecurityProvider(),
-                        "file:" + configuration.getKeyStoreFile().getPath(),
-                        "file:" + configuration.getTrustStoreFile().getPath(),
-                        configuration.getPassphrase().toCharArray());
-            } else {
-                sslEngineFactory = new SSLEngineFactory();
-                answer = sslEngineFactory.createSSLContext(producer.getContext(),
-                        configuration.getKeyStoreFormat(),
-                        configuration.getSecurityProvider(),
-                        configuration.getKeyStoreResource(),
-                        configuration.getTrustStoreResource(),
-                        configuration.getPassphrase().toCharArray());
-            }
+            SSLEngineFactory sslEngineFactory = new SSLEngineFactory();
+            answer = sslEngineFactory.createSSLContext(producer.getContext(),
+                    configuration.getKeyStoreFormat(),
+                    configuration.getSecurityProvider(),
+                    configuration.getKeyStoreResource(),
+                    configuration.getTrustStoreResource(),
+                    configuration.getPassphrase().toCharArray());
         }
 
         return answer;
diff --git a/components/camel-netty4/src/main/java/org/apache/camel/component/netty4/DefaultServerInitializerFactory.java b/components/camel-netty4/src/main/java/org/apache/camel/component/netty4/DefaultServerInitializerFactory.java
index 10c59ac..5a024d8 100644
--- a/components/camel-netty4/src/main/java/org/apache/camel/component/netty4/DefaultServerInitializerFactory.java
+++ b/components/camel-netty4/src/main/java/org/apache/camel/component/netty4/DefaultServerInitializerFactory.java
@@ -39,20 +39,6 @@ public class DefaultServerInitializerFactory extends ServerInitializerFactory {
     private NettyConsumer consumer;
     private SSLContext sslContext;
 
-    @Deprecated
-    public DefaultServerInitializerFactory(NettyServerBootstrapConfiguration configuration) {
-        this.consumer = null;
-        try {
-            this.sslContext = createSSLContext(null, configuration);
-        } catch (Exception e) {
-            throw ObjectHelper.wrapRuntimeCamelException(e);
-        }
-
-        if (sslContext != null) {
-            LOG.info("Created SslContext {}", sslContext);
-        }
-    }
-
     public DefaultServerInitializerFactory(NettyConsumer consumer) {
         this.consumer = consumer;
         try {
@@ -132,34 +118,23 @@ public class DefaultServerInitializerFactory extends ServerInitializerFactory {
         if (configuration.getSslContextParameters() != null) {
             answer = configuration.getSslContextParameters().createSSLContext(camelContext);
         } else {
-            if (configuration.getKeyStoreFile() == null && configuration.getKeyStoreResource() == null) {
+            if (configuration.getKeyStoreResource() == null) {
                 LOG.debug("keystorefile is null");
             }
-            if (configuration.getTrustStoreFile() == null && configuration.getTrustStoreResource() == null) {
+            if (configuration.getTrustStoreResource() == null) {
                 LOG.debug("truststorefile is null");
             }
             if (configuration.getPassphrase().toCharArray() == null) {
                 LOG.debug("passphrase is null");
             }
 
-            SSLEngineFactory sslEngineFactory;
-            if (configuration.getKeyStoreFile() != null || configuration.getTrustStoreFile() != null) {
-                sslEngineFactory = new SSLEngineFactory();
-                answer = sslEngineFactory.createSSLContext(camelContext,
-                        configuration.getKeyStoreFormat(),
-                        configuration.getSecurityProvider(),
-                        "file:" + configuration.getKeyStoreFile().getPath(),
-                        "file:" + configuration.getTrustStoreFile().getPath(),
-                        configuration.getPassphrase().toCharArray());
-            } else {
-                sslEngineFactory = new SSLEngineFactory();
-                answer = sslEngineFactory.createSSLContext(camelContext,
-                        configuration.getKeyStoreFormat(),
-                        configuration.getSecurityProvider(),
-                        configuration.getKeyStoreResource(),
-                        configuration.getTrustStoreResource(),
-                        configuration.getPassphrase().toCharArray());
-            }
+            SSLEngineFactory sslEngineFactory = new SSLEngineFactory();
+            answer = sslEngineFactory.createSSLContext(camelContext,
+                    configuration.getKeyStoreFormat(),
+                    configuration.getSecurityProvider(),
+                    configuration.getKeyStoreResource(),
+                    configuration.getTrustStoreResource(),
+                    configuration.getPassphrase().toCharArray());
         }
 
         return answer;
diff --git a/components/camel-netty4/src/main/java/org/apache/camel/component/netty4/NettyConfiguration.java b/components/camel-netty4/src/main/java/org/apache/camel/component/netty4/NettyConfiguration.java
index 924e4d5..182bd61 100644
--- a/components/camel-netty4/src/main/java/org/apache/camel/component/netty4/NettyConfiguration.java
+++ b/components/camel-netty4/src/main/java/org/apache/camel/component/netty4/NettyConfiguration.java
@@ -58,14 +58,8 @@ public class NettyConfiguration extends NettyServerBootstrapConfiguration implem
     private int decoderMaxLineLength = 1024;
     @UriParam(label = "codec")
     private String encoding;
-    @UriParam(label = "codec", description = "To use a single encoder. This options is deprecated use encoders instead.")
-    @Deprecated
-    private ChannelHandler encoder;
     @UriParam(label = "codec", javaType = "java.lang.String")
     private List<ChannelHandler> encoders = new ArrayList<>();
-    @UriParam(label = "codec", description = "To use a single decoder. This options is deprecated use encoders instead.")
-    @Deprecated
-    private ChannelHandler decoder;
     @UriParam(label = "codec", javaType = "java.lang.String")
     private List<ChannelHandler> decoders = new ArrayList<>();
     @UriParam
@@ -186,8 +180,6 @@ public class NettyConfiguration extends NettyServerBootstrapConfiguration implem
         passphrase = component.getAndRemoveOrResolveReferenceParameter(parameters, "passphrase", String.class, passphrase);
         keyStoreFormat = component.getAndRemoveOrResolveReferenceParameter(parameters, "keyStoreFormat", String.class, keyStoreFormat == null ? "JKS" : keyStoreFormat);
         securityProvider = component.getAndRemoveOrResolveReferenceParameter(parameters, "securityProvider", String.class, securityProvider == null ? "SunX509" : securityProvider);
-        keyStoreFile = component.getAndRemoveOrResolveReferenceParameter(parameters, "keyStoreFile", File.class, keyStoreFile);
-        trustStoreFile = component.getAndRemoveOrResolveReferenceParameter(parameters, "trustStoreFile", File.class, trustStoreFile);
         keyStoreResource = component.getAndRemoveOrResolveReferenceParameter(parameters, "keyStoreResource", String.class, keyStoreResource);
         trustStoreResource = component.getAndRemoveOrResolveReferenceParameter(parameters, "trustStoreResource", String.class, trustStoreResource);
         // clientPipelineFactory is @deprecated and to be removed
@@ -368,32 +360,6 @@ public class NettyConfiguration extends NettyServerBootstrapConfiguration implem
         this.encoders = encoders;
     }
 
-    public ChannelHandler getEncoder() {
-        return encoders.isEmpty() ? null : encoders.get(0);
-    }
-
-    /**
-     * A custom ChannelHandler class that can be used to perform special marshalling of outbound payloads.
-     */
-    public void setEncoder(ChannelHandler encoder) {
-        if (!encoders.contains(encoder)) {
-            encoders.add(encoder);
-        }
-    }
-
-    public ChannelHandler getDecoder() {
-        return decoders.isEmpty() ? null : decoders.get(0);
-    }
-
-    /**
-     * A custom ChannelHandler class that can be used to perform special marshalling of inbound payloads.
-     */
-    public void setDecoder(ChannelHandler decoder) {
-        if (!decoders.contains(decoder)) {
-            decoders.add(decoder);
-        }
-    }
-
     public boolean isDisconnect() {
         return disconnect;
     }
@@ -500,22 +466,6 @@ public class NettyConfiguration extends NettyServerBootstrapConfiguration implem
         this.allowDefaultCodec = allowDefaultCodec;
     }
 
-    /**
-     * @deprecated use #setClientInitializerFactory
-     */
-    @Deprecated
-    public void setClientPipelineFactory(ClientInitializerFactory clientPipelineFactory) {
-        this.clientInitializerFactory = clientPipelineFactory;
-    }
-
-    /**
-     * @deprecated use #getClientInitializerFactory
-     */
-    @Deprecated
-    public ClientInitializerFactory getClientPipelineFactory() {
-        return clientInitializerFactory;
-    }
-
     public ClientInitializerFactory getClientInitializerFactory() {
         return clientInitializerFactory;
     }
diff --git a/components/camel-netty4/src/main/java/org/apache/camel/component/netty4/NettyServerBootstrapConfiguration.java b/components/camel-netty4/src/main/java/org/apache/camel/component/netty4/NettyServerBootstrapConfiguration.java
index 2e9c7af..4eea5af 100644
--- a/components/camel-netty4/src/main/java/org/apache/camel/component/netty4/NettyServerBootstrapConfiguration.java
+++ b/components/camel-netty4/src/main/java/org/apache/camel/component/netty4/NettyServerBootstrapConfiguration.java
@@ -78,10 +78,6 @@ public class NettyServerBootstrapConfiguration implements Cloneable {
     @UriParam(label = "consumer,security")
     protected boolean needClientAuth;
     @UriParam(label = "security")
-    protected File keyStoreFile;
-    @UriParam(label = "security")
-    protected File trustStoreFile;
-    @UriParam(label = "security")
     protected String keyStoreResource;
     @UriParam(label = "security")
     protected String trustStoreResource;
@@ -334,32 +330,6 @@ public class NettyServerBootstrapConfiguration implements Cloneable {
         this.needClientAuth = needClientAuth;
     }
 
-    @Deprecated
-    public File getKeyStoreFile() {
-        return keyStoreFile;
-    }
-
-    /**
-     * Client side certificate keystore to be used for encryption
-     */
-    @Deprecated
-    public void setKeyStoreFile(File keyStoreFile) {
-        this.keyStoreFile = keyStoreFile;
-    }
-
-    @Deprecated
-    public File getTrustStoreFile() {
-        return trustStoreFile;
-    }
-
-    /**
-     * Server side certificate keystore to be used for encryption
-     */
-    @Deprecated
-    public void setTrustStoreFile(File trustStoreFile) {
-        this.trustStoreFile = trustStoreFile;
-    }
-
     public String getKeyStoreResource() {
         return keyStoreResource;
     }
@@ -417,22 +387,6 @@ public class NettyServerBootstrapConfiguration implements Cloneable {
         this.passphrase = passphrase;
     }
 
-    /**
-     * @deprecated use #getServerInitializerFactory
-     */
-    @Deprecated
-    public ServerInitializerFactory getServerPipelineFactory() {
-        return serverInitializerFactory;
-    }
-
-    /**
-     * @deprecated use #setServerInitializerFactory
-     */
-    @Deprecated
-    public void setServerPipelineFactory(ServerInitializerFactory serverPipelineFactory) {
-        this.serverInitializerFactory = serverPipelineFactory;
-    }
-
     public ServerInitializerFactory getServerInitializerFactory() {
         return serverInitializerFactory;
     }
@@ -616,10 +570,6 @@ public class NettyServerBootstrapConfiguration implements Cloneable {
             isCompatible = false;
         } else if (needClientAuth != other.needClientAuth) {
             isCompatible = false;
-        } else if (keyStoreFile != other.keyStoreFile) {
-            isCompatible = false;
-        } else if (trustStoreFile != other.trustStoreFile) {
-            isCompatible = false;
         } else if (keyStoreResource != null && !keyStoreResource.equals(other.keyStoreResource)) {
             isCompatible = false;
         } else if (trustStoreResource != null && !trustStoreResource.equals(other.trustStoreResource)) {
@@ -669,8 +619,6 @@ public class NettyServerBootstrapConfiguration implements Cloneable {
                 + ", sslContextParameters='" + sslContextParameters + '\''
                 + ", needClientAuth=" + needClientAuth
                 + ", enabledProtocols='" + enabledProtocols
-                + ", keyStoreFile=" + keyStoreFile
-                + ", trustStoreFile=" + trustStoreFile
                 + ", keyStoreResource='" + keyStoreResource + '\''
                 + ", trustStoreResource='" + trustStoreResource + '\''
                 + ", keyStoreFormat='" + keyStoreFormat + '\''
diff --git a/components/camel-netty4/src/main/java/org/apache/camel/component/netty4/util/SubnetUtils.java b/components/camel-netty4/src/main/java/org/apache/camel/component/netty4/util/SubnetUtils.java
index b5b43ed..9df9693 100644
--- a/components/camel-netty4/src/main/java/org/apache/camel/component/netty4/util/SubnetUtils.java
+++ b/components/camel-netty4/src/main/java/org/apache/camel/component/netty4/util/SubnetUtils.java
@@ -64,7 +64,7 @@ public class SubnetUtils {
 
 
     /**
-     * Returns <code>true</code> if the return value of {@link SubnetInfo#getAddressCount()}
+     * Returns <code>true</code> if the return value of {@link SubnetInfo#getAddressCountLong()}
      * includes the network and broadcast addresses.
      * @since 2.2
      * @return true if the hostcount includes the network and broadcast addresses
@@ -74,7 +74,7 @@ public class SubnetUtils {
     }
 
     /**
-     * Set to <code>true</code> if you want the return value of {@link SubnetInfo#getAddressCount()}
+     * Set to <code>true</code> if you want the return value of {@link SubnetInfo#getAddressCountLong()}
      * to include the network and broadcast addresses.
      * @param inclusiveHostCount true if network and broadcast addresses are to be included
      * @since 2.2
@@ -190,23 +190,6 @@ public class SubnetUtils {
          * Get the count of available addresses.
          * Will be zero for CIDR/31 and CIDR/32 if the inclusive flag is false.
          * @return the count of addresses, may be zero.
-         * @throws RuntimeException if the correct count is greater than {@code Integer.MAX_VALUE}
-         * @deprecated use {@link #getAddressCountLong()} instead
-         */
-        @Deprecated
-        public int getAddressCount() {
-            long countLong = getAddressCountLong();
-            if (countLong > Integer.MAX_VALUE) {
-                throw new RuntimeException("Count is larger than an integer: " + countLong);
-            }
-            // N.B. cannot be negative
-            return (int)countLong;
-        }
-
-        /**
-         * Get the count of available addresses.
-         * Will be zero for CIDR/31 and CIDR/32 if the inclusive flag is false.
-         * @return the count of addresses, may be zero.
          */
         public long getAddressCountLong() {
             long b = broadcastLong();
@@ -227,8 +210,8 @@ public class SubnetUtils {
         }
 
         public String[] getAllAddresses() {
-            int ct = getAddressCount();
-            String[] addresses = new String[ct];
+            long ct = getAddressCountLong();
+            String[] addresses = new String[(int) ct];
             if (ct == 0) {
                 return addresses;
             }
@@ -253,7 +236,7 @@ public class SubnetUtils {
                 .append("Broadcast:\t[").append(getBroadcastAddress()).append("]\n")
                  .append("First Address:\t[").append(getLowAddress()).append("]\n")
                  .append("Last Address:\t[").append(getHighAddress()).append("]\n")
-                 .append("# Addresses:\t[").append(getAddressCount()).append("]\n");
+                 .append("# Addresses:\t[").append(getAddressCountLong()).append("]\n");
             return buf.toString();
         }
     }
diff --git a/components/camel-netty4/src/test/java/org/apache/camel/component/netty4/NettyManualEndpointTest.java b/components/camel-netty4/src/test/java/org/apache/camel/component/netty4/NettyManualEndpointTest.java
index 031aee3..5bd9f08 100644
--- a/components/camel-netty4/src/test/java/org/apache/camel/component/netty4/NettyManualEndpointTest.java
+++ b/components/camel-netty4/src/test/java/org/apache/camel/component/netty4/NettyManualEndpointTest.java
@@ -54,7 +54,9 @@ public class NettyManualEndpointTest extends BaseNettyTest {
                 nettyConfig.setSync(false);
 
                 // need to add encoders and decoders manually
-                nettyConfig.setEncoder(ChannelHandlerFactories.newStringEncoder(CharsetUtil.UTF_8, "tcp"));
+                List<ChannelHandler> encoders = new ArrayList<>();
+                encoders.add(ChannelHandlerFactories.newStringEncoder(CharsetUtil.UTF_8, "tcp"));
+                nettyConfig.setEncoders(encoders);
                 List<ChannelHandler> decoders = new ArrayList<>();
                 decoders.add(ChannelHandlerFactories.newDelimiterBasedFrameDecoder(1000, Delimiters.lineDelimiter(), "tcp"));
                 decoders.add(ChannelHandlerFactories.newStringDecoder(CharsetUtil.UTF_8, "tcp"));
diff --git a/components/camel-paho/src/main/java/org/apache/camel/component/paho/PahoConstants.java b/components/camel-paho/src/main/java/org/apache/camel/component/paho/PahoConstants.java
index 598469e..0afe622 100644
--- a/components/camel-paho/src/main/java/org/apache/camel/component/paho/PahoConstants.java
+++ b/components/camel-paho/src/main/java/org/apache/camel/component/paho/PahoConstants.java
@@ -28,8 +28,6 @@ public final class PahoConstants {
     public static final String DEFAULT_BROKER_URL = "tcp://localhost:1883";
     public static final int DEFAULT_QOS = 2;
 
-    @Deprecated
-    public static final String HEADER_ORIGINAL_MESSAGE = "PahoOriginalMessage";
     public static final String CAMEL_PAHO = "CamelPaho";
     public static final String CAMEL_PAHO_MSG_QOS = CAMEL_PAHO + "Qos";
     public static final String CAMEL_PAHO_MSG_RETAINED = CAMEL_PAHO + "Retained";
diff --git a/components/camel-paxlogging/src/main/java/org/apache/camel/component/paxlogging/PaxLoggingEndpoint.java b/components/camel-paxlogging/src/main/java/org/apache/camel/component/paxlogging/PaxLoggingEndpoint.java
index 33156d0..91a7d76 100644
--- a/components/camel-paxlogging/src/main/java/org/apache/camel/component/paxlogging/PaxLoggingEndpoint.java
+++ b/components/camel-paxlogging/src/main/java/org/apache/camel/component/paxlogging/PaxLoggingEndpoint.java
@@ -47,14 +47,6 @@ public class PaxLoggingEndpoint extends DefaultEndpoint {
         return appender;
     }
 
-    /**
-     * @deprecated use {@link #getAppender()}
-     */
-    @Deprecated
-    public String getName() {
-        return getAppender();
-    }
-
     public PaxLoggingComponent getComponent() {
         return (PaxLoggingComponent) super.getComponent();
     }
diff --git a/components/camel-quickfix/src/main/java/org/apache/camel/component/quickfixj/QuickfixjEngine.java b/components/camel-quickfix/src/main/java/org/apache/camel/component/quickfixj/QuickfixjEngine.java
index 24fab6e..a22dd31 100644
--- a/components/camel-quickfix/src/main/java/org/apache/camel/component/quickfixj/QuickfixjEngine.java
+++ b/components/camel-quickfix/src/main/java/org/apache/camel/component/quickfixj/QuickfixjEngine.java
@@ -106,49 +106,15 @@ public class QuickfixjEngine extends ServiceSupport {
         ThreadPerConnector, ThreadPerSession;
     }
 
-    /**
-     * @deprecated Better make use of the {@link #QuickfixjEngine(String, String)} constructor
-     *             as the {@code forcedShutdown} paramater had/has no effect.
-     */
-    @Deprecated
-    public QuickfixjEngine(String uri, String settingsResourceName, boolean forcedShutdown)
-        throws ConfigError, FieldConvertError, IOException, JMException {
-
-        this(uri, settingsResourceName, forcedShutdown, null, null, null);
-    }
-
     public QuickfixjEngine(String uri, String settingsResourceName) throws ConfigError, FieldConvertError, IOException, JMException {
         this(uri, settingsResourceName, null, null, null);
     }
 
-    /**
-     * @deprecated Better make use of the {@link #QuickfixjEngine(String, String, MessageStoreFactory, LogFactory, MessageFactory)} constructor
-     *             as the {@code forcedShutdown} paramater had/has no effect.
-     */
-    @Deprecated
-    public QuickfixjEngine(String uri, String settingsResourceName, boolean forcedShutdown,
-            MessageStoreFactory messageStoreFactoryOverride, LogFactory sessionLogFactoryOverride,
-            MessageFactory messageFactoryOverride) throws ConfigError, FieldConvertError, IOException, JMException {
-        this(uri, loadSettings(settingsResourceName), forcedShutdown, messageStoreFactoryOverride,
-                sessionLogFactoryOverride, messageFactoryOverride);
-    }
-
     public QuickfixjEngine(String uri, String settingsResourceName, MessageStoreFactory messageStoreFactoryOverride, LogFactory sessionLogFactoryOverride,
                            MessageFactory messageFactoryOverride) throws ConfigError, FieldConvertError, IOException, JMException {
         this(uri, loadSettings(settingsResourceName), messageStoreFactoryOverride, sessionLogFactoryOverride, messageFactoryOverride);
     }
 
-    /**
-     * @deprecated Better make use of the {@link #QuickfixjEngine(String, SessionSettings, MessageStoreFactory, LogFactory, MessageFactory)} constructor
-     *             as the {@code forcedShutdown} paramater had/has no effect.
-     */
-    @Deprecated
-    public QuickfixjEngine(String uri, SessionSettings settings, boolean forcedShutdown,
-            MessageStoreFactory messageStoreFactoryOverride, LogFactory sessionLogFactoryOverride,
-            MessageFactory messageFactoryOverride) throws ConfigError, FieldConvertError, IOException, JMException {
-        this(uri, settings, messageStoreFactoryOverride, sessionLogFactoryOverride, messageFactoryOverride);
-    }
-
     public QuickfixjEngine(String uri, SessionSettings settings, MessageStoreFactory messageStoreFactoryOverride, LogFactory sessionLogFactoryOverride,
                            MessageFactory messageFactoryOverride) throws ConfigError, FieldConvertError, IOException, JMException {
         this(uri, settings, messageStoreFactoryOverride, sessionLogFactoryOverride, messageFactoryOverride, false);
diff --git a/components/camel-quickfix/src/test/java/org/apache/camel/component/quickfixj/QuickfixjSpringTest.java b/components/camel-quickfix/src/test/java/org/apache/camel/component/quickfixj/QuickfixjSpringTest.java
index 7b3ca59..b6eef41 100644
--- a/components/camel-quickfix/src/test/java/org/apache/camel/component/quickfixj/QuickfixjSpringTest.java
+++ b/components/camel-quickfix/src/test/java/org/apache/camel/component/quickfixj/QuickfixjSpringTest.java
@@ -39,10 +39,6 @@ public class QuickfixjSpringTest extends CamelSpringTestSupport {
     @Override
     @Before
     public void setUp() throws Exception {
-        if (isJava16()) {
-            // cannot test on java 1.6
-            return;
-        }
         super.setUp();
     }
 
@@ -53,11 +49,6 @@ public class QuickfixjSpringTest extends CamelSpringTestSupport {
 
     @Test
     public void configureInSpring() throws Exception {
-        if (isJava16()) {
-            // cannot test on java 1.6
-            return;
-        }
-
         SessionID sessionID = new SessionID("FIX.4.2:INITIATOR->ACCEPTOR");
         QuickfixjConfiguration configuration = context.getRegistry().lookupByNameAndType("quickfixjConfiguration", QuickfixjConfiguration.class);
 
diff --git a/components/camel-saxon/src/main/java/org/apache/camel/component/xquery/XQueryBuilder.java b/components/camel-saxon/src/main/java/org/apache/camel/component/xquery/XQueryBuilder.java
index e94ed64..19a18c5 100644
--- a/components/camel-saxon/src/main/java/org/apache/camel/component/xquery/XQueryBuilder.java
+++ b/components/camel-saxon/src/main/java/org/apache/camel/component/xquery/XQueryBuilder.java
@@ -229,21 +229,6 @@ public abstract class XQueryBuilder implements Expression, Predicate, NamespaceA
         }
     }
 
-    @Deprecated
-    public void assertMatches(String text, Exchange exchange) throws AssertionError {
-        List<?> list;
-
-        try {
-            list = evaluateAsList(exchange);
-        } catch (Exception e) {
-            throw new AssertionError(e);
-        }
-
-        if (!matches(exchange, list)) {
-            throw new AssertionError(this + " failed on " + exchange + " as evaluated: " + list);
-        }
-    }
-
     // Static helper methods
     //-------------------------------------------------------------------------
     public static XQueryBuilder xquery(final String queryText) {
diff --git a/components/camel-servlet/src/main/java/org/apache/camel/component/servlet/ServletComponent.java b/components/camel-servlet/src/main/java/org/apache/camel/component/servlet/ServletComponent.java
index 49f16c6..bf494e8 100644
--- a/components/camel-servlet/src/main/java/org/apache/camel/component/servlet/ServletComponent.java
+++ b/components/camel-servlet/src/main/java/org/apache/camel/component/servlet/ServletComponent.java
@@ -114,7 +114,7 @@ public class ServletComponent extends HttpCommonComponent implements RestConsume
             binding = getHttpBinding();
         }
         if (binding != null) {
-            endpoint.setBinding(binding);
+            endpoint.setHttpBinding(binding);
         }
         // should we use an exception for failed error codes?
         if (throwExceptionOnFailure != null) {
diff --git a/components/camel-servlet/src/test/java/org/apache/camel/component/servlet/ServletTransferExceptionTest.java b/components/camel-servlet/src/test/java/org/apache/camel/component/servlet/ServletTransferExceptionTest.java
index db91f6c..4b6e18e 100644
--- a/components/camel-servlet/src/test/java/org/apache/camel/component/servlet/ServletTransferExceptionTest.java
+++ b/components/camel-servlet/src/test/java/org/apache/camel/component/servlet/ServletTransferExceptionTest.java
@@ -41,7 +41,7 @@ public class ServletTransferExceptionTest extends ServletCamelRouterTestSupport
 
         assertEquals(500, response.getResponseCode());
         assertEquals(HttpConstants.CONTENT_TYPE_JAVA_SERIALIZED_OBJECT, response.getContentType());
-        Object object = HttpHelper.deserializeJavaObjectFromStream(response.getInputStream());
+        Object object = HttpHelper.deserializeJavaObjectFromStream(response.getInputStream(), null);
         assertNotNull(object);
 
         IllegalArgumentException cause = assertIsInstanceOf(IllegalArgumentException.class, object);
diff --git a/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/SjmsConsumer.java b/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/SjmsConsumer.java
index ef56529..f86454a 100644
--- a/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/SjmsConsumer.java
+++ b/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/SjmsConsumer.java
@@ -247,14 +247,6 @@ public class SjmsConsumer extends DefaultConsumer {
         return messageHandler;
     }
 
-    /**
-     * @deprecated use {@link #getOrCreateConnectionResource()}
-     */
-    @Deprecated
-    protected ConnectionResource getConnectionResource() {
-        return getEndpoint().getConnectionResource();
-    }
-
     protected ConnectionResource getOrCreateConnectionResource() {
         ConnectionResource answer = getEndpoint().getConnectionResource();
         if (answer == null) {
diff --git a/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/SjmsEndpoint.java b/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/SjmsEndpoint.java
index e7455b2..85fae41 100644
--- a/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/SjmsEndpoint.java
+++ b/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/SjmsEndpoint.java
@@ -97,8 +97,6 @@ public class SjmsEndpoint extends DefaultEndpoint implements AsyncEndpoint, Mult
     @UriParam(defaultValue = "AUTO_ACKNOWLEDGE", enums = "SESSION_TRANSACTED,CLIENT_ACKNOWLEDGE,AUTO_ACKNOWLEDGE,DUPS_OK_ACKNOWLEDGE",
             description = "The JMS acknowledgement name, which is one of: SESSION_TRANSACTED, CLIENT_ACKNOWLEDGE, AUTO_ACKNOWLEDGE, DUPS_OK_ACKNOWLEDGE")
     private SessionAcknowledgementType acknowledgementMode = SessionAcknowledgementType.AUTO_ACKNOWLEDGE;
-    @Deprecated
-    private int sessionCount = 1;
     @UriParam(label = "producer", defaultValue = "1",
             description = "Sets the number of producers used for this endpoint.")
     private int producerCount = 1;
@@ -397,26 +395,6 @@ public class SjmsEndpoint extends DefaultEndpoint implements AsyncEndpoint, Mult
         return topic;
     }
 
-    /**
-     * Returns the number of Session instances expected on this endpoint.
-     */
-    @Deprecated
-    public int getSessionCount() {
-        return sessionCount;
-    }
-
-    /**
-     * Sets the number of Session instances used for this endpoint. Value is
-     * ignored for endpoints that require a dedicated session such as a
-     * transacted or InOut endpoint.
-     *
-     * @param sessionCount the number of Session instances, default is 1
-     */
-    @Deprecated
-    public void setSessionCount(int sessionCount) {
-        this.sessionCount = sessionCount;
-    }
-
     public int getProducerCount() {
         return producerCount;
     }
diff --git a/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/SjmsProducer.java b/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/SjmsProducer.java
index cc2658b..384edff 100644
--- a/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/SjmsProducer.java
+++ b/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/SjmsProducer.java
@@ -273,14 +273,6 @@ public abstract class SjmsProducer extends DefaultAsyncProducer {
         return isSynchronous();
     }
 
-    /**
-     * @deprecated use {@link #getOrCreateConnectionResource()}
-     */
-    @Deprecated
-    protected ConnectionResource getConnectionResource() {
-        return getEndpoint().getConnectionResource();
-    }
-
     protected ConnectionResource getOrCreateConnectionResource() {
         ConnectionResource answer = getEndpoint().getConnectionResource();
         if (answer == null) {
diff --git a/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/producer/InOnlyProducer.java b/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/producer/InOnlyProducer.java
index 6becbdd..aa3f472 100644
--- a/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/producer/InOnlyProducer.java
+++ b/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/producer/InOnlyProducer.java
@@ -26,7 +26,6 @@ import org.apache.camel.AsyncCallback;
 import org.apache.camel.CamelExchangeException;
 import org.apache.camel.Endpoint;
 import org.apache.camel.Exchange;
-import org.apache.camel.component.sjms.BatchMessage;
 import org.apache.camel.component.sjms.MessageProducerResources;
 import org.apache.camel.component.sjms.SjmsProducer;
 import org.apache.camel.component.sjms.TransactionCommitStrategy;
@@ -57,13 +56,7 @@ public class InOnlyProducer extends SjmsProducer {
                 if (exchange.getIn().getBody() instanceof List) {
                     Iterable<?> payload = (Iterable<?>) exchange.getIn().getBody();
                     for (final Object object : payload) {
-                        Message message;
-                        if (BatchMessage.class.isInstance(object)) {
-                            BatchMessage<?> batchMessage = (BatchMessage<?>) object;
-                            message = getEndpoint().getBinding().makeJmsMessage(exchange, batchMessage.getPayload(), batchMessage.getHeaders(), producer.getSession(), null);
-                        } else {
-                            message = getEndpoint().getBinding().makeJmsMessage(exchange, object, exchange.getIn().getHeaders(), producer.getSession(), null);
-                        }
+                        Message message = getEndpoint().getBinding().makeJmsMessage(exchange, object, exchange.getIn().getHeaders(), producer.getSession(), null);
                         messages.add(message);
                     }
                 } else {
diff --git a/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/BatchMessage.java b/components/camel-sjms/src/test/java/org/apache/camel/component/sjms/tx/BatchMessage.java
similarity index 95%
rename from components/camel-sjms/src/main/java/org/apache/camel/component/sjms/BatchMessage.java
rename to components/camel-sjms/src/test/java/org/apache/camel/component/sjms/tx/BatchMessage.java
index 6a8eec4..39997b4 100644
--- a/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/BatchMessage.java
+++ b/components/camel-sjms/src/test/java/org/apache/camel/component/sjms/tx/BatchMessage.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.camel.component.sjms;
+package org.apache.camel.component.sjms.tx;
 
 import java.util.List;
 import java.util.Map;
@@ -25,10 +25,7 @@ import java.util.Map;
  * <p/>
  * <b>Important:</b> This BatchMessage is only supported by <tt>InOnly</tt> messaging style
  * (eg you cannot do request/reply with this BatchMessage)
- *
- * @deprecated do not use, its being removed in a future Camel release
  */
-@Deprecated
 public class BatchMessage<T> {
     private T payload;
     private Map<String, Object> headers;
diff --git a/components/camel-sjms/src/test/java/org/apache/camel/component/sjms/tx/BatchTransactedProducerSupport.java b/components/camel-sjms/src/test/java/org/apache/camel/component/sjms/tx/BatchTransactedProducerSupport.java
index 6b31765..9e19ac4 100644
--- a/components/camel-sjms/src/test/java/org/apache/camel/component/sjms/tx/BatchTransactedProducerSupport.java
+++ b/components/camel-sjms/src/test/java/org/apache/camel/component/sjms/tx/BatchTransactedProducerSupport.java
@@ -27,7 +27,6 @@ import org.apache.camel.CamelContext;
 import org.apache.camel.Exchange;
 import org.apache.camel.Processor;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.sjms.BatchMessage;
 import org.apache.camel.component.sjms.SjmsComponent;
 import org.apache.camel.test.junit4.CamelTestSupport;
 
diff --git a/components/camel-sjms/src/test/java/org/apache/camel/component/sjms/tx/BatchTransactedQueueProducerTest.java b/components/camel-sjms/src/test/java/org/apache/camel/component/sjms/tx/BatchTransactedQueueProducerTest.java
index fe40725..75c6bb2 100644
--- a/components/camel-sjms/src/test/java/org/apache/camel/component/sjms/tx/BatchTransactedQueueProducerTest.java
+++ b/components/camel-sjms/src/test/java/org/apache/camel/component/sjms/tx/BatchTransactedQueueProducerTest.java
@@ -16,7 +16,6 @@
  */
 package org.apache.camel.component.sjms.tx;
 
-import org.apache.camel.component.sjms.BatchMessage;
 import org.junit.Test;
 
 /**
diff --git a/components/camel-sjms/src/test/java/org/apache/camel/component/sjms/tx/BatchTransactedTopicProducerTest.java b/components/camel-sjms/src/test/java/org/apache/camel/component/sjms/tx/BatchTransactedTopicProducerTest.java
index c494973..aeaf69c 100644
--- a/components/camel-sjms/src/test/java/org/apache/camel/component/sjms/tx/BatchTransactedTopicProducerTest.java
+++ b/components/camel-sjms/src/test/java/org/apache/camel/component/sjms/tx/BatchTransactedTopicProducerTest.java
@@ -16,7 +16,6 @@
  */
 package org.apache.camel.component.sjms.tx;
 
-import org.apache.camel.component.sjms.BatchMessage;
 import org.junit.Test;
 
 /**
diff --git a/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/AbstractSmppCommand.java b/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/AbstractSmppCommand.java
index 6884b38..4cdd780 100644
--- a/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/AbstractSmppCommand.java
+++ b/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/AbstractSmppCommand.java
@@ -91,52 +91,6 @@ public abstract class AbstractSmppCommand implements SmppCommand {
         return optParams;
     }
 
-    /**
-     * @deprecated will be removed in Camel 2.13.0/3.0.0 - use createOptionalParametersByCode instead
-     * @param optinalParamaters
-     * @return
-     */
-    @Deprecated
-    @SuppressWarnings({ "rawtypes", "unchecked" })
-    protected List<OptionalParameter> createOptionalParametersByName(Map<String, String> optinalParamaters) {
-        List<OptionalParameter> optParams = new ArrayList<>();
-
-        for (Entry<String, String> entry : optinalParamaters.entrySet()) {
-            OptionalParameter optParam = null;
-
-            String value = entry.getValue();
-            try {
-                Tag tag = Tag.valueOf(entry.getKey());
-                Class type = determineTypeClass(tag);
-
-                Set<Class> ancestorClasses = new HashSet<>(2);
-                Class superclass = type.getSuperclass();
-                ancestorClasses.add(superclass);
-                if (superclass != Object.class) {
-                    ancestorClasses.add(superclass.getSuperclass());
-                }
-                if (ancestorClasses.contains(OctetString.class)) {
-                    optParam = (OptionalParameter) type.getConstructor(byte[].class).newInstance(value.getBytes());
-                } else if (ancestorClasses.contains(OptionalParameter.Byte.class)) {
-                    Byte byteValue = (value == null) ? 0 : Byte.valueOf(value); // required because jsmpp 2.1.1 interpreted null as 0
-                    optParam = (OptionalParameter) type.getConstructor(byte.class).newInstance(byteValue);
-                } else if (ancestorClasses.contains(OptionalParameter.Int.class)) {
-                    Integer intValue = (value == null) ? 0 : Integer.valueOf(value); // required because jsmpp 2.1.1 interpreted null as 0
-                    optParam = (OptionalParameter) type.getConstructor(int.class).newInstance(intValue);
-                } else if (ancestorClasses.contains(OptionalParameter.Short.class)) {
-                    Short shortValue = (value == null) ? 0 : Short.valueOf(value); // required because jsmpp 2.1.1 interpreted null as 0
-                    optParam = (OptionalParameter) type.getConstructor(short.class).newInstance(shortValue);
-                }
-
-                optParams.add(optParam);
-            } catch (Exception e) {
-                log.info("Couldn't determine optional parameter for key {} and value {}. Skip this one.", entry.getKey(), value);
-            }
-        }
-
-        return optParams;
-    }
-
     @SuppressWarnings("unchecked")
     protected Class<? extends OptionalParameter> determineTypeClass(Tag tag) throws SecurityException, NoSuchFieldException, IllegalArgumentException, IllegalAccessException {
         // we have to use reflection because the type field is private
diff --git a/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppDataSmCommand.java b/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppDataSmCommand.java
index 087a1ce..1418a24 100644
--- a/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppDataSmCommand.java
+++ b/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppDataSmCommand.java
@@ -196,18 +196,12 @@ public class SmppDataSmCommand extends AbstractSmppCommand {
             dataSm.setRegisteredDelivery(config.getRegisteredDelivery());
         }
 
-        Map<java.lang.Short, Object> optinalParamater = in.getHeader(SmppConstants.OPTIONAL_PARAMETER, Map.class);
-        if (optinalParamater != null) {
-            List<OptionalParameter> optParams = createOptionalParametersByCode(optinalParamater);
+        Map<java.lang.Short, Object> optionalParameter = in.getHeader(SmppConstants.OPTIONAL_PARAMETER, Map.class);
+        if (optionalParameter != null) {
+            List<OptionalParameter> optParams = createOptionalParametersByCode(optionalParameter);
             dataSm.setOptionalParameters(optParams.toArray(new OptionalParameter[optParams.size()]));
         } else {
-            Map<String, String> optinalParamaters = in.getHeader(SmppConstants.OPTIONAL_PARAMETERS, Map.class);
-            if (optinalParamaters != null) {
-                List<OptionalParameter> optParams = createOptionalParametersByName(optinalParamaters);
-                dataSm.setOptionalParameters(optParams.toArray(new OptionalParameter[optParams.size()]));
-            } else {
-                dataSm.setOptionalParameters();
-            }
+            dataSm.setOptionalParameters();
         }
 
         return dataSm;
diff --git a/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppSubmitMultiCommand.java b/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppSubmitMultiCommand.java
index b348d45..81302cd 100644
--- a/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppSubmitMultiCommand.java
+++ b/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppSubmitMultiCommand.java
@@ -252,13 +252,7 @@ public class SmppSubmitMultiCommand extends SmppSmCommand {
             List<OptionalParameter> optParams = createOptionalParametersByCode(optinalParamater);
             submitMulti.setOptionalParameters(optParams.toArray(new OptionalParameter[optParams.size()]));
         } else {
-            Map<String, String> optinalParamaters = in.getHeader(SmppConstants.OPTIONAL_PARAMETERS, Map.class);
-            if (optinalParamaters != null) {
-                List<OptionalParameter> optParams = createOptionalParametersByName(optinalParamaters);
-                submitMulti.setOptionalParameters(optParams.toArray(new OptionalParameter[optParams.size()]));
-            } else {
-                submitMulti.setOptionalParameters(new OptionalParameter[]{});
-            }
+            submitMulti.setOptionalParameters(new OptionalParameter[]{});
         }
 
         return submitMulti;
diff --git a/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppSubmitSmCommand.java b/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppSubmitSmCommand.java
index d9cdee7..9202136 100644
--- a/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppSubmitSmCommand.java
+++ b/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppSubmitSmCommand.java
@@ -212,13 +212,7 @@ public class SmppSubmitSmCommand extends SmppSmCommand {
             List<OptionalParameter> optParams = createOptionalParametersByCode(optinalParamater);
             submitSm.setOptionalParameters(optParams.toArray(new OptionalParameter[optParams.size()]));
         } else {
-            Map<String, String> optinalParamaters = in.getHeader(SmppConstants.OPTIONAL_PARAMETERS, Map.class);
-            if (optinalParamaters != null) {
-                List<OptionalParameter> optParams = createOptionalParametersByName(optinalParamaters);
-                submitSm.setOptionalParameters(optParams.toArray(new OptionalParameter[optParams.size()]));
-            } else {
-                submitSm.setOptionalParameters();
-            }
+            submitSm.setOptionalParameters();
         }
 
         return submitSm;
diff --git a/components/camel-snmp/src/main/java/org/apache/camel/component/snmp/SnmpEndpoint.java b/components/camel-snmp/src/main/java/org/apache/camel/component/snmp/SnmpEndpoint.java
index e72c9ed..ef9a174 100644
--- a/components/camel-snmp/src/main/java/org/apache/camel/component/snmp/SnmpEndpoint.java
+++ b/components/camel-snmp/src/main/java/org/apache/camel/component/snmp/SnmpEndpoint.java
@@ -149,17 +149,6 @@ public class SnmpEndpoint extends DefaultPollingEndpoint {
         return exchange;
     }
 
-    /**
-     * creates and configures the endpoint
-     *
-     * @throws Exception if unable to setup connection
-     * @deprecated use {@link #start()} instead
-     */
-    @Deprecated
-    public void initiate() throws Exception {
-        // noop
-    }
-
     public long getDelay() {
         return delay;
     }
diff --git a/components/camel-spring-batch/src/main/java/org/apache/camel/component/spring/batch/SpringBatchEndpoint.java b/components/camel-spring-batch/src/main/java/org/apache/camel/component/spring/batch/SpringBatchEndpoint.java
index e54d5e7..3bbc7c5 100644
--- a/components/camel-spring-batch/src/main/java/org/apache/camel/component/spring/batch/SpringBatchEndpoint.java
+++ b/components/camel-spring-batch/src/main/java/org/apache/camel/component/spring/batch/SpringBatchEndpoint.java
@@ -45,13 +45,6 @@ public class SpringBatchEndpoint extends DefaultEndpoint {
     @UriParam
     private boolean jobFromHeader;
 
-    /**
-     * @deprecated will be removed in Camel 3.0
-     * use jobLauncher instead
-     */
-    @Deprecated
-    private String jobLauncherRef;
-
     @UriParam
     private JobLauncher jobLauncher;
 
@@ -104,14 +97,6 @@ public class SpringBatchEndpoint extends DefaultEndpoint {
     }
 
     private JobLauncher resolveJobLauncher() {
-        if (jobLauncherRef != null) {
-            JobLauncher jobLauncher = getCamelContext().getRegistry().lookupByNameAndType(jobLauncherRef, JobLauncher.class);
-            if (jobLauncher == null) {
-                throw new IllegalStateException(String.format("No JobLauncher named %s found in the registry.", jobLauncherRef));
-            }
-            return jobLauncher;
-        }
-
         if (defaultResolvedJobLauncher != null) {
             return defaultResolvedJobLauncher;
         }
@@ -136,19 +121,6 @@ public class SpringBatchEndpoint extends DefaultEndpoint {
         this.jobName = jobName;
     }
 
-    @Deprecated
-    public String getJobLauncherRef() {
-        return jobLauncherRef;
-    }
-
-    /**
-     * Explicitly specifies a JobLauncher to be used looked up from the registry.
-     */
-    @Deprecated
-    public void setJobLauncherRef(String jobLauncherRef) {
-        this.jobLauncherRef = jobLauncherRef;
-    }
-
     public JobLauncher getJobLauncher() {
         return jobLauncher;
     }
diff --git a/components/camel-spring-boot/src/main/docs/spring-boot.adoc b/components/camel-spring-boot/src/main/docs/spring-boot.adoc
index a8824e9..81acd0a 100644
--- a/components/camel-spring-boot/src/main/docs/spring-boot.adoc
+++ b/components/camel-spring-boot/src/main/docs/spring-boot.adoc
@@ -79,7 +79,7 @@ or `application.yml` file. 
 === Spring Boot Auto-Configuration
 
 
-The component supports 139 options, which are listed below.
+The component supports 137 options, which are listed below.
 
 
 
@@ -162,7 +162,6 @@ The component supports 139 options, which are listed below.
 | *camel.springboot.shutdown-routes-in-reverse-order* | Sets whether routes should be shutdown in reverse or the same order as they where started. | true | Boolean
 | *camel.springboot.shutdown-suppress-logging-on-timeout* | Whether Camel should try to suppress logging during shutdown and timeout was triggered, meaning forced shutdown is happening. And during forced shutdown we want to avoid logging errors/warnings et all in the logs as a side-effect of the forced timeout. Notice the suppress is a best effort as there may still be some logs coming from 3rd party libraries and whatnot, which Camel cannot control. This option is default false. | false [...]
 | *camel.springboot.shutdown-timeout* | Timeout in seconds to graceful shutdown Camel. | 300 | Integer
-| *camel.springboot.stream-caching* | Sets whether stream caching is enabled or not (deprecated use stream-caching-enabled instead). Default is false. | false | Boolean
 | *camel.springboot.stream-caching-any-spool-rules* | Sets whether if just any of the org.apache.camel.spi.StreamCachingStrategy.SpoolRule rules returns true then shouldSpoolCache(long) returns true, to allow spooling to disk. If this option is false, then all the org.apache.camel.spi.StreamCachingStrategy.SpoolRule must return true. The default value is false which means that all the rules must return true. | false | Boolean
 | *camel.springboot.stream-caching-buffer-size* | Sets the stream caching buffer size to use when allocating in-memory buffers used for in-memory stream caches. The default size is 4096. | 0 | Integer
 | *camel.springboot.stream-caching-enabled* | Sets whether stream caching is enabled or not. Default is false. | false | Boolean
@@ -192,7 +191,6 @@ The component supports 139 options, which are listed below.
 | *camel.springboot.type-conversion* | Enables enhanced Camel/Spring type conversion. | true | Boolean
 | *camel.springboot.use-breadcrumb* | Set whether breadcrumb is enabled. The default value is true. | true | Boolean
 | *camel.springboot.use-data-type* | Whether to enable using data type on Camel messages. Data type are automatic turned on if one ore more routes has been explicit configured with input and output types. Otherwise data type is default off. | false | Boolean
-| *camel.springboot.use-m-d-c-logging* | To turn on MDC logging (deprecated use use-mdc-logging instead) | false | Boolean
 | *camel.springboot.use-mdc-logging* | To turn on MDC logging | false | Boolean
 | *camel.springboot.xml-rests* | Directory to scan for adding additional XML rests. You can turn this off by setting the value to false. | classpath:camel-rest/*.xml | String
 | *camel.springboot.xml-routes* | Directory to scan for adding additional XML routes. You can turn this off by setting the value to false. | classpath:camel/*.xml | String
diff --git a/components/camel-spring-boot/src/main/java/org/apache/camel/spring/boot/CamelConfigurationProperties.java b/components/camel-spring-boot/src/main/java/org/apache/camel/spring/boot/CamelConfigurationProperties.java
index b69ff0b..ed360a9 100644
--- a/components/camel-spring-boot/src/main/java/org/apache/camel/spring/boot/CamelConfigurationProperties.java
+++ b/components/camel-spring-boot/src/main/java/org/apache/camel/spring/boot/CamelConfigurationProperties.java
@@ -192,14 +192,6 @@ public class CamelConfigurationProperties {
     private int logDebugMaxChars;
 
     /**
-     * Sets whether stream caching is enabled or not (deprecated use stream-caching-enabled instead).
-     *
-     * Default is false.
-     */
-    @Deprecated
-    private boolean streamCaching;
-
-    /**
      * Sets whether stream caching is enabled or not.
      *
      * Default is false.
@@ -433,12 +425,6 @@ public class CamelConfigurationProperties {
      * Tracer maximum characters in total
      */
     private Integer tracerFormatterMaxChars = 10000;
-    
-    /**
-     * To turn on MDC logging (deprecated use use-mdc-logging instead)
-     */
-    @Deprecated
-    private boolean useMDCLogging;
 
     /**
      * To turn on MDC logging
@@ -628,16 +614,6 @@ public class CamelConfigurationProperties {
         this.logDebugMaxChars = logDebugMaxChars;
     }
 
-    @Deprecated
-    public boolean isStreamCaching() {
-        return streamCachingEnabled;
-    }
-
-    @Deprecated
-    public void setStreamCaching(boolean streamCaching) {
-        this.streamCachingEnabled = streamCaching;
-    }
-
     public boolean isStreamCachingEnabled() {
         return streamCachingEnabled;
     }
@@ -950,16 +926,6 @@ public class CamelConfigurationProperties {
         this.includeNonSingletons = includeNonSingletons;
     }
 
-    @Deprecated
-    public boolean isUseMDCLogging() {
-        return isUseMdcLogging();
-    }
-
-    @Deprecated
-    public void setUseMDCLogging(boolean useMDCLogging) {
-        setUseMdcLogging(useMDCLogging);
-    }
-
     public boolean isUseMdcLogging() {
         return useMdcLogging;
     }
diff --git a/components/camel-spring-boot/src/main/java/org/apache/camel/spring/boot/CamelSpringBootApplicationController.java b/components/camel-spring-boot/src/main/java/org/apache/camel/spring/boot/CamelSpringBootApplicationController.java
index f4d71ac..a9d5a47 100644
--- a/components/camel-spring-boot/src/main/java/org/apache/camel/spring/boot/CamelSpringBootApplicationController.java
+++ b/components/camel-spring-boot/src/main/java/org/apache/camel/spring/boot/CamelSpringBootApplicationController.java
@@ -87,14 +87,6 @@ public class CamelSpringBootApplicationController {
         LOG.debug("CamelContext shutdown complete.");
     }
 
-    /**
-     * @deprecated use {@link #run()}
-     */
-    @Deprecated
-    public void blockMainThread() {
-        run();
-    }
-
     @PreDestroy
     private void destroy() {
         main.completed();
diff --git a/components/camel-spring-cloud/src/main/java/org/apache/camel/spring/cloud/CamelSpringCloudDiscoveryClient.java b/components/camel-spring-cloud/src/main/java/org/apache/camel/spring/cloud/CamelSpringCloudDiscoveryClient.java
index 725a986..ffe83a9 100644
--- a/components/camel-spring-cloud/src/main/java/org/apache/camel/spring/cloud/CamelSpringCloudDiscoveryClient.java
+++ b/components/camel-spring-cloud/src/main/java/org/apache/camel/spring/cloud/CamelSpringCloudDiscoveryClient.java
@@ -45,11 +45,6 @@ public class CamelSpringCloudDiscoveryClient implements DiscoveryClient {
         return description;
     }
 
-    @Deprecated
-    public ServiceInstance getLocalServiceInstance() {
-        return this.localInstance;
-    }
-
     @Override
     public List<ServiceInstance> getInstances(String serviceId) {
         return serviceDiscovery.getServices(serviceId).stream()
diff --git a/components/camel-spring-integration/src/main/java/org/apache/camel/component/spring/integration/SpringIntegrationEndpoint.java b/components/camel-spring-integration/src/main/java/org/apache/camel/component/spring/integration/SpringIntegrationEndpoint.java
index 117d26a..9f01b66 100644
--- a/components/camel-spring-integration/src/main/java/org/apache/camel/component/spring/integration/SpringIntegrationEndpoint.java
+++ b/components/camel-spring-integration/src/main/java/org/apache/camel/component/spring/integration/SpringIntegrationEndpoint.java
@@ -50,8 +50,8 @@ public class SpringIntegrationEndpoint extends DefaultEndpoint {
     }
 
     @Deprecated
-    public SpringIntegrationEndpoint(String uri, MessageChannel channel, CamelContext context) {
-        super(uri, context);
+    public SpringIntegrationEndpoint(String uri, MessageChannel channel) {
+        super(uri, null);
         this.messageChannel = channel;
     }
 
diff --git a/components/camel-spring-integration/src/main/java/org/apache/camel/component/spring/integration/converter/SpringIntegrationConverter.java b/components/camel-spring-integration/src/main/java/org/apache/camel/component/spring/integration/converter/SpringIntegrationConverter.java
index 88dd263..3a1a7e1 100644
--- a/components/camel-spring-integration/src/main/java/org/apache/camel/component/spring/integration/converter/SpringIntegrationConverter.java
+++ b/components/camel-spring-integration/src/main/java/org/apache/camel/component/spring/integration/converter/SpringIntegrationConverter.java
@@ -16,6 +16,7 @@
  */
 package org.apache.camel.component.spring.integration.converter;
 
+import org.apache.camel.CamelContext;
 import org.apache.camel.Converter;
 import org.apache.camel.Endpoint;
 import org.apache.camel.component.spring.integration.SpringIntegrationEndpoint;
@@ -40,7 +41,7 @@ public final class SpringIntegrationConverter {
     @Converter
     @SuppressWarnings("deprecation")
     public static Endpoint toEndpoint(final MessageChannel channel) throws Exception {
-        Endpoint answer = new SpringIntegrationEndpoint("spring-integration://" + channel.toString(), channel, null);
+        Endpoint answer = new SpringIntegrationEndpoint("spring-integration://" + channel.toString(), channel);
         return answer;
     }
 
@@ -61,7 +62,7 @@ public final class SpringIntegrationConverter {
 
     @Converter
     public static org.apache.camel.Message toCamelMessage(final org.springframework.messaging.Message<?> springMessage) throws Exception {
-        return new SpringIntegrationMessage(null, springMessage);
+        return new SpringIntegrationMessage((CamelContext) null, springMessage);
     }
 
 }
diff --git a/components/camel-spring-javaconfig/src/main/java/org/apache/camel/spring/javaconfig/Main.java b/components/camel-spring-javaconfig/src/main/java/org/apache/camel/spring/javaconfig/Main.java
index 8fc49c5..e5f548e 100644
--- a/components/camel-spring-javaconfig/src/main/java/org/apache/camel/spring/javaconfig/Main.java
+++ b/components/camel-spring-javaconfig/src/main/java/org/apache/camel/spring/javaconfig/Main.java
@@ -81,22 +81,6 @@ public class Main extends org.apache.camel.spring.Main {
         return configClasses;
     }
 
-    /**
-     * @deprecated use {@link #setConfigClasses(String)}
-     */
-    @Deprecated
-    public void setConfigClassesString(String config) {
-        setConfigClasses(config);
-    }
-
-    /**
-     * @deprecated use {@link #getConfigClasses()}
-     */
-    @Deprecated
-    public String getConfigClassesString() {
-        return getConfigClasses();
-    }
-
     public Class[] getConfigClass() {
         return configClass;
     }
diff --git a/components/camel-spring-javaconfig/src/test/java/org/apache/camel/spring/javaconfig/BeanJavaConfigTest.java b/components/camel-spring-javaconfig/src/test/java/org/apache/camel/spring/javaconfig/BeanJavaConfigTest.java
index 2f021a2..bdda10b 100644
--- a/components/camel-spring-javaconfig/src/test/java/org/apache/camel/spring/javaconfig/BeanJavaConfigTest.java
+++ b/components/camel-spring-javaconfig/src/test/java/org/apache/camel/spring/javaconfig/BeanJavaConfigTest.java
@@ -23,7 +23,7 @@ import org.apache.camel.ProducerTemplate;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
 import org.apache.camel.test.spring.CamelSpringDelegatingTestContextLoader;
-import org.apache.camel.test.spring.CamelSpringJUnit4ClassRunner;
+import org.apache.camel.test.spring.CamelSpringRunner;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.springframework.context.annotation.Bean;
@@ -32,7 +32,7 @@ import org.springframework.test.annotation.DirtiesContext;
 import org.springframework.test.context.ContextConfiguration;
 import org.springframework.test.context.junit4.AbstractJUnit4SpringContextTests;
 
-@RunWith(CamelSpringJUnit4ClassRunner.class)
+@RunWith(CamelSpringRunner.class)
 @ContextConfiguration(classes = {BeanJavaConfigTest.ContextConfig.class}, loader = CamelSpringDelegatingTestContextLoader.class)
 public class BeanJavaConfigTest extends AbstractJUnit4SpringContextTests {
 
diff --git a/components/camel-spring-javaconfig/src/test/java/org/apache/camel/spring/javaconfig/autowire/AutodetectNoRoutesConfigTest.java b/components/camel-spring-javaconfig/src/test/java/org/apache/camel/spring/javaconfig/autowire/AutodetectNoRoutesConfigTest.java
index f3b0dd9..2ca78ec 100644
--- a/components/camel-spring-javaconfig/src/test/java/org/apache/camel/spring/javaconfig/autowire/AutodetectNoRoutesConfigTest.java
+++ b/components/camel-spring-javaconfig/src/test/java/org/apache/camel/spring/javaconfig/autowire/AutodetectNoRoutesConfigTest.java
@@ -19,7 +19,7 @@ package org.apache.camel.spring.javaconfig.autowire;
 import org.apache.camel.CamelContext;
 import org.apache.camel.spring.javaconfig.CamelConfiguration;
 import org.apache.camel.test.spring.CamelSpringDelegatingTestContextLoader;
-import org.apache.camel.test.spring.CamelSpringJUnit4ClassRunner;
+import org.apache.camel.test.spring.CamelSpringRunner;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -29,7 +29,7 @@ import org.springframework.test.context.junit4.AbstractJUnit4SpringContextTests;
 
 import static org.junit.Assert.assertEquals;
 
-@RunWith(CamelSpringJUnit4ClassRunner.class)
+@RunWith(CamelSpringRunner.class)
 @ContextConfiguration(classes = {NoRoutesConfig.class}, loader = CamelSpringDelegatingTestContextLoader.class)
 public class AutodetectNoRoutesConfigTest extends AbstractJUnit4SpringContextTests {
 
diff --git a/components/camel-spring-javaconfig/src/test/java/org/apache/camel/spring/javaconfig/autowire/AutodetectingConfigTest.java b/components/camel-spring-javaconfig/src/test/java/org/apache/camel/spring/javaconfig/autowire/AutodetectingConfigTest.java
index 6300434..68d7e66 100644
--- a/components/camel-spring-javaconfig/src/test/java/org/apache/camel/spring/javaconfig/autowire/AutodetectingConfigTest.java
+++ b/components/camel-spring-javaconfig/src/test/java/org/apache/camel/spring/javaconfig/autowire/AutodetectingConfigTest.java
@@ -21,13 +21,13 @@ import org.apache.camel.Produce;
 import org.apache.camel.ProducerTemplate;
 import org.apache.camel.component.mock.MockEndpoint;
 import org.apache.camel.test.spring.CamelSpringDelegatingTestContextLoader;
-import org.apache.camel.test.spring.CamelSpringJUnit4ClassRunner;
+import org.apache.camel.test.spring.CamelSpringRunner;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.springframework.test.context.ContextConfiguration;
 import org.springframework.test.context.junit4.AbstractJUnit4SpringContextTests;
 
-@RunWith(CamelSpringJUnit4ClassRunner.class)
+@RunWith(CamelSpringRunner.class)
 @ContextConfiguration(classes = {AutowiringContextConfig.class}, loader = CamelSpringDelegatingTestContextLoader.class)
 public class AutodetectingConfigTest extends AbstractJUnit4SpringContextTests {
 
diff --git a/components/camel-spring-javaconfig/src/test/java/org/apache/camel/spring/javaconfig/patterns/FilterTest.java b/components/camel-spring-javaconfig/src/test/java/org/apache/camel/spring/javaconfig/patterns/FilterTest.java
index 55b2500..6cefb1d 100644
--- a/components/camel-spring-javaconfig/src/test/java/org/apache/camel/spring/javaconfig/patterns/FilterTest.java
+++ b/components/camel-spring-javaconfig/src/test/java/org/apache/camel/spring/javaconfig/patterns/FilterTest.java
@@ -23,7 +23,7 @@ import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
 import org.apache.camel.spring.javaconfig.SingleRouteCamelConfiguration;
 import org.apache.camel.test.spring.CamelSpringDelegatingTestContextLoader;
-import org.apache.camel.test.spring.CamelSpringJUnit4ClassRunner;
+import org.apache.camel.test.spring.CamelSpringRunner;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.springframework.context.annotation.Bean;
@@ -39,7 +39,7 @@ import org.springframework.test.context.junit4.AbstractJUnit4SpringContextTests;
  */
 // START SNIPPET: example
 // tag::example[]
-@RunWith(CamelSpringJUnit4ClassRunner.class)
+@RunWith(CamelSpringRunner.class)
 @ContextConfiguration(classes = {FilterTest.ContextConfig.class}, loader = CamelSpringDelegatingTestContextLoader.class)
 public class FilterTest extends AbstractJUnit4SpringContextTests {
 
diff --git a/components/camel-spring-javaconfig/src/test/java/org/apache/camel/spring/javaconfig/test/CamelSpringDelegatingTestContextLoaderTest.java b/components/camel-spring-javaconfig/src/test/java/org/apache/camel/spring/javaconfig/test/CamelSpringDelegatingTestContextLoaderTest.java
index 975008a..1f8a87d 100644
--- a/components/camel-spring-javaconfig/src/test/java/org/apache/camel/spring/javaconfig/test/CamelSpringDelegatingTestContextLoaderTest.java
+++ b/components/camel-spring-javaconfig/src/test/java/org/apache/camel/spring/javaconfig/test/CamelSpringDelegatingTestContextLoaderTest.java
@@ -23,7 +23,7 @@ import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
 import org.apache.camel.spring.javaconfig.SingleRouteCamelConfiguration;
 import org.apache.camel.test.spring.CamelSpringDelegatingTestContextLoader;
-import org.apache.camel.test.spring.CamelSpringJUnit4ClassRunner;
+import org.apache.camel.test.spring.CamelSpringRunner;
 import org.apache.camel.test.spring.MockEndpoints;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -37,7 +37,7 @@ import org.springframework.test.context.ContextConfiguration;
  */
 //START SNIPPET: example
 // tag::example[]
-@RunWith(CamelSpringJUnit4ClassRunner.class)
+@RunWith(CamelSpringRunner.class)
 @ContextConfiguration(
         classes = {CamelSpringDelegatingTestContextLoaderTest.TestConfig.class},
         // Since Camel 2.11.0 
diff --git a/components/camel-spring-javaconfig/src/test/java/org/apache/camel/spring/javaconfig/test/JavaConfigWithNestedConfigClassTest.java b/components/camel-spring-javaconfig/src/test/java/org/apache/camel/spring/javaconfig/test/JavaConfigWithNestedConfigClassTest.java
index d9cb757..14a9c93 100644
--- a/components/camel-spring-javaconfig/src/test/java/org/apache/camel/spring/javaconfig/test/JavaConfigWithNestedConfigClassTest.java
+++ b/components/camel-spring-javaconfig/src/test/java/org/apache/camel/spring/javaconfig/test/JavaConfigWithNestedConfigClassTest.java
@@ -17,7 +17,7 @@
 package org.apache.camel.spring.javaconfig.test;
 
 import org.apache.camel.test.spring.CamelSpringDelegatingTestContextLoader;
-import org.apache.camel.test.spring.CamelSpringJUnit4ClassRunner;
+import org.apache.camel.test.spring.CamelSpringRunner;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.springframework.context.annotation.Bean;
@@ -25,9 +25,10 @@ import org.springframework.context.annotation.Configuration;
 import org.springframework.stereotype.Component;
 import org.springframework.test.context.ContextConfiguration;
 import org.springframework.test.context.junit4.AbstractJUnit4SpringContextTests;
+
 import static org.junit.Assert.assertEquals;
 
-@RunWith(CamelSpringJUnit4ClassRunner.class)
+@RunWith(CamelSpringRunner.class)
 @ContextConfiguration(classes = {JavaConfigWithNestedConfigClassTest.ContextConfig.class}, loader = CamelSpringDelegatingTestContextLoader.class)
 @Component
 public class JavaConfigWithNestedConfigClassTest extends AbstractJUnit4SpringContextTests implements Cheese {
diff --git a/components/camel-spring-javaconfig/src/test/java/org/apache/camel/spring/javaconfig/test/JavaConfigWithPostProcessorTest.java b/components/camel-spring-javaconfig/src/test/java/org/apache/camel/spring/javaconfig/test/JavaConfigWithPostProcessorTest.java
index 0ea202e..bc5d197 100644
--- a/components/camel-spring-javaconfig/src/test/java/org/apache/camel/spring/javaconfig/test/JavaConfigWithPostProcessorTest.java
+++ b/components/camel-spring-javaconfig/src/test/java/org/apache/camel/spring/javaconfig/test/JavaConfigWithPostProcessorTest.java
@@ -17,7 +17,7 @@
 package org.apache.camel.spring.javaconfig.test;
 
 import org.apache.camel.test.spring.CamelSpringDelegatingTestContextLoader;
-import org.apache.camel.test.spring.CamelSpringJUnit4ClassRunner;
+import org.apache.camel.test.spring.CamelSpringRunner;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.springframework.stereotype.Component;
@@ -25,7 +25,7 @@ import org.springframework.test.context.ContextConfiguration;
 import org.springframework.test.context.junit4.AbstractJUnit4SpringContextTests;
 import static org.junit.Assert.assertEquals;
 
-@RunWith(CamelSpringJUnit4ClassRunner.class)
+@RunWith(CamelSpringRunner.class)
 @ContextConfiguration(classes = {MyConfig.class}, loader = CamelSpringDelegatingTestContextLoader.class)
 @Component
 public class JavaConfigWithPostProcessorTest extends AbstractJUnit4SpringContextTests implements Cheese {
diff --git a/components/camel-spring/src/main/java/org/apache/camel/spring/handler/CamelNamespaceHandler.java b/components/camel-spring/src/main/java/org/apache/camel/spring/handler/CamelNamespaceHandler.java
index 7903818..5541771 100644
--- a/components/camel-spring/src/main/java/org/apache/camel/spring/handler/CamelNamespaceHandler.java
+++ b/components/camel-spring/src/main/java/org/apache/camel/spring/handler/CamelNamespaceHandler.java
@@ -352,7 +352,6 @@ public class CamelNamespaceHandler extends NamespaceHandlerSupport {
 
             String contextId = element.getAttribute("id");
             boolean implicitId = false;
-            boolean registerEndpointIdsFromRoute = false;
 
             // lets avoid folks having to explicitly give an ID to a camel context
             if (ObjectHelper.isEmpty(contextId)) {
@@ -409,8 +408,6 @@ public class CamelNamespaceHandler extends NamespaceHandlerSupport {
                 builder.addPropertyValue("hystrixConfigurations", factoryBean.getHystrixConfigurations());
                 // add any depends-on
                 addDependsOn(factoryBean, builder);
-
-                registerEndpointIdsFromRoute = "true".equalsIgnoreCase(factoryBean.getRegisterEndpointIdsFromRoute());
             }
 
             NodeList list = element.getChildNodes();
@@ -443,12 +440,6 @@ public class CamelNamespaceHandler extends NamespaceHandlerSupport {
                 }
             }
 
-            if (registerEndpointIdsFromRoute) {
-                // register as endpoint defined indirectly in the routes by from/to types having id explicit set
-                LOG.debug("Registering endpoint with ids defined in Camel routes");
-                registerEndpointsWithIdsDefinedInFromOrToTypes(element, parserContext, contextId, binder);
-            }
-
             // register templates if not already defined
             registerTemplates(element, parserContext, contextId);
 
@@ -539,28 +530,6 @@ public class CamelNamespaceHandler extends NamespaceHandlerSupport {
     }
 
     /**
-     * Used for auto registering endpoints from the <tt>from</tt> or <tt>to</tt> DSL if they have an id attribute set
-     */
-    @Deprecated
-    protected void registerEndpointsWithIdsDefinedInFromOrToTypes(Element element, ParserContext parserContext, String contextId, Binder<Node> binder) {
-        NodeList list = element.getChildNodes();
-        int size = list.getLength();
-        for (int i = 0; i < size; i++) {
-            Node child = list.item(i);
-            if (child instanceof Element) {
-                Element childElement = (Element) child;
-                Object object = binder.getJAXBNode(child);
-                // we only want from/to types to be registered as endpoints
-                if (object instanceof FromDefinition || object instanceof SendDefinition) {
-                    registerEndpoint(childElement, parserContext, contextId);
-                }
-                // recursive
-                registerEndpointsWithIdsDefinedInFromOrToTypes(childElement, parserContext, contextId, binder);
-            }
-        }
-    }
-
-    /**
      * Used for auto registering producer, fluent producer and consumer templates if not already defined in XML.
      */
     protected void registerTemplates(Element element, ParserContext parserContext, String contextId) {
diff --git a/components/camel-sql/src/main/docs/sql-component.adoc b/components/camel-sql/src/main/docs/sql-component.adoc
index e233029..72c82be 100644
--- a/components/camel-sql/src/main/docs/sql-component.adoc
+++ b/components/camel-sql/src/main/docs/sql-component.adoc
@@ -143,7 +143,7 @@ with the following path and query parameters:
 |===
 
 
-==== Query Parameters (45 parameters):
+==== Query Parameters (44 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -151,7 +151,6 @@ with the following path and query parameters:
 | Name | Description | Default | Type
 | *allowNamedParameters* (common) | Whether to allow using named parameters in the queries. | true | boolean
 | *dataSource* (common) | Sets the DataSource to use to communicate with the database. |  | DataSource
-| *dataSourceRef* (common) | *Deprecated* Sets the reference to a DataSource to lookup from the registry, to use for communicating with the database. |  | String
 | *outputClass* (common) | Specify the full package and class name to use as conversion when outputType=SelectOne. |  | String
 | *outputHeader* (common) | Store the query result in a header instead of the message body. By default, outputHeader == null and the query result is stored in the message body, any existing content in the message body is discarded. If outputHeader is set, the value is used as the name of the header to store the query result and the original message body is preserved. |  | String
 | *outputType* (common) | Make the output of consumer or producer to SelectList as List of Map, or SelectOne as single Java object in the following way: a) If the query has only single column, then that JDBC Column object is returned. (such as SELECT COUNT( ) FROM PROJECT will return a Long object. b) If the query has more than one column, then it will return a Map of that result. c) If the outputClass is set, then it will convert the query result into an Java bean object by calling all  [...]
diff --git a/components/camel-sql/src/main/java/org/apache/camel/component/sql/DefaultSqlEndpoint.java b/components/camel-sql/src/main/java/org/apache/camel/component/sql/DefaultSqlEndpoint.java
index 8f6c657..541ff90 100644
--- a/components/camel-sql/src/main/java/org/apache/camel/component/sql/DefaultSqlEndpoint.java
+++ b/components/camel-sql/src/main/java/org/apache/camel/component/sql/DefaultSqlEndpoint.java
@@ -40,9 +40,6 @@ import org.springframework.jdbc.core.RowMapperResultSetExtractor;
 public abstract class DefaultSqlEndpoint extends DefaultPollingEndpoint {
     private JdbcTemplate jdbcTemplate;
 
-    @UriParam(description = "Sets the reference to a DataSource to lookup from the registry, to use for communicating with the database.")
-    @Deprecated
-    private String dataSourceRef;
     @UriParam(description = "Sets the DataSource to use to communicate with the database.")
     private DataSource dataSource;
     @UriParam(label = "consumer", description = "Enables or disables transaction. If enabled then if processing an exchange failed then the consumer"
@@ -344,17 +341,6 @@ public abstract class DefaultSqlEndpoint extends DefaultPollingEndpoint {
         this.useMessageBodyForSql = useMessageBodyForSql;
     }
 
-    public String getDataSourceRef() {
-        return dataSourceRef;
-    }
-
-    /**
-     * Sets the reference to a DataSource to lookup from the registry, to use for communicating with the database.
-     */
-    public void setDataSourceRef(String dataSourceRef) {
-        this.dataSourceRef = dataSourceRef;
-    }
-
     public DataSource getDataSource() {
         return dataSource;
     }
diff --git a/components/camel-sql/src/main/java/org/apache/camel/component/sql/SqlComponent.java b/components/camel-sql/src/main/java/org/apache/camel/component/sql/SqlComponent.java
index 36a28cc..968ac57 100644
--- a/components/camel-sql/src/main/java/org/apache/camel/component/sql/SqlComponent.java
+++ b/components/camel-sql/src/main/java/org/apache/camel/component/sql/SqlComponent.java
@@ -66,10 +66,6 @@ public class SqlComponent extends DefaultComponent {
         if (ds != null) {
             target = ds;
         }
-        String dataSourceRef = getAndRemoveParameter(parameters, "dataSourceRef", String.class);
-        if (target == null && dataSourceRef != null) {
-            target = CamelContextHelper.mandatoryLookup(getCamelContext(), dataSourceRef, DataSource.class);
-        }
         if (target == null) {
             // fallback and use component
             target = dataSource;
@@ -128,7 +124,6 @@ public class SqlComponent extends DefaultComponent {
         endpoint.setOnConsumeFailed(onConsumeFailed);
         endpoint.setOnConsumeBatchComplete(onConsumeBatchComplete);
         endpoint.setDataSource(ds);
-        endpoint.setDataSourceRef(dataSourceRef);
         endpoint.setTemplateOptions(templateOptions);
         return endpoint;
     }
diff --git a/components/camel-sql/src/main/java/org/apache/camel/component/sql/stored/template/generated/SimpleCharStream.java b/components/camel-sql/src/main/java/org/apache/camel/component/sql/stored/template/generated/SimpleCharStream.java
index 38d998e..08efb0e 100644
--- a/components/camel-sql/src/main/java/org/apache/camel/component/sql/stored/template/generated/SimpleCharStream.java
+++ b/components/camel-sql/src/main/java/org/apache/camel/component/sql/stored/template/generated/SimpleCharStream.java
@@ -201,26 +201,6 @@ public class SimpleCharStream
     return c;
   }
 
-  @Deprecated
-  /**
-   * @deprecated
-   * @see #getEndColumn
-   */
-
-  public int getColumn() {
-    return bufcolumn[bufpos];
-  }
-
-  @Deprecated
-  /**
-   * @deprecated
-   * @see #getEndLine
-   */
-
-  public int getLine() {
-    return bufline[bufpos];
-  }
-
   /** Get token end column number. */
   public int getEndColumn() {
     return bufcolumn[bufpos];
diff --git a/components/camel-ssh/src/main/docs/ssh-component.adoc b/components/camel-ssh/src/main/docs/ssh-component.adoc
index bdf6830..66d0edb 100644
--- a/components/camel-ssh/src/main/docs/ssh-component.adoc
+++ b/components/camel-ssh/src/main/docs/ssh-component.adoc
@@ -31,7 +31,7 @@ ssh:[username[:password]@]host[:port][?options]
 
 
 // component options: START
-The SSH component supports 15 options, which are listed below.
+The SSH component supports 14 options, which are listed below.
 
 
 
@@ -47,7 +47,6 @@ The SSH component supports 15 options, which are listed below.
 | *keyPairProvider* (security) | Sets the KeyPairProvider reference to use when connecting using Certificates to the remote SSH Server. |  | KeyPairProvider
 | *keyType* (security) | Sets the key type to pass to the KeyPairProvider as part of authentication. KeyPairProvider.loadKey(...) will be passed this value. Defaults to ssh-rsa. |  | String
 | *timeout* (common) | Sets the timeout in milliseconds to wait in establishing the remote SSH server connection. Defaults to 30000 milliseconds. |  | long
-| *certFilename* (security) | *Deprecated* Sets the resource path of the certificate to use for Authentication. |  | String
 | *certResource* (security) | Sets the resource path of the certificate to use for Authentication. Will use ResourceHelperKeyPairProvider to resolve file based certificate, and depends on keyType setting. |  | String
 | *channelType* (advanced) | Sets the channel type to pass to the Channel as part of command execution. Defaults to exec. |  | String
 | *shellPrompt* (advanced) | Sets the shellPrompt to be dropped when response is read after command execution |  | String
@@ -122,17 +121,15 @@ with the following path and query parameters:
 === Spring Boot Auto-Configuration
 
 
-The component supports 30 options, which are listed below.
+The component supports 28 options, which are listed below.
 
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
 |===
 | Name | Description | Default | Type
-| *camel.component.ssh.cert-filename* | Sets the resource path of the certificate to use for Authentication. |  | String
 | *camel.component.ssh.cert-resource* | Sets the resource path of the certificate to use for Authentication. Will use ResourceHelperKeyPairProvider to resolve file based certificate, and depends on keyType setting. |  | String
 | *camel.component.ssh.channel-type* | Sets the channel type to pass to the Channel as part of command execution. Defaults to exec. |  | String
-| *camel.component.ssh.configuration.cert-filename* | @deprecated As of version 2.11, replaced by             {@link #setCertResource(String)} |  | String
 | *camel.component.ssh.configuration.cert-resource* | Sets the resource path of the certificate to use for Authentication. Will use ResourceHelperKeyPairProvider to resolve file based certificate, and depends on keyType setting. |  | String
 | *camel.component.ssh.configuration.channel-type* | Sets the channel type to pass to the Channel as part of command execution. Defaults to exec. | exec | String
 | *camel.component.ssh.configuration.fail-on-unknown-host* | Specifies whether a connection to an unknown host should fail or not. This value is only checked when the property knownHosts is set. | false | Boolean
diff --git a/components/camel-ssh/src/main/java/org/apache/camel/component/ssh/SshComponent.java b/components/camel-ssh/src/main/java/org/apache/camel/component/ssh/SshComponent.java
index 8ff5e1d..0e0658d 100644
--- a/components/camel-ssh/src/main/java/org/apache/camel/component/ssh/SshComponent.java
+++ b/components/camel-ssh/src/main/java/org/apache/camel/component/ssh/SshComponent.java
@@ -174,25 +174,6 @@ public class SshComponent extends DefaultComponent {
         getConfiguration().setTimeout(timeout);
     }
 
-    /**
-     * @deprecated As of version 2.11, replaced by {@link #getCertResource()}
-     */
-    @Deprecated
-    public String getCertFilename() {
-        return getConfiguration().getCertFilename();
-    }
-
-    /**
-     * Sets the resource path of the certificate to use for Authentication.
-     *
-     * @deprecated As of version 2.11, replaced by {@link #setCertResource(String)}
-     */
-    @Deprecated
-    @Metadata(label = "security")
-    public void setCertFilename(String certFilename) {
-        getConfiguration().setCertFilename(certFilename);
-    }
-
     public String getCertResource() {
         return getConfiguration().getCertResource();
     }
diff --git a/components/camel-ssh/src/main/java/org/apache/camel/component/ssh/SshConfiguration.java b/components/camel-ssh/src/main/java/org/apache/camel/component/ssh/SshConfiguration.java
index e2cf293..d2699a7 100644
--- a/components/camel-ssh/src/main/java/org/apache/camel/component/ssh/SshConfiguration.java
+++ b/components/camel-ssh/src/main/java/org/apache/camel/component/ssh/SshConfiguration.java
@@ -229,22 +229,6 @@ public class SshConfiguration implements Cloneable {
         this.timeout = timeout;
     }
 
-    /**
-     * @deprecated As of version 2.11, replaced by {@link #getCertResource()}
-     */
-    @Deprecated
-    public String getCertFilename() {
-        return ((certResource != null) && certResource.startsWith("file:")) ? certResource.substring(5) : null;
-    }
-
-    /**
-     * @deprecated As of version 2.11, replaced by {@link #setCertResource(String)}
-     */
-    @Deprecated
-    public void setCertFilename(String certFilename) {
-        this.certResource = "file:" + certFilename;
-    }
-
     public String getCertResource() {
         return certResource;
     }
diff --git a/components/camel-ssh/src/main/java/org/apache/camel/component/ssh/SshEndpoint.java b/components/camel-ssh/src/main/java/org/apache/camel/component/ssh/SshEndpoint.java
index bb1dd6c..bbadcec 100644
--- a/components/camel-ssh/src/main/java/org/apache/camel/component/ssh/SshEndpoint.java
+++ b/components/camel-ssh/src/main/java/org/apache/camel/component/ssh/SshEndpoint.java
@@ -139,22 +139,6 @@ public class SshEndpoint extends ScheduledPollEndpoint {
         getConfiguration().setTimeout(timeout);
     }
 
-    /**
-     * @deprecated As of version 2.11, replaced by {@link #getCertResource()}
-     */
-    @Deprecated
-    public String getCertFilename() {
-        return getConfiguration().getCertFilename();
-    }
-
-    /**
-     * @deprecated As of version 2.11, replaced by {@link #setCertResource(String)}
-     */
-    @Deprecated
-    public void setCertFilename(String certFilename) {
-        getConfiguration().setCertFilename(certFilename);
-    }
-
     public String getCertResource() {
         return getConfiguration().getCertResource();
     }
diff --git a/components/camel-test-spring/src/main/java/org/apache/camel/test/spring/CamelSpringBootJUnit4ClassRunner.java b/components/camel-test-spring/src/main/java/org/apache/camel/test/spring/CamelSpringBootJUnit4ClassRunner.java
deleted file mode 100644
index 44c0cb2..0000000
--- a/components/camel-test-spring/src/main/java/org/apache/camel/test/spring/CamelSpringBootJUnit4ClassRunner.java
+++ /dev/null
@@ -1,33 +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.test.spring;
-
-import org.junit.runners.model.InitializationError;
-
-/**
- * The class {@link CamelSpringBootJUnit4ClassRunner} has been renamed to {@link CamelSpringBootRunner}
- * which is a shorter and easier to remember name.
- *
- * @deprecated use {@link CamelSpringBootRunner}
- */
-@Deprecated
-public class CamelSpringBootJUnit4ClassRunner extends CamelSpringBootRunner {
-
-    public CamelSpringBootJUnit4ClassRunner(Class<?> clazz) throws InitializationError {
-        super(clazz);
-    }
-}
diff --git a/components/camel-test-spring/src/main/java/org/apache/camel/test/spring/CamelSpringJUnit4ClassRunner.java b/components/camel-test-spring/src/main/java/org/apache/camel/test/spring/CamelSpringJUnit4ClassRunner.java
deleted file mode 100644
index c4d2fda..0000000
--- a/components/camel-test-spring/src/main/java/org/apache/camel/test/spring/CamelSpringJUnit4ClassRunner.java
+++ /dev/null
@@ -1,33 +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.test.spring;
-
-import org.junit.runners.model.InitializationError;
-
-/**
- * The class {@link CamelSpringJUnit4ClassRunner} has been renamed to {@link CamelSpringRunner}
- * which is a shorter and easier to remember name.
- *
- * @deprecated use {@link CamelSpringRunner}
- */
-@Deprecated
-public class CamelSpringJUnit4ClassRunner extends CamelSpringRunner {
-
-    public CamelSpringJUnit4ClassRunner(Class<?> clazz) throws InitializationError {
-        super(clazz);
-    }
-}
diff --git a/components/camel-test/src/main/java/org/apache/camel/test/TestSupport.java b/components/camel-test/src/main/java/org/apache/camel/test/TestSupport.java
deleted file mode 100644
index 482535f..0000000
--- a/components/camel-test/src/main/java/org/apache/camel/test/TestSupport.java
+++ /dev/null
@@ -1,528 +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.test;
-
-import java.io.File;
-import java.util.Collection;
-import java.util.List;
-import java.util.Locale;
-
-import junit.framework.TestCase;
-
-import org.apache.camel.CamelContext;
-import org.apache.camel.Channel;
-import org.apache.camel.Endpoint;
-import org.apache.camel.Exchange;
-import org.apache.camel.Expression;
-import org.apache.camel.InvalidPayloadException;
-import org.apache.camel.Message;
-import org.apache.camel.Predicate;
-import org.apache.camel.Processor;
-import org.apache.camel.Route;
-import org.apache.camel.builder.Builder;
-import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.builder.ValueBuilder;
-import org.apache.camel.impl.DefaultCamelContext;
-import org.apache.camel.impl.DefaultExchange;
-import org.apache.camel.processor.DelegateProcessor;
-import org.apache.camel.util.ExchangeHelper;
-import org.apache.camel.util.PredicateAssertHelper;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * A bunch of useful testing methods
- *
- * @version 
- * @deprecated Support for JUnit 3.x is slated for removal in Camel 3.x. You are encouraged to move to
- *             JUnit 4.x based tests.  See {@link org.apache.camel.test.junit4.TestSupport}.
- */
-@Deprecated
-public abstract class TestSupport extends TestCase {
-    protected static final String LS = System.lineSeparator();
-    private static final Logger LOG = LoggerFactory.getLogger(TestSupport.class);
-    protected Logger log = LoggerFactory.getLogger(getClass());
-    
-    /**
-     * Runs the bare test sequence only if this platform is supported
-     * @exception Throwable if any exception is thrown
-     */
-    @Override
-    public void runBare() throws Throwable {
-        if (canRunOnThisPlatform()) {
-            //start with a clean slate
-            DefaultCamelContext.setContextCounter(0);
-            TestSupportNodeIdFactory.resetCounters();
-            super.runBare();
-        }
-    }
-
-    protected boolean canRunOnThisPlatform() {
-        return true;
-    }
-
-    // Builder methods for expressions used when testing
-    // -------------------------------------------------------------------------
-
-    /**
-     * Returns a value builder for the given header
-     */
-    public static ValueBuilder header(String name) {
-        return Builder.header(name);
-    }
-
-    /**
-     * Returns a value builder for the given property
-     */
-    public static ValueBuilder property(String name) {
-        return Builder.exchangeProperty(name);
-    }    
-    
-    /**
-     * Returns a predicate and value builder for the inbound body on an exchange
-     */
-    public static ValueBuilder body() {
-        return Builder.body();
-    }
-
-    /**
-     * Returns a predicate and value builder for the inbound message body as a
-     * specific type
-     */
-    public static <T> ValueBuilder bodyAs(Class<T> type) {
-        return Builder.bodyAs(type);
-    }
-
-    /**
-     * Returns a value builder for the given system property
-     */
-    public static ValueBuilder systemProperty(String name) {
-        return Builder.systemProperty(name);
-    }
-
-    /**
-     * Returns a value builder for the given system property
-     */
-    public static ValueBuilder systemProperty(String name, String defaultValue) {
-        return Builder.systemProperty(name, defaultValue);
-    }
-
-    // Assertions
-    // -----------------------------------------------------------------------
-
-    public static <T> T assertIsInstanceOf(Class<T> expectedType, Object value) {
-        assertNotNull("Expected an instance of type: " + expectedType.getName() + " but was null", value);
-        assertTrue("object should be a " + expectedType.getName() + " but was: " + value + " with type: "
-                   + value.getClass().getName(), expectedType.isInstance(value));
-        return expectedType.cast(value);
-    }
-
-    public static void assertEndpointUri(Endpoint endpoint, String uri) {
-        assertNotNull("Endpoint is null when expecting endpoint for: " + uri, endpoint);
-        assertEquals("Endpoint uri for: " + endpoint, uri, endpoint.getEndpointUri());
-    }
-
-    /**
-     * Asserts the In message on the exchange contains the expected value
-     */
-    public static Object assertInMessageHeader(Exchange exchange, String name, Object expected) {
-        return assertMessageHeader(exchange.getIn(), name, expected);
-    }
-
-    /**
-     * Asserts the Out message on the exchange contains the expected value
-     */
-    public static Object assertOutMessageHeader(Exchange exchange, String name, Object expected) {
-        return assertMessageHeader(exchange.getOut(), name, expected);
-    }
-
-    /**
-     * Asserts that the given exchange has an OUT message of the given body value
-     *
-     * @param exchange the exchange which should have an OUT message
-     * @param expected the expected value of the OUT message
-     * @throws InvalidPayloadException is thrown if the payload is not the expected class type
-     */
-    public static void assertInMessageBodyEquals(Exchange exchange, Object expected) throws InvalidPayloadException {
-        assertNotNull("Should have a response exchange!", exchange);
-
-        Object actual;
-        if (expected == null) {
-            actual = exchange.getIn().getMandatoryBody();
-            assertEquals("in body of: " + exchange, expected, actual);
-        } else {
-            actual = exchange.getIn().getMandatoryBody(expected.getClass());
-        }
-        assertEquals("in body of: " + exchange, expected, actual);
-
-        LOG.debug("Received response: " + exchange + " with in: " + exchange.getIn());
-    }
-
-    /**
-     * Asserts that the given exchange has an OUT message of the given body value
-     *
-     * @param exchange the exchange which should have an OUT message
-     * @param expected the expected value of the OUT message
-     * @throws InvalidPayloadException is thrown if the payload is not the expected class type
-     */
-    public static void assertOutMessageBodyEquals(Exchange exchange, Object expected) throws InvalidPayloadException {
-        assertNotNull("Should have a response exchange!", exchange);
-
-        Object actual;
-        if (expected == null) {
-            actual = exchange.getOut().getMandatoryBody();
-            assertEquals("output body of: " + exchange, expected, actual);
-        } else {
-            actual = exchange.getOut().getMandatoryBody(expected.getClass());
-        }
-        assertEquals("output body of: " + exchange, expected, actual);
-
-        LOG.debug("Received response: " + exchange + " with out: " + exchange.getOut());
-    }
-
-    public static Object assertMessageHeader(Message message, String name, Object expected) {
-        Object value = message.getHeader(name);
-        assertEquals("Header: " + name + " on Message: " + message, expected, value);
-        return value;
-    }
-
-    /**
-     * Asserts that the given expression when evaluated returns the given answer
-     */
-    public static Object assertExpression(Expression expression, Exchange exchange, Object expected) {
-        Object value;
-        if (expected != null) {
-            value = expression.evaluate(exchange, expected.getClass());
-        } else {
-            value = expression.evaluate(exchange, Object.class);
-        }
-
-        LOG.debug("Evaluated expression: " + expression + " on exchange: " + exchange + " result: " + value);
-
-        assertEquals("Expression: " + expression + " on Exchange: " + exchange, expected, value);
-        return value;
-    }
-
-    /**
-     * Asserts that the predicate returns the expected value on the exchange
-     */
-    public static void assertPredicateMatches(Predicate predicate, Exchange exchange) {
-        assertPredicate(predicate, exchange, true);
-    }
-
-    /**
-     * Asserts that the predicate returns the expected value on the exchange
-     */
-    public static void assertPredicateDoesNotMatch(Predicate predicate, Exchange exchange) {
-        try {
-            PredicateAssertHelper.assertMatches(predicate, "Predicate should match: ", exchange);
-        } catch (AssertionError e) {
-            LOG.debug("Caught expected assertion error: " + e);
-        }
-        assertPredicate(predicate, exchange, false);
-    }
-
-    /**
-     * Asserts that the predicate returns the expected value on the exchange
-     */
-    public static boolean assertPredicate(final Predicate predicate, Exchange exchange, boolean expected) {
-        if (expected) {
-            PredicateAssertHelper.assertMatches(predicate, "Predicate failed: ", exchange);
-        }
-        boolean value = predicate.matches(exchange);
-
-        LOG.debug("Evaluated predicate: " + predicate + " on exchange: " + exchange + " result: " + value);
-
-        assertEquals("Predicate: " + predicate + " on Exchange: " + exchange, expected, value);
-        return value;
-    }
-
-    /**
-     * Resolves an endpoint and asserts that it is found
-     */
-    public static Endpoint resolveMandatoryEndpoint(CamelContext context, String uri) {
-        Endpoint endpoint = context.getEndpoint(uri);
-
-        assertNotNull("No endpoint found for URI: " + uri, endpoint);
-
-        return endpoint;
-    }
-
-    /**
-     * Resolves an endpoint and asserts that it is found
-     */
-    public static <T extends Endpoint> T resolveMandatoryEndpoint(CamelContext context, String uri,
-                                                              Class<T> endpointType) {
-        T endpoint = context.getEndpoint(uri, endpointType);
-
-        assertNotNull("No endpoint found for URI: " + uri, endpoint);
-
-        return endpoint;
-    }
-
-    /**
-     * Creates an exchange with the given body
-     */
-    protected Exchange createExchangeWithBody(CamelContext camelContext, Object body) {
-        Exchange exchange = new DefaultExchange(camelContext);
-        Message message = exchange.getIn();
-        message.setHeader("testName", getName());
-        message.setHeader("testClass", getClass().getName());
-        message.setBody(body);
-        return exchange;
-    }
-
-    public static <T> T assertOneElement(List<T> list) {
-        assertEquals("Size of list should be 1: " + list, 1, list.size());
-        return list.get(0);
-    }
-
-    /**
-     * Asserts that a list is of the given size
-     */
-    public static <T> List<T> assertListSize(List<T> list, int size) {
-        return assertListSize("List", list, size);
-    }
-
-    /**
-     * Asserts that a list is of the given size
-     */
-    public static <T> List<T> assertListSize(String message, List<T> list, int size) {
-        assertEquals(message + " should be of size: "
-                + size + " but is: " + list, size, list.size());
-        return list;
-    }
-
-    /**
-     * Asserts that a list is of the given size
-     */
-    public static <T> Collection<T> assertCollectionSize(Collection<T> list, int size) {
-        return assertCollectionSize("List", list, size);
-    }
-
-    /**
-     * Asserts that a list is of the given size
-     */
-    public static <T> Collection<T> assertCollectionSize(String message, Collection<T> list, int size) {
-        assertEquals(message + " should be of size: "
-                + size + " but is: " + list, size, list.size());
-        return list;
-    }
-
-    /**
-     * A helper method to create a list of Route objects for a given route builder
-     */
-    public static List<Route> getRouteList(RouteBuilder builder) throws Exception {
-        CamelContext context = new DefaultCamelContext();
-        context.addRoutes(builder);
-        context.start();
-        List<Route> answer = context.getRoutes();
-        context.stop();
-        return answer;
-    }
-
-    /**
-     * Asserts that the text contains the given string
-     *
-     * @param text the text to compare
-     * @param containedText the text which must be contained inside the other text parameter
-     */
-    public static void assertStringContains(String text, String containedText) {
-        assertNotNull("Text should not be null!", text);
-        assertTrue("Text: " + text + " does not contain: " + containedText, text.contains(containedText));
-    }
-
-    /**
-     * If a processor is wrapped with a bunch of DelegateProcessor or DelegateAsyncProcessor objects
-     * this call will drill through them and return the wrapped Processor.
-     */
-    public static Processor unwrap(Processor processor) {
-        while (true) {
-            if (processor instanceof DelegateProcessor) {
-                processor = ((DelegateProcessor)processor).getProcessor();
-            } else {
-                return processor;
-            }
-        }
-    }
-
-    /**
-     * If a processor is wrapped with a bunch of DelegateProcessor or DelegateAsyncProcessor objects
-     * this call will drill through them and return the Channel.
-     * <p/>
-     * Returns null if no channel is found.
-     */
-    public static Channel unwrapChannel(Processor processor) {
-        while (true) {
-            if (processor instanceof Channel) {
-                return (Channel) processor;
-            } else if (processor instanceof DelegateProcessor) {
-                processor = ((DelegateProcessor)processor).getProcessor();
-            } else {
-                return null;
-            }
-        }
-    }
-
-    /**
-     * Recursively delete a directory, useful to zapping test data
-     *
-     * @param file the directory to be deleted
-     * @return <tt>false</tt> if error deleting directory
-     */
-    public static boolean deleteDirectory(String file) {
-        return deleteDirectory(new File(file));
-    }
-
-    /**
-     * Recursively delete a directory, useful to zapping test data
-     *
-     * @param file the directory to be deleted
-     * @return <tt>false</tt> if error deleting directory
-     */
-    public static boolean deleteDirectory(File file) {
-        int tries = 0;
-        int maxTries = 5;
-        boolean exists = true;
-        while (exists && (tries < maxTries)) {
-            recursivelyDeleteDirectory(file);
-            tries++;
-            exists = file.exists();
-            if (exists) {
-                try {
-                    Thread.sleep(1000);
-                } catch (InterruptedException e) {
-                    // Ignore
-                }
-            }
-        }
-        return !exists;
-    }
-
-    private static void recursivelyDeleteDirectory(File file) {
-        if (!file.exists()) {
-            return;
-        }
-
-        if (file.isDirectory()) {
-            File[] files = file.listFiles();
-            for (File child : files) {
-                recursivelyDeleteDirectory(child);
-            }
-        }
-        boolean success = file.delete();
-        if (!success) {
-            LOG.warn("Deletion of file: " + file.getAbsolutePath() + " failed");
-        }
-    }
-
-    /**
-     * create the directory
-     *
-     * @param file the directory to be created
-     */
-    public static void createDirectory(String file) {
-        File dir = new File(file);
-        dir.mkdirs();
-    }
-
-    /**
-     * To be used for folder/directory comparison that works across different platforms such
-     * as Window, Mac and Linux.
-     */
-    public static void assertDirectoryEquals(String expected, String actual) {
-        assertDirectoryEquals(null, expected, actual);
-    }
-
-    /**
-     * To be used for folder/directory comparison that works across different platforms such
-     * as Window, Mac and Linux.
-     */
-    public static void assertDirectoryEquals(String message, String expected, String actual) {
-        // must use single / as path separators
-        String expectedPath = expected.replace('\\', '/');
-        String actualPath = actual.replace('\\', '/');
-
-        if (message != null) {
-            assertEquals(message, expectedPath, actualPath);
-        } else {
-            assertEquals(expectedPath, actualPath);
-        }
-    }
-
-    /**
-     * To be used to check is a file is found in the file system
-     */
-    public static void assertFileExists(String filename) {
-        File file = new File(filename);
-        assertTrue("File " + filename + " should exist", file.exists());
-    }
-
-    /**
-     * To be used to check is a file is <b>not</b> found in the file system
-     */
-    public static void assertFileNotExists(String filename) {
-        File file = new File(filename);
-        assertFalse("File " + filename + " should not exist", file.exists());
-    }
-
-    /**
-     * Is this OS the given platform.
-     * <p/>
-     * Uses <tt>os.name</tt> from the system properties to determine the OS.
-     *
-     * @param platform such as Windows
-     * @return <tt>true</tt> if its that platform.
-     */
-    public static boolean isPlatform(String platform) {
-        String osName = System.getProperty("os.name").toLowerCase(Locale.US);
-        return osName.indexOf(platform.toLowerCase(Locale.US)) > -1;
-    }
-
-    /**
-     * Is this Java by the given vendor.
-     * <p/>
-     * Uses <tt>java.vendor</tt> from the system properties to determine the vendor.
-     *
-     * @param vendor such as IBM
-     * @return <tt>true</tt> if its that vendor.
-     */
-    public static boolean isJavaVendor(String vendor) {
-        String javaVendor = System.getProperty("java.vendor").toLowerCase(Locale.US);
-        return javaVendor.indexOf(vendor.toLowerCase(Locale.US)) > -1;
-    }
-
-    /**
-     * Is this Java 1.5
-     *
-     * @return <tt>true</tt> if its Java 1.5, <tt>false</tt> if its not (for example Java 1.6 or better)
-     */
-    public static boolean isJava15() {
-        String javaVersion = System.getProperty("java.version").toLowerCase(Locale.US);
-        return javaVersion.startsWith("1.5");
-    }
-
-    /**
-     * Gets the current test method name
-     *
-     * @return the method name
-     */
-    public String getTestMethodName() {
-        return getName();
-    }
-
-}
diff --git a/components/camel-test/src/main/java/org/apache/camel/test/junit4/CamelTestSupport.java b/components/camel-test/src/main/java/org/apache/camel/test/junit4/CamelTestSupport.java
index 293f666..1dd1cd4 100644
--- a/components/camel-test/src/main/java/org/apache/camel/test/junit4/CamelTestSupport.java
+++ b/components/camel-test/src/main/java/org/apache/camel/test/junit4/CamelTestSupport.java
@@ -633,16 +633,6 @@ public abstract class CamelTestSupport extends TestSupport {
     }
 
     /**
-     * Whether or not type converters should be lazy loaded (notice core converters is always loaded)
-     *
-     * @return <tt>false</tt> by default.
-     */
-    @Deprecated
-    protected boolean isLazyLoadingTypeConverter() {
-        return false;
-    }
-
-    /**
      * Override this method to include and override properties
      * with the Camel {@link PropertiesComponent}.
      *
diff --git a/components/camel-test/src/main/java/org/apache/camel/test/junit4/TestSupport.java b/components/camel-test/src/main/java/org/apache/camel/test/junit4/TestSupport.java
index 3d753a9..8157d5a 100644
--- a/components/camel-test/src/main/java/org/apache/camel/test/junit4/TestSupport.java
+++ b/components/camel-test/src/main/java/org/apache/camel/test/junit4/TestSupport.java
@@ -68,16 +68,6 @@ public abstract class TestSupport extends Assert {
     }
 
     /**
-     * Returns a value builder for the given property
-     * 
-     * @deprecated use {@link #exchangeProperty(String)}
-     */
-    @Deprecated
-    public static ValueBuilder property(String name) {
-        return Builder.exchangeProperty(name);
-    }
-
-    /**
      * Returns a value builder for the given exchange property
      */
     public static ValueBuilder exchangeProperty(String name) {
@@ -353,25 +343,6 @@ public abstract class TestSupport extends Assert {
     }
 
     /**
-     * If a processor is wrapped with a bunch of DelegateProcessor or DelegateAsyncProcessor objects
-     * this call will drill through them and return the Channel.
-     * <p/>
-     * Returns null if no channel is found.
-     */
-    @Deprecated
-    public static Channel unwrapChannel(Processor processor) {
-        while (true) {
-            if (processor instanceof Channel) {
-                return (Channel) processor;
-            } else if (processor instanceof DelegateProcessor) {
-                processor = ((DelegateProcessor)processor).getProcessor();
-            } else {
-                return null;
-            }
-        }
-    }
-
-    /**
      * Recursively delete a directory, useful to zapping test data
      *
      * @param file the directory to be deleted
@@ -500,41 +471,6 @@ public abstract class TestSupport extends Assert {
     }
 
     /**
-     * Is this Java 1.5
-     *
-     * @return <tt>true</tt> if its Java 1.5, <tt>false</tt> if its not (for example Java 1.6 or better)
-     * @deprecated will be removed in the future as Camel requires JDK1.8+
-     */
-    @Deprecated
-    public static boolean isJava15() {
-        return getJavaMajorVersion() == 5;
-    }
-
-    /**
-     * Is this Java 1.6
-     *
-     * @return <tt>true</tt> if its Java 1.6, <tt>false</tt> if its not (for example Java 1.7 or better)
-     * @deprecated will be removed in the future as Camel requires JDK1.8+
-     */
-    @Deprecated
-    public static boolean isJava16() {
-        return getJavaMajorVersion() == 6;
-
-    }
-    
-    /**
-     * Is this Java 1.7
-     *
-     * @return <tt>true</tt> if its Java 1.7, <tt>false</tt> if its not (for example Java 1.6 or older)
-     * @deprecated will be removed in the future as Camel requires JDK1.8+
-     */
-    @Deprecated
-    public static boolean isJava17() {
-        return getJavaMajorVersion() == 7;
-
-    }
-
-    /**
      * Is this Java 1.8
      *
      * @return <tt>true</tt> if its Java 1.8, <tt>false</tt> if its not (for example Java 1.7 or older)
diff --git a/components/camel-test/src/test/java/org/apache/camel/test/patterns/DebugNoLazyTypeConverterTest.java b/components/camel-test/src/test/java/org/apache/camel/test/patterns/DebugNoLazyTypeConverterTest.java
index 3eccece..b55929d 100644
--- a/components/camel-test/src/test/java/org/apache/camel/test/patterns/DebugNoLazyTypeConverterTest.java
+++ b/components/camel-test/src/test/java/org/apache/camel/test/patterns/DebugNoLazyTypeConverterTest.java
@@ -28,11 +28,6 @@ import org.junit.Test;
  */
 public class DebugNoLazyTypeConverterTest extends CamelTestSupport {
 
-    @Override
-    protected boolean isLazyLoadingTypeConverter() {
-        return false;
-    }
-
     // START SNIPPET: e1
     @Override
     public boolean isUseDebugger() {
diff --git a/components/camel-twitter/src/main/docs/twitter-component.adoc b/components/camel-twitter/src/main/docs/twitter-component.adoc
deleted file mode 100644
index 0598d02..0000000
--- a/components/camel-twitter/src/main/docs/twitter-component.adoc
+++ /dev/null
@@ -1,335 +0,0 @@
-[[twitter-component]]
-== Twitter Component (deprecated)
-
-*Available as of Camel version 2.10*
-
-[IMPORTANT]
-====================================================================================
-The composite twitter component has been deprecated. Use individual component for directmessage, search, streaming and timeline.
-
-* <<twitter-component,Twitter Components>>
-  ** <<twitter-directmessage-component,Twitter Direct Message>>
-  ** <<twitter-search-component,Twitter Search>>
-  ** <<twitter-streaming-component,Twitter Streaming>>
-  ** <<twitter-timeline-component,Twitter Timeline>>
-====================================================================================
-
-The Twitter component enables the most useful features of the Twitter
-API by encapsulating http://twitter4j.org/[Twitter4J]. It allows direct,
-polling, or event-driven consumption of timelines, users, trends, and
-direct messages. Also, it supports producing messages as status updates
-or direct messages.
-
-Twitter now requires the use of OAuth for all client application
-authentication. In order to use camel-twitter with your account, you'll
-need to create a new application within Twitter at
-https://dev.twitter.com/apps/new and grant the application access to
-your account. Finally, generate your access token and secret.
-
-Maven users will need to add the following dependency to their pom.xml
-for this component:
-
-[source,xml]
-----
-<dependency>
-    <groupId>org.apache.camel</groupId>
-    <artifactId>camel-twitter</artifactId>
-    <version>${camel-version}</version>
-</dependency>
-----
-
-### URI format
-
-[source]
-----
-twitter://endpoint[?options]
-----
-
-### Twitter component
-
-The twitter component can be configured with the Twitter account
-settings which is mandatory to configure before using.
-
-
-
-
-
-// component options: START
-The Twitter component supports 9 options, which are listed below.
-
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *accessToken* (security) | The access token |  | String
-| *accessTokenSecret* (security) | The access token secret |  | String
-| *consumerKey* (security) | The consumer key |  | String
-| *consumerSecret* (security) | The consumer secret |  | String
-| *httpProxyHost* (proxy) | The http proxy host which can be used for the camel-twitter. |  | String
-| *httpProxyUser* (proxy) | The http proxy user which can be used for the camel-twitter. |  | String
-| *httpProxyPassword* (proxy) | The http proxy password which can be used for the camel-twitter. |  | String
-| *httpProxyPort* (proxy) | The http proxy port which can be used for the camel-twitter. |  | 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
-|===
-// component options: END
-
-
-
-
-
-You can also configure these options directly in the endpoint.
-
-### Consumer endpoints
-
-Rather than the endpoints returning a List through one single route
-exchange, camel-twitter creates one route exchange per returned object.
-As an example, if "timeline/home" results in five statuses, the route
-will be executed five times (one for each Status).
-
-[width="100%",cols="10%,10%,10%,70%",options="header",]
-|=======================================================================
-|Endpoint |Context |Body Type |Notice
-|directmessage |direct, polling |twitter4j.DirectMessage | 
-
-|search |direct, polling |twitter4j.Status | 
-
-|streaming/filter |event, polling |twitter4j.Status | 
-
-|streaming/sample |event, polling |twitter4j.Status | 
-
-|streaming/user |event, polling |twitter4j.Status |**Camel 2.16**: To
-receive tweets from protected users and accounts.
-
-|timeline/home |direct, polling |twitter4j.Status | 
-
-|timeline/mentions |direct, polling |twitter4j.Status | 
-
-|[line-through]*timeline/public* |[line-through]*direct, polling*
-|[line-through]*twitter4j.Status* |[line-through]*@deprecated. Use
-timeline/home or direct/home instead. Removed from *Camel 2.11*
-onwards.*
-
-|timeline/retweetsofme |direct, polling |twitter4j.Status | 
-
-|timeline/user |direct, polling |twitter4j.Status | 
-
-|[line-through]*trends/daily* |[line-through]**Camel 2.10.1:* direct,
-polling* |[line-through]*twitter4j.Status* |[line-through]*@deprecated.
-Removed from Camel 2.11 onwards.*
-
-|[line-through]*trends/weekly* |[line-through]**Camel 2.10.1:* direct,
-polling* |[line-through]*twitter4j.Status* |[line-through]*@deprecated.
-Removed from Camel 2.11 onwards.*
-|=======================================================================
-
-### Producer endpoints
-
-[width="100%",cols="20%,80%",options="header",]
-|==============================
-|Endpoint |Body Type
-|directmessage |String
-|search |List<twitter4j.Status>
-|timeline/user |String
-|==============================
-
-### URI options
-
-
-
-
-
-
-
-// endpoint options: START
-The Twitter endpoint is configured using URI syntax:
-
-----
-twitter:kind
-----
-
-with the following path and query parameters:
-
-==== Path Parameters (1 parameters):
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *kind* | *Required* The kind of endpoint |  | String
-|===
-
-
-==== Query Parameters (44 parameters):
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *user* (common) | Username, used for user timeline consumption, direct message production, etc. |  | String
-| *bridgeErrorHandler* (consumer) | Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored. | false | boolean
-| *sendEmptyMessageWhenIdle* (consumer) | If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead. | false | boolean
-| *type* (consumer) | Endpoint type to use. Only streaming supports event type. | polling | EndpointType
-| *distanceMetric* (consumer) | Used by the non-stream geography search, to search by radius using the configured metrics. The unit can either be mi for miles, or km for kilometers. You need to configure all the following options: longitude, latitude, radius, and distanceMetric. | km | String
-| *exceptionHandler* (consumer) | To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this options is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored. |  | ExceptionHandler
-| *exchangePattern* (consumer) | Sets the exchange pattern when the consumer creates an exchange. |  | ExchangePattern
-| *extendedMode* (consumer) | Used for enabling full text from twitter (eg receive tweets that contains more than 140 characters). | true | boolean
-| *latitude* (consumer) | Used by the non-stream geography search to search by latitude. You need to configure all the following options: longitude, latitude, radius, and distanceMetric. |  | Double
-| *locations* (consumer) | Bounding boxes, created by pairs of lat/lons. Can be used for streaming/filter. A pair is defined as lat,lon. And multiple paris can be separated by semi colon. |  | String
-| *longitude* (consumer) | Used by the non-stream geography search to search by longitude. You need to configure all the following options: longitude, latitude, radius, and distanceMetric. |  | Double
-| *pollStrategy* (consumer) | A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the poll operation before an Exchange have been created and being routed in Camel. |  | PollingConsumerPoll Strategy
-| *radius* (consumer) | Used by the non-stream geography search to search by radius. You need to configure all the following options: longitude, latitude, radius, and distanceMetric. |  | Double
-| *twitterStream* (consumer) | To use a custom instance of TwitterStream |  | TwitterStream
-| *synchronous* (advanced) | Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported). | false | boolean
-| *count* (filter) | Limiting number of results per page. |  | Integer
-| *filterOld* (filter) | Filter out old tweets, that has previously been polled. This state is stored in memory only, and based on last tweet id. | true | boolean
-| *keywords* (filter) | Can be used for search and streaming/filter. Multiple values can be separated with comma. |  | String
-| *lang* (filter) | The lang string ISO_639-1 which will be used for searching |  | String
-| *numberOfPages* (filter) | The number of pages result which you want camel-twitter to consume. | 1 | Integer
-| *sinceId* (filter) | The last tweet id which will be used for pulling the tweets. It is useful when the camel route is restarted after a long running. | 1 | long
-| *userIds* (filter) | To filter by user ids for streaming/filter. Multiple values can be separated by comma. |  | String
-| *backoffErrorThreshold* (scheduler) | The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in. |  | int
-| *backoffIdleThreshold* (scheduler) | The number of subsequent idle polls that should happen before the backoffMultipler should kick-in. |  | int
-| *backoffMultiplier* (scheduler) | To let the scheduled polling consumer backoff if there has been a number of subsequent idles/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is happening again. When this option is in use then backoffIdleThreshold and/or backoffErrorThreshold must also be configured. |  | int
-| *delay* (scheduler) | Milliseconds before the next poll. | 30000 | long
-| *greedy* (scheduler) | If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages. | false | boolean
-| *initialDelay* (scheduler) | Milliseconds before the first poll starts. You can also specify time values using units, such as 60s (60 seconds), 5m30s (5 minutes and 30 seconds), and 1h (1 hour). | 1000 | long
-| *runLoggingLevel* (scheduler) | The consumer logs a start/complete log line when it polls. This option allows you to configure the logging level for that. | TRACE | LoggingLevel
-| *scheduledExecutorService* (scheduler) | Allows for configuring a custom/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool. |  | ScheduledExecutor Service
-| *scheduler* (scheduler) | To use a cron scheduler from either camel-spring or camel-quartz2 component | none | ScheduledPollConsumer Scheduler
-| *schedulerProperties* (scheduler) | To configure additional properties when using a custom scheduler or any of the Quartz2, Spring based scheduler. |  | Map
-| *startScheduler* (scheduler) | Whether the scheduler should be auto started. | true | boolean
-| *timeUnit* (scheduler) | Time unit for initialDelay and delay options. | MILLISECONDS | TimeUnit
-| *useFixedDelay* (scheduler) | Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details. | true | boolean
-| *sortById* (sort) | Sorts by id, so the oldest are first, and newest last. | true | boolean
-| *httpProxyHost* (proxy) | The http proxy host which can be used for the camel-twitter. Can also be configured on the TwitterComponent level instead. |  | String
-| *httpProxyPassword* (proxy) | The http proxy password which can be used for the camel-twitter. Can also be configured on the TwitterComponent level instead. |  | String
-| *httpProxyPort* (proxy) | The http proxy port which can be used for the camel-twitter. Can also be configured on the TwitterComponent level instead. |  | Integer
-| *httpProxyUser* (proxy) | The http proxy user which can be used for the camel-twitter. Can also be configured on the TwitterComponent level instead. |  | String
-| *accessToken* (security) | The access token. Can also be configured on the TwitterComponent level instead. |  | String
-| *accessTokenSecret* (security) | The access secret. Can also be configured on the TwitterComponent level instead. |  | String
-| *consumerKey* (security) | The consumer key. Can also be configured on the TwitterComponent level instead. |  | String
-| *consumerSecret* (security) | The consumer secret. Can also be configured on the TwitterComponent level instead. |  | String
-|===
-// endpoint options: END
-// spring-boot-auto-configure options: START
-=== Spring Boot Auto-Configuration
-
-
-The component supports 10 options, which are listed below.
-
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *camel.component.twitter.access-token* | The access token |  | String
-| *camel.component.twitter.access-token-secret* | The access token secret |  | String
-| *camel.component.twitter.consumer-key* | The consumer key |  | String
-| *camel.component.twitter.consumer-secret* | The consumer secret |  | String
-| *camel.component.twitter.enabled* | Enable twitter component | true | Boolean
-| *camel.component.twitter.http-proxy-host* | The http proxy host which can be used for the camel-twitter. |  | String
-| *camel.component.twitter.http-proxy-password* | The http proxy password which can be used for the camel-twitter. |  | String
-| *camel.component.twitter.http-proxy-port* | The http proxy port which can be used for the camel-twitter. |  | Integer
-| *camel.component.twitter.http-proxy-user* | The http proxy user which can be used for the camel-twitter. |  | String
-| *camel.component.twitter.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
-
-
-
-
-
-
-
-
-### Message headers
-
-[width="100%",cols="20%,80%",options="header",]
-|=======================================================================
-|Name |Description
-|`CamelTwitterKeywords` |This header is used by the search producer to
-change the search key words dynamically.
-
-|`CamelTwitterSearchLanguage` |*Camel 2.11.0:* This header can override
-the option of `lang` which set the search language for the search
-endpoint dynamically
-
-|`CamelTwitterCount` |*Camel 2.11.0* This header can override the option
-of `count` which sets the max twitters that will be returned.
-
-|`CamelTwitterNumberOfPages` |*Camel 2.11.0* This header can override
-the option of `numberOfPages` which sets how many pages we want to
-twitter returns.
-|=======================================================================
-
-### Message body
-
-All message bodies utilize objects provided by the Twitter4J API.
-
-### Use cases
-
-NOTE: *API Rate Limits:* Twitter REST APIs encapsulated by http://twitter4j.org/[Twitter4J] are
-subjected to https://dev.twitter.com/rest/public/rate-limiting[API Rate
-Limiting]. You can find the per method limits in the
-https://dev.twitter.com/rest/public/rate-limits[API Rate Limits]
-documentation. Note that endpoints/resources not listed in that page are
-default to 15 requests per allotted user per window.
-
-#### To create a status update within your Twitter profile, send this producer a String body:
-
-[source,java]
-----
-from("direct:foo")
-  .to("twitter://timeline/user?consumerKey=[s]&consumerSecret=[s]&accessToken=[s]&accessTokenSecret=[s]);
-----
-
-#### To poll, every 60 sec., all statuses on your home timeline:
-
-[source,java]
-----
-from("twitter://timeline/home?type=polling&delay=60&consumerKey=[s]&consumerSecret=[s]&accessToken=[s]&accessTokenSecret=[s]")
-  .to("bean:blah");
-----
-
-#### To search for all statuses with the keyword 'camel' only once:
-
-[source,java]
-----
-from("twitter://search?type=polling&keywords=camel&consumerKey=[s]&consumerSecret=[s]&accessToken=[s]&accessTokenSecret=[s]")
-  .to("bean:blah");
-----
-
-#### Searching using a producer with static keywords:
-
-[source,java]
-----
-from("direct:foo")
-  .to("twitter://search?keywords=camel&consumerKey=[s]&consumerSecret=[s]&accessToken=[s]&accessTokenSecret=[s]");
-----
-
-#### Searching using a producer with dynamic keywords from header:
-
-In the `bar` header we have the keywords we want to search, so we can
-assign this value to the `CamelTwitterKeywords` header:
-
-[source,java]
-----
-from("direct:foo")
-  .setHeader("CamelTwitterKeywords", header("bar"))
-  .to("twitter://search?consumerKey=[s]&consumerSecret=[s]&accessToken=[s]&accessTokenSecret=[s]");
-----
-
-### Example
-
-See also the link:twitter-websocket-example.html[Twitter Websocket
-Example].
-
-### See Also
-
-* Configuring Camel
-* Component
-* Endpoint
-* Getting Started
-
-* Twitter Websocket Example
diff --git a/components/camel-twitter/src/main/java/org/apache/camel/component/twitter/AbstractTwitterEndpoint.java b/components/camel-twitter/src/main/java/org/apache/camel/component/twitter/AbstractTwitterEndpoint.java
index 142478f..c692549 100644
--- a/components/camel-twitter/src/main/java/org/apache/camel/component/twitter/AbstractTwitterEndpoint.java
+++ b/components/camel-twitter/src/main/java/org/apache/camel/component/twitter/AbstractTwitterEndpoint.java
@@ -18,7 +18,6 @@ package org.apache.camel.component.twitter;
 
 import org.apache.camel.Consumer;
 import org.apache.camel.api.management.ManagedAttribute;
-import org.apache.camel.component.twitter.consumer.TwitterConsumerPolling;
 import org.apache.camel.component.twitter.data.EndpointType;
 import org.apache.camel.impl.DefaultPollingEndpoint;
 import org.apache.camel.spi.UriParam;
@@ -26,11 +25,13 @@ import org.apache.camel.spi.UriParam;
 /**
  * The base Twitter Endpoint.
  */
-public abstract class AbstractTwitterEndpoint extends DefaultPollingEndpoint implements TwitterEndpoint {
+public abstract class AbstractTwitterEndpoint extends DefaultPollingEndpoint {
 
-    @UriParam(optionalPrefix = "consumer.", defaultValue = "" + TwitterConsumerPolling.DEFAULT_CONSUMER_DELAY, label = "consumer,scheduler",
+    public static final long DEFAULT_CONSUMER_DELAY = 30 * 1000L;
+
+    @UriParam(optionalPrefix = "consumer.", defaultValue = "" + DEFAULT_CONSUMER_DELAY, label = "consumer,scheduler",
         description = "Milliseconds before the next poll.")
-    private long delay = TwitterConsumerPolling.DEFAULT_CONSUMER_DELAY;
+    private long delay = DEFAULT_CONSUMER_DELAY;
 
     @UriParam
     private TwitterConfiguration properties;
@@ -125,7 +126,6 @@ public abstract class AbstractTwitterEndpoint extends DefaultPollingEndpoint imp
         return getProperties().getNumberOfPages();
     }
 
-    @Override
     public EndpointType getEndpointType() {
         return getProperties().getType();
     }
diff --git a/components/camel-twitter/src/main/java/org/apache/camel/component/twitter/CommonPropertiesTwitterEndpoint.java b/components/camel-twitter/src/main/java/org/apache/camel/component/twitter/CommonPropertiesTwitterEndpoint.java
deleted file mode 100644
index 4772f5b..0000000
--- a/components/camel-twitter/src/main/java/org/apache/camel/component/twitter/CommonPropertiesTwitterEndpoint.java
+++ /dev/null
@@ -1,34 +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.component.twitter;
-
-/**
- * @deprecated This has been introduced to just keep deprecated endpoints working as is.
- * Remove this once Endpoint{Direct,Event,Polling} is removed.
- */
-@Deprecated
-public interface CommonPropertiesTwitterEndpoint extends TwitterEndpoint {
-
-    String getKeywords();
-
-    void setKeywords(String keywords);
-
-    String getUser();
-    
-    void setUser(String user);
-
-}
diff --git a/components/camel-twitter/src/main/java/org/apache/camel/component/twitter/TwitterComponent.java b/components/camel-twitter/src/main/java/org/apache/camel/component/twitter/TwitterComponent.java
deleted file mode 100644
index 92ea505..0000000
--- a/components/camel-twitter/src/main/java/org/apache/camel/component/twitter/TwitterComponent.java
+++ /dev/null
@@ -1,73 +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.component.twitter;
-
-import java.util.Map;
-
-import org.apache.camel.CamelContext;
-import org.apache.camel.Endpoint;
-import org.apache.camel.spi.Metadata;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * Twitter component
- * 
- * @deprecated Use
- * {@link org.apache.camel.component.twitter.directmessage.TwitterDirectMessageComponent},
- * {@link org.apache.camel.component.twitter.search.TwitterSearchComponent},
- * {@link org.apache.camel.component.twitter.streaming.TwitterStreamingComponent} or
- * {@link org.apache.camel.component.twitter.timeline.TwitterTimelineComponent}
- * instead.
- */
-@Deprecated
-@Metadata(label = "verifiers", enums = "parameters,connectivity")
-public class TwitterComponent extends AbstractTwitterComponent {
-
-    private static final Logger LOG = LoggerFactory.getLogger(TwitterComponent.class);
-
-    public TwitterComponent() {
-        super("twitter");
-    }
-
-    public TwitterComponent(CamelContext context) {
-        super(context, "twitter");
-    }
-
-    @Override
-    protected Endpoint doCreateEndpoint(TwitterConfiguration properties, String uri, String remaining, Map<String, Object> parameters) throws Exception {
-        String[] tokens = remaining.split("/");
-        LOG.warn("The scheme syntax 'twitter:{}' has been deprecated. Use 'twitter-{}' instead.", tokens[0], tokens[0]);
-
-        CommonPropertiesTwitterEndpoint endpoint;
-
-        switch (properties.getType()) {
-        case POLLING:
-            endpoint = new TwitterEndpointPolling(uri, remaining, this, properties);
-            break;
-        case EVENT:
-            endpoint = new TwitterEndpointEvent(uri,  remaining, this, properties);
-            break;
-        default:
-            endpoint = new TwitterEndpointDirect(uri, remaining, this, properties);
-            break;
-        }
-        endpoint.setUser(getAndRemoveParameter(parameters, "user", String.class));
-        endpoint.setKeywords(getAndRemoveParameter(parameters, "keywords", String.class));
-        return endpoint;
-    }
-}
diff --git a/components/camel-twitter/src/main/java/org/apache/camel/component/twitter/TwitterEndpoint.java b/components/camel-twitter/src/main/java/org/apache/camel/component/twitter/TwitterEndpoint.java
deleted file mode 100644
index fbc699d..0000000
--- a/components/camel-twitter/src/main/java/org/apache/camel/component/twitter/TwitterEndpoint.java
+++ /dev/null
@@ -1,31 +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
- *
... 5147 lines suppressed ...