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/12 11:26:07 UTC

[camel] 03/44: [CAMEL-12814] Remove deprecated binding component

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 e4a9cff66c529e2064db8f987613cf4fd311999a
Author: Guillaume Nodet <gn...@gmail.com>
AuthorDate: Fri Oct 12 11:46:14 2018 +0200

    [CAMEL-12814] Remove deprecated binding component
---
 camel-core/readme.adoc                             |   5 +-
 .../camel/component/binding/BindingComponent.java  | 101 --------------
 .../binding/BindingConsumerProcessor.java          |  60 --------
 .../camel/component/binding/BindingEndpoint.java   | 153 ---------------------
 .../component/binding/BindingNameComponent.java    |  54 --------
 .../camel/component/binding/BindingProducer.java   |  65 ---------
 .../apache/camel/component/binding/package.html    |  28 ----
 .../services/org/apache/camel/component/binding    |  18 ---
 .../component/jackson/JacksonBindingTest.java      |  64 ---------
 .../component/jacksonxml/JacksonBindingTest.java   |  64 ---------
 .../src/main/docs/netty4-component.adoc            |   2 +-
 components/readme.adoc                             |   7 +-
 docs/user-manual/en/SUMMARY.md                     |   1 -
 .../BindingNameComponentAutoConfiguration.java     | 129 -----------------
 .../BindingNameComponentConfiguration.java         |  55 --------
 15 files changed, 4 insertions(+), 802 deletions(-)

diff --git a/camel-core/readme.adoc b/camel-core/readme.adoc
index 9de5b90..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.
 
diff --git a/camel-core/src/main/java/org/apache/camel/component/binding/BindingComponent.java b/camel-core/src/main/java/org/apache/camel/component/binding/BindingComponent.java
deleted file mode 100644
index b1e8264..0000000
--- a/camel-core/src/main/java/org/apache/camel/component/binding/BindingComponent.java
+++ /dev/null
@@ -1,101 +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.binding;
-
-import java.util.Map;
-
-import org.apache.camel.CamelContext;
-import org.apache.camel.Endpoint;
-import org.apache.camel.impl.DefaultComponent;
-import org.apache.camel.spi.Binding;
-import org.apache.camel.util.ObjectHelper;
-
-import static org.apache.camel.util.CamelContextHelper.getMandatoryEndpoint;
-
-/**
- * A composite {@link org.apache.camel.Component} which creates a {@link BindingEndpoint} from a
- * configured {@link Binding} instance and using the optional {@link #setUriPrefix(String)}
- * and {@link #setUriPostfix(String)} to create the underlying endpoint from the remaining URI
- *
- * @deprecated use {@link org.apache.camel.component.binding.BindingNameComponent}
- */
-@Deprecated
-public class BindingComponent extends DefaultComponent {
-    private Binding binding;
-    private String uriPrefix;
-    private String uriPostfix;
-
-    public BindingComponent() {
-    }
-
-    public BindingComponent(Binding binding) {
-        this.binding = binding;
-    }
-
-    public BindingComponent(Binding binding, String uriPrefix) {
-        this(binding);
-        this.uriPrefix = uriPrefix;
-    }
-
-    public BindingComponent(Binding binding, String uriPrefix, String uriPostfix) {
-        this(binding, uriPrefix);
-        this.uriPostfix = uriPostfix;
-    }
-
-    public Binding getBinding() {
-        return binding;
-    }
-
-    public void setBinding(Binding binding) {
-        this.binding = binding;
-    }
-
-    public String getUriPostfix() {
-        return uriPostfix;
-    }
-
-    public void setUriPostfix(String uriPostfix) {
-        this.uriPostfix = uriPostfix;
-    }
-
-    public String getUriPrefix() {
-        return uriPrefix;
-    }
-
-    public void setUriPrefix(String uriPrefix) {
-        this.uriPrefix = uriPrefix;
-    }
-
-    @Override
-    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
-        Binding bindingValue = getBinding();
-        ObjectHelper.notNull(bindingValue, "binding");
-
-        CamelContext camelContext = getCamelContext();
-        String delegateURI = createDelegateURI(remaining, parameters);
-        Endpoint delegate = getMandatoryEndpoint(camelContext, delegateURI);
-        return new BindingEndpoint(uri, this, bindingValue, delegate);
-    }
-
-    protected String createDelegateURI(String remaining, Map<String, Object> parameters) {
-        return getOrEmpty(uriPrefix) + remaining + getOrEmpty(uriPostfix);
-    }
-
-    protected static String getOrEmpty(String text) {
-        return text != null ? text : "";
-    }
-}
diff --git a/camel-core/src/main/java/org/apache/camel/component/binding/BindingConsumerProcessor.java b/camel-core/src/main/java/org/apache/camel/component/binding/BindingConsumerProcessor.java
deleted file mode 100644
index f6d8b80..0000000
--- a/camel-core/src/main/java/org/apache/camel/component/binding/BindingConsumerProcessor.java
+++ /dev/null
@@ -1,60 +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.binding;
-
-import org.apache.camel.CamelContextAware;
-import org.apache.camel.Exchange;
-import org.apache.camel.Processor;
-import org.apache.camel.support.ServiceSupport;
-import org.apache.camel.util.ServiceHelper;
-
-/**
- * Applies a {@link org.apache.camel.spi.Binding} to a consumer
- */
-public class BindingConsumerProcessor extends ServiceSupport implements Processor {
-    private final BindingEndpoint endpoint;
-    private final Processor delegateProcessor;
-    private final Processor bindingProcessor;
-
-    public BindingConsumerProcessor(BindingEndpoint endpoint, Processor delegateProcessor) {
-        this.endpoint = endpoint;
-        this.delegateProcessor = delegateProcessor;
-        this.bindingProcessor = endpoint.getBinding().createConsumeProcessor();
-    }
-
-    @Override
-    public void process(Exchange exchange) throws Exception {
-        endpoint.pipelineBindingProcessor(bindingProcessor, exchange, delegateProcessor);
-    }
-
-    @Override
-    protected void doStart() throws Exception {
-        // inject CamelContext
-        if (bindingProcessor instanceof CamelContextAware) {
-            ((CamelContextAware) bindingProcessor).setCamelContext(endpoint.getCamelContext());
-        }
-        if (delegateProcessor instanceof CamelContextAware) {
-            ((CamelContextAware) delegateProcessor).setCamelContext(endpoint.getCamelContext());
-        }
-        ServiceHelper.startServices(bindingProcessor, delegateProcessor);
-    }
-
-    @Override
-    protected void doStop() throws Exception {
-        ServiceHelper.stopServices(delegateProcessor, bindingProcessor);
-    }
-}
diff --git a/camel-core/src/main/java/org/apache/camel/component/binding/BindingEndpoint.java b/camel-core/src/main/java/org/apache/camel/component/binding/BindingEndpoint.java
deleted file mode 100644
index 0af96df..0000000
--- a/camel-core/src/main/java/org/apache/camel/component/binding/BindingEndpoint.java
+++ /dev/null
@@ -1,153 +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.binding;
-
-import org.apache.camel.CamelContextAware;
-import org.apache.camel.Component;
-import org.apache.camel.Consumer;
-import org.apache.camel.Endpoint;
-import org.apache.camel.Exchange;
-import org.apache.camel.Processor;
-import org.apache.camel.Producer;
-import org.apache.camel.impl.DefaultEndpoint;
-import org.apache.camel.processor.PipelineHelper;
-import org.apache.camel.spi.Binding;
-import org.apache.camel.spi.HasBinding;
-import org.apache.camel.spi.Metadata;
-import org.apache.camel.spi.UriEndpoint;
-import org.apache.camel.spi.UriPath;
-import org.apache.camel.util.CamelContextHelper;
-import org.apache.camel.util.ServiceHelper;
-
-import static org.apache.camel.util.CamelContextHelper.getMandatoryEndpoint;
-
-/**
- * The binding component is used for as a of wrapping an Endpoint in a contract with a data format.
- *
- * In Camel terms a binding is a way of wrapping an Endpoint in a contract; such as a Data Format,
- * a Content Enricher or validation step. Bindings are completely optional and you can choose to use
- * them on any camel endpoint.
- * Bindings are inspired by the work of SwitchYard project adding service contracts to various technologies
- * like Camel and many others. But rather than the SwitchYard approach of wrapping Camel in SCA,
- * Camel Bindings provide a way of wrapping Camel endpoints with contracts inside the Camel framework itself;
- * so you can use them easily inside any Camel route.
- *
- * Applies a {@link org.apache.camel.spi.Binding} to an underlying {@link Endpoint} so that the binding processes messages
- * before its sent to the endpoint and processes messages received by the endpoint consumer before its passed
- * to the real consumer.
- *
- * @deprecated use {@link org.apache.camel.spi.Contract} instead
- */
-@Deprecated @Metadata(deprecationNode = "Use org.apache.camel.spi.Contract instead")
-@UriEndpoint(firstVersion = "2.11.0", scheme = "binding", title = "Binding", syntax = "binding:bindingName:delegateUri",
-    consumerClass = BindingConsumerProcessor.class, label = "core,transformation")
-public class BindingEndpoint extends DefaultEndpoint implements HasBinding {
-
-    @UriPath @Metadata(required = "true")
-    private final String bindingName;
-    @UriPath @Metadata(required = "true")
-    private final String delegateUri;
-    private Binding binding;
-    private Endpoint delegate;
-
-    @Deprecated
-    public BindingEndpoint(String uri, Component component, Binding binding, Endpoint delegate) {
-        super(uri, component);
-        this.binding = binding;
-        this.delegate = delegate;
-        this.bindingName = null;
-        this.delegateUri = null;
-    }
-
-    public BindingEndpoint(String uri, Component component, String bindingName, String delegateUri) {
-        super(uri, component);
-        this.bindingName = bindingName;
-        this.delegateUri = delegateUri;
-    }
-
-    @Override
-    public Producer createProducer() throws Exception {
-        return new BindingProducer(this);
-    }
-
-    @Override
-    public Consumer createConsumer(Processor processor) throws Exception {
-        Processor bindingProcessor = new BindingConsumerProcessor(this, processor);
-        return delegate.createConsumer(bindingProcessor);
-    }
-
-    @Override
-    public boolean isSingleton() {
-        return true;
-    }
-
-    @Override
-    public Binding getBinding() {
-        return binding;
-    }
-
-    public Endpoint getDelegate() {
-        return delegate;
-    }
-
-    /**
-     * Name of the binding to lookup in the Camel registry.
-     */
-    public String getBindingName() {
-        return bindingName;
-    }
-
-    /**
-     * Uri of the delegate endpoint.
-     */
-    public String getDelegateUri() {
-        return delegateUri;
-    }
-
-    /**
-     * Applies the {@link Binding} processor to the given exchange before passing it on to the delegateProcessor (either a producer or consumer)
-     */
-    public void pipelineBindingProcessor(Processor bindingProcessor, Exchange exchange, Processor delegateProcessor) throws Exception {
-        bindingProcessor.process(exchange);
-
-        Exchange delegateExchange = PipelineHelper.createNextExchange(exchange);
-        delegateProcessor.process(delegateExchange);
-    }
-
-    @Override
-    protected void doStart() throws Exception {
-        if (binding == null) {
-            binding = CamelContextHelper.mandatoryLookup(getCamelContext(), bindingName, Binding.class);
-        }
-        if (delegate == null) {
-            delegate = getMandatoryEndpoint(getCamelContext(), delegateUri);
-        }
-
-        // inject CamelContext
-        if (binding instanceof CamelContextAware) {
-            ((CamelContextAware) binding).setCamelContext(getCamelContext());
-        }
-        ServiceHelper.startServices(delegate, binding);
-        super.doStart();
-    }
-
-    @Override
-    protected void doStop() throws Exception {
-        ServiceHelper.stopServices(delegate, binding);
-        super.doStop();
-    }
-}
diff --git a/camel-core/src/main/java/org/apache/camel/component/binding/BindingNameComponent.java b/camel-core/src/main/java/org/apache/camel/component/binding/BindingNameComponent.java
deleted file mode 100644
index 31b32db..0000000
--- a/camel-core/src/main/java/org/apache/camel/component/binding/BindingNameComponent.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.binding;
-
-import java.util.Map;
-
-import org.apache.camel.Endpoint;
-import org.apache.camel.impl.UriEndpointComponent;
-
-/**
- * The <a href="http://camel.apache.org/binding.html>Binding Component<a/> is for composing a Camel component with a Camel data-format as a single binding unit.
- * <p/>
- *
- * A Binding component using the URI form <code>binding:nameOfBinding:endpointURI</code>
- * to extract the binding name which is then resolved from the registry and used to create a
- * {@link BindingEndpoint} from the underlying {@link Endpoint}
- */
-public class BindingNameComponent extends UriEndpointComponent {
-
-    protected static final String BAD_FORMAT_MESSAGE = "URI should be of the format binding:nameOfBinding:endpointURI";
-
-    public BindingNameComponent() {
-        super(BindingEndpoint.class);
-    }
-
-    @Override
-    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
-        int idx = remaining.indexOf(":");
-        if (idx <= 0) {
-            throw new IllegalArgumentException(BAD_FORMAT_MESSAGE);
-        }
-        String bindingName = remaining.substring(0, idx);
-        String delegateURI = remaining.substring(idx + 1);
-        if (delegateURI.isEmpty()) {
-            throw new IllegalArgumentException(BAD_FORMAT_MESSAGE);
-        }
-        return new BindingEndpoint(uri, this, bindingName, delegateURI);
-    }
-
-}
diff --git a/camel-core/src/main/java/org/apache/camel/component/binding/BindingProducer.java b/camel-core/src/main/java/org/apache/camel/component/binding/BindingProducer.java
deleted file mode 100644
index 4d728e7..0000000
--- a/camel-core/src/main/java/org/apache/camel/component/binding/BindingProducer.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.binding;
-
-import org.apache.camel.CamelContextAware;
-import org.apache.camel.Endpoint;
-import org.apache.camel.Exchange;
-import org.apache.camel.Processor;
-import org.apache.camel.Producer;
-import org.apache.camel.impl.DefaultProducer;
-import org.apache.camel.util.ServiceHelper;
-
-/**
- * A {@link Producer} which applies a {@link org.apache.camel.spi.Binding} before invoking the underlying {@link Producer} on the {@link Endpoint}
- */
-public class BindingProducer extends DefaultProducer {
-    private final BindingEndpoint endpoint;
-    private final Processor bindingProcessor;
-    private final Producer delegateProducer;
-
-    public BindingProducer(BindingEndpoint endpoint) throws Exception {
-        super(endpoint);
-        this.endpoint = endpoint;
-        this.bindingProcessor = endpoint.getBinding().createProduceProcessor();
-        this.delegateProducer = endpoint.getDelegate().createProducer();
-    }
-
-    @Override
-    public void process(Exchange exchange) throws Exception {
-        endpoint.pipelineBindingProcessor(bindingProcessor, exchange, delegateProducer);
-    }
-
-    @Override
-    protected void doStart() throws Exception {
-        // inject CamelContext
-        if (bindingProcessor instanceof CamelContextAware) {
-            ((CamelContextAware) bindingProcessor).setCamelContext(getEndpoint().getCamelContext());
-        }
-        if (delegateProducer instanceof CamelContextAware) {
-            ((CamelContextAware) delegateProducer).setCamelContext(getEndpoint().getCamelContext());
-        }
-        ServiceHelper.startServices(bindingProcessor, delegateProducer);
-        super.doStart();
-    }
-
-    @Override
-    protected void doStop() throws Exception {
-        ServiceHelper.stopServices(delegateProducer, bindingProcessor);
-        super.doStop();
-    }
-}
diff --git a/camel-core/src/main/java/org/apache/camel/component/binding/package.html b/camel-core/src/main/java/org/apache/camel/component/binding/package.html
deleted file mode 100644
index 525f550..0000000
--- a/camel-core/src/main/java/org/apache/camel/component/binding/package.html
+++ /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.
-
--->
-<html>
-<head>
-</head>
-<body>
-
-The <a href="http://camel.apache.org/binding.html">Binding Component</a> which is
-a way of wrapping an Endpoint in a contract; such as a Data Format, a Content Enricher or validation step.
-
-</body>
-</html>
diff --git a/camel-core/src/main/resources/META-INF/services/org/apache/camel/component/binding b/camel-core/src/main/resources/META-INF/services/org/apache/camel/component/binding
deleted file mode 100644
index ff5a73d..0000000
--- a/camel-core/src/main/resources/META-INF/services/org/apache/camel/component/binding
+++ /dev/null
@@ -1,18 +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.
-#
-
-class=org.apache.camel.component.binding.BindingNameComponent
\ No newline at end of file
diff --git a/components/camel-jackson/src/test/java/org/apache/camel/component/jackson/JacksonBindingTest.java b/components/camel-jackson/src/test/java/org/apache/camel/component/jackson/JacksonBindingTest.java
deleted file mode 100644
index 2ac3e6d..0000000
--- a/components/camel-jackson/src/test/java/org/apache/camel/component/jackson/JacksonBindingTest.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.jackson;
-
-import javax.naming.Context;
-
-import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.binding.BindingComponent;
-import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.processor.binding.DataFormatBinding;
-import org.apache.camel.test.junit4.CamelTestSupport;
-import org.junit.Test;
-
-public class JacksonBindingTest extends CamelTestSupport {
-    protected MockEndpoint results;
-
-    @Test
-    public void testMarshalAndUnmarshalPojo() throws Exception {
-        TestPojo in = new TestPojo();
-        in.setName("Camel");
-
-        results.expectedMessageCount(1);
-        results.message(0).body().isInstanceOf(TestPojo.class);
-        results.message(0).body().isEqualTo(in);
-
-        template.sendBody("direct:start", in);
-        results.assertIsSatisfied();
-    }
-
-    @Override
-    protected RouteBuilder createRouteBuilder() throws Exception {
-        results = getMockEndpoint("mock:results");
-        return new RouteBuilder() {
-
-            @Override
-            public void configure() throws Exception {
-                from("direct:start").to("jsonmq:orders").to("file:target/copyOfMessages");
-                from("jsonmq:orders").to(results);
-            }
-        };
-    }
-
-    @Override
-    protected Context createJndiContext() throws Exception {
-        Context context = super.createJndiContext();
-        JacksonDataFormat format = new JacksonDataFormat(TestPojo.class);
-        context.bind("jsonmq", new BindingComponent(new DataFormatBinding(format), "file:target/"));
-        return context;
-    }
-}
diff --git a/components/camel-jacksonxml/src/test/java/org/apache/camel/component/jacksonxml/JacksonBindingTest.java b/components/camel-jacksonxml/src/test/java/org/apache/camel/component/jacksonxml/JacksonBindingTest.java
deleted file mode 100644
index 97b049f..0000000
--- a/components/camel-jacksonxml/src/test/java/org/apache/camel/component/jacksonxml/JacksonBindingTest.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.jacksonxml;
-
-import javax.naming.Context;
-
-import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.binding.BindingComponent;
-import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.processor.binding.DataFormatBinding;
-import org.apache.camel.test.junit4.CamelTestSupport;
-import org.junit.Test;
-
-public class JacksonBindingTest extends CamelTestSupport {
-    protected MockEndpoint results;
-
-    @Test
-    public void testMarshalAndUnmarshalPojo() throws Exception {
-        TestPojo in = new TestPojo();
-        in.setName("Camel");
-
-        results.expectedMessageCount(1);
-        results.message(0).body().isInstanceOf(TestPojo.class);
-        results.message(0).body().isEqualTo(in);
-
-        template.sendBody("direct:start", in);
-        results.assertIsSatisfied();
-    }
-
-    @Override
-    protected RouteBuilder createRouteBuilder() throws Exception {
-        results = getMockEndpoint("mock:results");
-        return new RouteBuilder() {
-
-            @Override
-            public void configure() throws Exception {
-                from("direct:start").to("jsonmq:orders").to("file:target/copyOfMessages");
-                from("jsonmq:orders").to(results);
-            }
-        };
-    }
-
-    @Override
-    protected Context createJndiContext() throws Exception {
-        Context context = super.createJndiContext();
-        JacksonXMLDataFormat format = new JacksonXMLDataFormat(TestPojo.class);
-        context.bind("jsonmq", new BindingComponent(new DataFormatBinding(format), "file:target/"));
-        return context;
-    }
-}
diff --git a/components/camel-netty4/src/main/docs/netty4-component.adoc b/components/camel-netty4/src/main/docs/netty4-component.adoc
index 705c6d7..4fc283a 100644
--- a/components/camel-netty4/src/main/docs/netty4-component.adoc
+++ b/components/camel-netty4/src/main/docs/netty4-component.adoc
@@ -179,7 +179,7 @@ The component supports 78 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
diff --git a/components/readme.adoc b/components/readme.adoc
index 7d8a917..055e173 100644
--- a/components/readme.adoc
+++ b/components/readme.adoc
@@ -2,7 +2,7 @@ Components
 ^^^^^^^^^^
 
 // components: START
-Number of Components: 281 in 185 JAR artifacts (1 deprecated)
+Number of Components: 280 in 185 JAR artifacts (0 deprecated)
 
 [width="100%",cols="4,1,5",options="header"]
 |===
@@ -125,9 +125,6 @@ Number of Components: 281 in 185 JAR artifacts (1 deprecated)
 | link:camel-beanstalk/src/main/docs/beanstalk-component.adoc[Beanstalk] (camel-beanstalk) +
 `beanstalk:connectionSettings` | 2.15 | The beanstalk component is used for job retrieval and post-processing of Beanstalk jobs.
 
-| link:../camel-core/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:camel-bonita/src/main/docs/bonita-component.adoc[Bonita] (camel-bonita) +
 `bonita:operation` | 2.19 | Used for communicating with a remote Bonita BPM process engine.
 
@@ -1007,7 +1004,7 @@ Miscellaneous Components
 ^^^^^^^^^^^^^^^^^^^^^^^^
 
 // others: START
-Number of Miscellaneous Components: 31 in 31 JAR artifacts (0 deprecated)
+Number of Miscellaneous Components: 30 in 30 JAR artifacts (0 deprecated)
 
 [width="100%",cols="4,1,5",options="header"]
 |===
diff --git a/docs/user-manual/en/SUMMARY.md b/docs/user-manual/en/SUMMARY.md
index fbf4435..9173deb 100644
--- a/docs/user-manual/en/SUMMARY.md
+++ b/docs/user-manual/en/SUMMARY.md
@@ -86,7 +86,6 @@
 <!-- core components: START -->
 * Core Components
 	* [Bean](bean-component.adoc)
-	* [Binding](binding-component.adoc)
 	* [Browse](browse-component.adoc)
 	* [Class](class-component.adoc)
 	* [Control Bus](controlbus-component.adoc)
diff --git a/platforms/spring-boot/components-starter/camel-core-starter/src/main/java/org/apache/camel/component/binding/springboot/BindingNameComponentAutoConfiguration.java b/platforms/spring-boot/components-starter/camel-core-starter/src/main/java/org/apache/camel/component/binding/springboot/BindingNameComponentAutoConfiguration.java
deleted file mode 100644
index 30c9566..0000000
--- a/platforms/spring-boot/components-starter/camel-core-starter/src/main/java/org/apache/camel/component/binding/springboot/BindingNameComponentAutoConfiguration.java
+++ /dev/null
@@ -1,129 +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.binding.springboot;
-
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import javax.annotation.Generated;
-import org.apache.camel.CamelContext;
-import org.apache.camel.component.binding.BindingNameComponent;
-import org.apache.camel.spi.ComponentCustomizer;
-import org.apache.camel.spi.HasId;
-import org.apache.camel.spring.boot.CamelAutoConfiguration;
-import org.apache.camel.spring.boot.ComponentConfigurationProperties;
-import org.apache.camel.spring.boot.util.CamelPropertiesHelper;
-import org.apache.camel.spring.boot.util.ConditionalOnCamelContextAndAutoConfigurationBeans;
-import org.apache.camel.spring.boot.util.GroupCondition;
-import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
-import org.apache.camel.util.IntrospectionSupport;
-import org.apache.camel.util.ObjectHelper;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.autoconfigure.AutoConfigureAfter;
-import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
-import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
-import org.springframework.boot.context.properties.EnableConfigurationProperties;
-import org.springframework.context.ApplicationContext;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Conditional;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.context.annotation.Lazy;
-
-/**
- * Generated by camel-package-maven-plugin - do not edit this file!
- */
-@Generated("org.apache.camel.maven.packaging.SpringBootAutoConfigurationMojo")
-@Configuration
-@Conditional({ConditionalOnCamelContextAndAutoConfigurationBeans.class,
-        BindingNameComponentAutoConfiguration.GroupConditions.class})
-@AutoConfigureAfter(CamelAutoConfiguration.class)
-@EnableConfigurationProperties({ComponentConfigurationProperties.class,
-        BindingNameComponentConfiguration.class})
-public class BindingNameComponentAutoConfiguration {
-
-    private static final Logger LOGGER = LoggerFactory
-            .getLogger(BindingNameComponentAutoConfiguration.class);
-    @Autowired
-    private ApplicationContext applicationContext;
-    @Autowired
-    private CamelContext camelContext;
-    @Autowired
-    private BindingNameComponentConfiguration configuration;
-    @Autowired(required = false)
-    private List<ComponentCustomizer<BindingNameComponent>> customizers;
-
-    static class GroupConditions extends GroupCondition {
-        public GroupConditions() {
-            super("camel.component", "camel.component.binding");
-        }
-    }
-
-    @Lazy
-    @Bean(name = "binding-component")
-    @ConditionalOnMissingBean(BindingNameComponent.class)
-    public BindingNameComponent configureBindingNameComponent()
-            throws Exception {
-        BindingNameComponent component = new BindingNameComponent();
-        component.setCamelContext(camelContext);
-        Map<String, Object> parameters = new HashMap<>();
-        IntrospectionSupport.getProperties(configuration, parameters, null,
-                false);
-        for (Map.Entry<String, Object> entry : parameters.entrySet()) {
-            Object value = entry.getValue();
-            Class<?> paramClass = value.getClass();
-            if (paramClass.getName().endsWith("NestedConfiguration")) {
-                Class nestedClass = null;
-                try {
-                    nestedClass = (Class) paramClass.getDeclaredField(
-                            "CAMEL_NESTED_CLASS").get(null);
-                    HashMap<String, Object> nestedParameters = new HashMap<>();
-                    IntrospectionSupport.getProperties(value, nestedParameters,
-                            null, false);
-                    Object nestedProperty = nestedClass.newInstance();
-                    CamelPropertiesHelper.setCamelProperties(camelContext,
-                            nestedProperty, nestedParameters, false);
-                    entry.setValue(nestedProperty);
-                } catch (NoSuchFieldException e) {
-                }
-            }
-        }
-        CamelPropertiesHelper.setCamelProperties(camelContext, component,
-                parameters, false);
-        if (ObjectHelper.isNotEmpty(customizers)) {
-            for (ComponentCustomizer<BindingNameComponent> customizer : customizers) {
-                boolean useCustomizer = (customizer instanceof HasId)
-                        ? HierarchicalPropertiesEvaluator.evaluate(
-                                applicationContext.getEnvironment(),
-                                "camel.component.customizer",
-                                "camel.component.binding.customizer",
-                                ((HasId) customizer).getId())
-                        : HierarchicalPropertiesEvaluator.evaluate(
-                                applicationContext.getEnvironment(),
-                                "camel.component.customizer",
-                                "camel.component.binding.customizer");
-                if (useCustomizer) {
-                    LOGGER.debug("Configure component {}, with customizer {}",
-                            component, customizer);
-                    customizer.customize(component);
-                }
-            }
-        }
-        return component;
-    }
-}
\ No newline at end of file
diff --git a/platforms/spring-boot/components-starter/camel-core-starter/src/main/java/org/apache/camel/component/binding/springboot/BindingNameComponentConfiguration.java b/platforms/spring-boot/components-starter/camel-core-starter/src/main/java/org/apache/camel/component/binding/springboot/BindingNameComponentConfiguration.java
deleted file mode 100644
index 0fa054b..0000000
--- a/platforms/spring-boot/components-starter/camel-core-starter/src/main/java/org/apache/camel/component/binding/springboot/BindingNameComponentConfiguration.java
+++ /dev/null
@@ -1,55 +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.binding.springboot;
-
-import javax.annotation.Generated;
-import org.apache.camel.spring.boot.ComponentConfigurationPropertiesCommon;
-import org.springframework.boot.context.properties.ConfigurationProperties;
-
-/**
- * The binding component is used for as a of wrapping an Endpoint in a contract
- * with a data format.
- * 
- * Generated by camel-package-maven-plugin - do not edit this file!
- */
-@Generated("org.apache.camel.maven.packaging.SpringBootAutoConfigurationMojo")
-@ConfigurationProperties(prefix = "camel.component.binding")
-public class BindingNameComponentConfiguration
-        extends
-            ComponentConfigurationPropertiesCommon {
-
-    /**
-     * Whether to enable auto configuration of the binding component. This is
-     * enabled by default.
-     */
-    private Boolean enabled;
-    /**
-     * Whether the component should resolve property placeholders on itself when
-     * starting. Only properties which are of String type can use property
-     * placeholders.
-     */
-    private Boolean resolvePropertyPlaceholders = true;
-
-    public Boolean getResolvePropertyPlaceholders() {
-        return resolvePropertyPlaceholders;
-    }
-
-    public void setResolvePropertyPlaceholders(
-            Boolean resolvePropertyPlaceholders) {
-        this.resolvePropertyPlaceholders = resolvePropertyPlaceholders;
-    }
-}
\ No newline at end of file