You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ja...@apache.org on 2019/08/01 22:53:22 UTC

[camel] branch master updated: CAMEL-13811: Remove camel-boon

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

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


The following commit(s) were added to refs/heads/master by this push:
     new 0b9ad3b  CAMEL-13811: Remove camel-boon
0b9ad3b is described below

commit 0b9ad3bc6545c0ac386e9ea294c55d5fa852c774
Author: Jan Bednář <ma...@janbednar.eu>
AuthorDate: Thu Aug 1 15:22:58 2019 +0200

    CAMEL-13811: Remove camel-boon
---
 apache-camel/pom.xml                               |  10 -
 apache-camel/src/main/descriptors/common-bin.xml   |   2 -
 bom/camel-bom/pom.xml                              |  10 -
 components/camel-boon/pom.xml                      | 102 -----------
 .../camel-boon/src/main/docs/boon-dataformat.adoc  | 104 -----------
 .../camel/component/boon/BoonDataFormat.java       | 145 ---------------
 .../camel/component/boon/BoonConcurrentTest.java   |  75 --------
 .../camel/component/boon/BoonDataFormatTest.java   | 141 --------------
 .../org/apache/camel/component/boon/TestPojo.java  |  45 -----
 .../src/test/resources/log4j2.properties           |  28 ---
 components/pom.xml                                 |   1 -
 components/readme.adoc                             |   4 +-
 .../org/apache/camel/builder/DataFormatClause.java |  12 --
 .../org/apache/camel/model/MarshalDefinition.java  |   2 -
 .../apache/camel/model/UnmarshalDefinition.java    |   2 -
 .../camel/model/dataformat/BoonDataFormat.java     |  89 ---------
 .../model/dataformat/DataFormatsDefinition.java    |   1 -
 .../DataFormatTransformerDefinition.java           |   2 -
 .../reifier/dataformat/BoonDataFormatReifier.java  |  53 ------
 .../reifier/dataformat/DataFormatReifier.java      |   2 -
 docs/components/modules/ROOT/nav.adoc              |   1 -
 .../modules/ROOT/pages/boon-dataformat.adoc        | 104 -----------
 .../modules/ROOT/pages/data-format.adoc            |   1 -
 docs/user-manual/modules/ROOT/pages/index.adoc     |   1 -
 parent/pom.xml                                     |  11 --
 .../karaf/features/src/main/resources/features.xml |   5 -
 .../components-starter/camel-boon-starter/pom.xml  |  53 ------
 .../BoonDataFormatAutoConfiguration.java           | 128 -------------
 .../springboot/BoonDataFormatConfiguration.java    |  79 --------
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../additional-spring-configuration-metadata.json  |  10 -
 .../src/main/resources/META-INF/spring.factories   |  18 --
 .../src/main/resources/META-INF/spring.provides    |  17 --
 platforms/spring-boot/components-starter/pom.xml   |   1 -
 .../camel-spring-boot-dependencies/pom.xml         |  10 -
 .../apache/camel/itest/karaf/CamelBoonTest.java    |  33 ----
 .../camel/itest/springboot/CamelBoonTest.java      |  48 -----
 38 files changed, 1 insertion(+), 1563 deletions(-)

diff --git a/apache-camel/pom.xml b/apache-camel/pom.xml
index 81e6ee6..be3a35d 100644
--- a/apache-camel/pom.xml
+++ b/apache-camel/pom.xml
@@ -324,11 +324,6 @@
     </dependency>
     <dependency>
       <groupId>org.apache.camel</groupId>
-      <artifactId>camel-boon</artifactId>
-      <version>${project.version}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.camel</groupId>
       <artifactId>camel-box</artifactId>
       <version>${project.version}</version>
     </dependency>
@@ -1853,11 +1848,6 @@
     </dependency>
     <dependency>
       <groupId>org.apache.camel</groupId>
-      <artifactId>camel-boon-starter</artifactId>
-      <version>${project.version}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.camel</groupId>
       <artifactId>camel-box-starter</artifactId>
       <version>${project.version}</version>
     </dependency>
diff --git a/apache-camel/src/main/descriptors/common-bin.xml b/apache-camel/src/main/descriptors/common-bin.xml
index af708a9..dab252d 100644
--- a/apache-camel/src/main/descriptors/common-bin.xml
+++ b/apache-camel/src/main/descriptors/common-bin.xml
@@ -85,7 +85,6 @@
         <include>org.apache.camel:camel-bindy</include>
         <include>org.apache.camel:camel-blueprint</include>
         <include>org.apache.camel:camel-bonita</include>
-        <include>org.apache.camel:camel-boon</include>
         <include>org.apache.camel:camel-box</include>
         <include>org.apache.camel:camel-box-api</include>
         <include>org.apache.camel:camel-braintree</include>
@@ -430,7 +429,6 @@
         <include>org.apache.camel:camel-beanstalk-starter</include>
         <include>org.apache.camel:camel-bindy-starter</include>
         <include>org.apache.camel:camel-bonita-starter</include>
-        <include>org.apache.camel:camel-boon-starter</include>
         <include>org.apache.camel:camel-box-starter</include>
         <include>org.apache.camel:camel-braintree-starter</include>
         <include>org.apache.camel:camel-browse-starter</include>
diff --git a/bom/camel-bom/pom.xml b/bom/camel-bom/pom.xml
index 5a4a80e..d847ed2 100644
--- a/bom/camel-bom/pom.xml
+++ b/bom/camel-bom/pom.xml
@@ -468,16 +468,6 @@
       </dependency>
       <dependency>
         <groupId>org.apache.camel</groupId>
-        <artifactId>camel-boon</artifactId>
-        <version>${project.version}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.apache.camel</groupId>
-        <artifactId>camel-boon-starter</artifactId>
-        <version>${project.version}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.apache.camel</groupId>
         <artifactId>camel-box</artifactId>
         <version>${project.version}</version>
       </dependency>
diff --git a/components/camel-boon/pom.xml b/components/camel-boon/pom.xml
deleted file mode 100644
index 4f6ec98..0000000
--- a/components/camel-boon/pom.xml
+++ /dev/null
@@ -1,102 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
-    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.
-
--->
-<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0"
-         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-    <modelVersion>4.0.0</modelVersion>
-
-    <parent>
-        <groupId>org.apache.camel</groupId>
-        <artifactId>components</artifactId>
-        <version>3.0.0-SNAPSHOT</version>
-    </parent>
-
-    <artifactId>camel-boon</artifactId>
-    <packaging>jar</packaging>
-    <name>Camel :: Boon</name>
-    <description>Camel Boon support</description>
-
-    <properties>
-        <camel.osgi.import.before.defaults>
-            org.boon.json.*;version="[${boon-version},1)"
-        </camel.osgi.import.before.defaults>
-    </properties>
-
-    <dependencies>
-        <dependency>
-            <groupId>org.apache.camel</groupId>
-            <artifactId>camel-support</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>io.fastjson</groupId>
-            <artifactId>boon</artifactId>
-            <version>${boon-version}</version>
-            <scope>compile</scope>
-        </dependency>
-
-        <!-- Testing -->
-        <dependency>
-            <groupId>org.apache.camel</groupId>
-            <artifactId>camel-test-spring</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.logging.log4j</groupId>
-            <artifactId>log4j-api</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.logging.log4j</groupId>
-            <artifactId>log4j-core</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.logging.log4j</groupId>
-            <artifactId>log4j-slf4j-impl</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>junit</groupId>
-            <artifactId>junit</artifactId>
-            <scope>test</scope>
-        </dependency>
-    </dependencies>
-
-    <profiles>
-        <profile>
-            <id>jdk9+-build</id>
-            <activation>
-                <jdk>[9,)</jdk>
-            </activation>
-            <build>
-                <plugins>
-                    <plugin>
-                        <artifactId>maven-surefire-plugin</artifactId>
-                        <configuration>
-                            <excludes>
-                                <!--TODO: See https://github.com/boonproject/boon/issues/376 for more details-->
-                                <exclude>**/**.java</exclude>
-                            </excludes>
-                        </configuration>
-                    </plugin>
-                </plugins>
-            </build>
-        </profile>
-    </profiles>
-</project>
diff --git a/components/camel-boon/src/main/docs/boon-dataformat.adoc b/components/camel-boon/src/main/docs/boon-dataformat.adoc
deleted file mode 100644
index 40c9bd8..0000000
--- a/components/camel-boon/src/main/docs/boon-dataformat.adoc
+++ /dev/null
@@ -1,104 +0,0 @@
-[[boon-dataformat]]
-= Boon DataFormat
-
-*Available as of Camel version 2.16*
-
-Boon is a Data Format which uses the
-http://richardhightower.github.io/site/Boon/Welcome.html[Boon
-JSON] marshalling library to unmarshal an JSON payload into Java objects
-or to marshal Java objects into an JSON payload. Boon aims to be a
-simple
-and https://github.com/RichardHightower/json-parsers-benchmark[fast
-parser] than other common parsers currently used.
-
-== Options
-
-
-
-
-// dataformat options: START
-The Boon dataformat supports 3 options, which are listed below.
-
-
-
-[width="100%",cols="2s,1m,1m,6",options="header"]
-|===
-| Name | Default | Java Type | Description
-| unmarshalTypeName |  | String | Class name of the java type to use when unarmshalling
-| useList | false | Boolean | To unarmshal to a List of Map or a List of Pojo.
-| contentTypeHeader | false | Boolean | Whether the data format should set the Content-Type header with the type from the data format if the data format is capable of doing so. For example application/xml for data formats marshalling to XML, or application/json for data formats marshalling to JSon etc.
-|===
-// dataformat options: END
-// spring-boot-auto-configure options: START
-== Spring Boot Auto-Configuration
-
-When using Spring Boot make sure to use the following Maven dependency to have support for auto configuration:
-
-[source,xml]
-----
-<dependency>
-  <groupId>org.apache.camel</groupId>
-  <artifactId>camel-boon-starter</artifactId>
-  <version>x.x.x</version>
-  <!-- use the same version as your Camel core version -->
-</dependency>
-----
-
-
-The component supports 4 options, which are listed below.
-
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *camel.dataformat.boon.content-type-header* | Whether the data format should set the Content-Type header with the type from the data format if the data format is capable of doing so. For example application/xml for data formats marshalling to XML, or application/json for data formats marshalling to JSon etc. | false | Boolean
-| *camel.dataformat.boon.enabled* | Enable boon dataformat | true | Boolean
-| *camel.dataformat.boon.unmarshal-type-name* | Class name of the java type to use when unarmshalling |  | String
-| *camel.dataformat.boon.use-list* | To unarmshal to a List of Map or a List of Pojo. | false | Boolean
-|===
-// spring-boot-auto-configure options: END
-ND
-
-
-
-
-
-== Using the Java DSL
-
-[source,java]
-------------------------------------------------------------------------
-DataFormat boonDataFormat = new BoonDataFormat("com.acme.model.Person");
-
-from("activemq:My.Queue")
-  .unmarshal(boonDataFormat)
-  .to("mqseries:Another.Queue");
-------------------------------------------------------------------------
-
-== Using Blueprint XML
-
-[source,java]
----------------------------------------------------------------------------------
-<bean id="boonDataFormat" class="org.apache.camel.component.boon.BoonDataFormat">
-  <argument value="com.acme.model.Person"/>
-</bean>
- 
-<camelContext id="camel" xmlns="http://camel.apache.org/schema/blueprint">
-  <route>
-    <from uri="activemq:My.Queue"/>
-    <unmarshal><custom ref="boonDataFormat"/></unmarshal>
-    <to uri="mqseries:Another.Queue"/>
-  </route>
-</camelContext>
----------------------------------------------------------------------------------
-
-== Dependencies
-
-[source,java]
--------------------------------------
-<dependency>
-  <groupId>org.apache.camel</groupId>
-  <artifactId>camel-boon</artifactId>
-  <version>x.x.x</version>
-</dependency>
--------------------------------------
diff --git a/components/camel-boon/src/main/java/org/apache/camel/component/boon/BoonDataFormat.java b/components/camel-boon/src/main/java/org/apache/camel/component/boon/BoonDataFormat.java
deleted file mode 100644
index b903e71..0000000
--- a/components/camel-boon/src/main/java/org/apache/camel/component/boon/BoonDataFormat.java
+++ /dev/null
@@ -1,145 +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.boon;
-
-import java.io.BufferedReader;
-import java.io.BufferedWriter;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.io.OutputStream;
-import java.io.OutputStreamWriter;
-import java.util.List;
-
-import org.apache.camel.Exchange;
-import org.apache.camel.NonManagedService;
-import org.apache.camel.spi.DataFormat;
-import org.apache.camel.spi.DataFormatName;
-import org.apache.camel.spi.annotations.Dataformat;
-import org.apache.camel.support.ExchangeHelper;
-import org.apache.camel.support.service.ServiceSupport;
-import org.apache.camel.util.IOHelper;
-import org.boon.json.JsonFactory;
-import org.boon.json.ObjectMapper;
-
-/**
- * A <a href="http://camel.apache.org/data-format.html">data format</a> (
- * {@link DataFormat}) using <a
- * href="http://richardhightower.github.io/site/Boon/">Boon</a> to marshal to
- * and from JSON.
- */
-@Dataformat("boon")
-public class BoonDataFormat extends ServiceSupport implements DataFormat, DataFormatName, NonManagedService {
-
-    private final ObjectMapper objectMapper;
-    private Class<?> unmarshalType;
-    private boolean useList;
-
-    public BoonDataFormat() {
-        this(null);
-    }
-
-    /**
-     * Use the default Boon {@link ObjectMapper} and with a custom unmarshal
-     * type
-     * 
-     * @param unmarshalType the custom unmarshal type
-     */
-    public BoonDataFormat(Class<?> unmarshalType) {
-        this(unmarshalType, JsonFactory.create());
-    }
-
-    /**
-     * Use a custom unmarshal type and Boon mapper
-     * 
-     * @param mapper the custom mapper
-     * @param unmarshalType the custom unmarshal type
-     */
-    public BoonDataFormat(Class<?> unmarshalType, ObjectMapper mapper) {
-        this.unmarshalType = unmarshalType;
-        this.objectMapper = mapper;
-    }
-
-    @Override
-    public String getDataFormatName() {
-        return "boon";
-    }
-
-    @Override
-    public void marshal(Exchange exchange, Object graph, OutputStream stream) throws Exception {
-        BufferedWriter writer = IOHelper.buffered(new OutputStreamWriter(stream, ExchangeHelper.getCharsetName(exchange)));
-        objectMapper.toJson(graph, writer);
-        writer.close();
-    }
-
-    @Override
-    public Object unmarshal(Exchange exchange, InputStream stream) throws Exception {
-        BufferedReader reader = IOHelper.buffered(new InputStreamReader(stream, ExchangeHelper.getCharsetName(exchange)));
-        Object result;
-        try {
-            if (unmarshalType != null) {
-                result = objectMapper.fromJson(reader, unmarshalType);
-            } else {
-                result = objectMapper.fromJson(reader);
-            }
-        } finally {
-            IOHelper.close(reader);
-        }
-        return result;
-    }
-
-    @Override
-    protected void doStart() throws Exception {
-        if (useList) {
-            useList();
-        }
-    }
-
-    @Override
-    protected void doStop() throws Exception {
-        // noop
-    }
-
-    // Properties
-    // -------------------------------------------------------------------------
-
-    public Class<?> getUnmarshalType() {
-        return this.unmarshalType;
-    }
-
-    public void setUnmarshalType(Class<?> unmarshalType) {
-        this.unmarshalType = unmarshalType;
-    }
-
-    public ObjectMapper getObjectMapper() {
-        return this.objectMapper;
-    }
-    
-    public Boolean getUseList() {
-        return useList;
-    }
-
-    public void setUseList(Boolean useList) {
-        this.useList = useList;
-    }    
-
-    /**
-     * Uses {@link java.util.List} when unmarshalling.
-     */
-    public void useList() {
-        setUnmarshalType(List.class);
-    }
-}
diff --git a/components/camel-boon/src/test/java/org/apache/camel/component/boon/BoonConcurrentTest.java b/components/camel-boon/src/test/java/org/apache/camel/component/boon/BoonConcurrentTest.java
deleted file mode 100644
index 2e798f8..0000000
--- a/components/camel-boon/src/test/java/org/apache/camel/component/boon/BoonConcurrentTest.java
+++ /dev/null
@@ -1,75 +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.boon;
-
-import java.util.concurrent.Callable;
-import java.util.concurrent.ExecutorService;
-import java.util.concurrent.Executors;
-
-import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.test.junit4.CamelTestSupport;
-import org.junit.Test;
-
-public class BoonConcurrentTest extends CamelTestSupport {
-
-    @Test
-    public void testNoConcurrentProducers() throws Exception {
-        doSendMessages(1, 1);
-    }
-
-    @Test
-    public void testConcurrentProducers() throws Exception {
-        doSendMessages(10, 5);
-    }
-
-    private void doSendMessages(int files, int poolSize) throws Exception {
-        getMockEndpoint("mock:result").expectedMessageCount(files);
-        getMockEndpoint("mock:result").assertNoDuplicates(body());
-
-        ExecutorService executor = Executors.newFixedThreadPool(poolSize);
-        for (int i = 0; i < files; i++) {
-            final int index = i;
-            executor.submit(new Callable<Object>() {
-                public Object call() throws Exception {
-                    TestPojo pojo = new TestPojo();
-                    pojo.setName("Hi " + index);
-
-                    template.sendBody("direct:start", pojo);
-                    return null;
-                }
-            });
-        }
-
-        assertMockEndpointsSatisfied();
-        executor.shutdownNow();
-    }
-
-    protected RouteBuilder createRouteBuilder() {
-        return new RouteBuilder() {
-            public void configure() {
-                BoonDataFormat format = new BoonDataFormat();
-
-                from("direct:start").marshal(format).to("log:marshalled").to("direct:marshalled");
-
-                BoonDataFormat formatPojo = new BoonDataFormat(TestPojo.class);
-
-                from("direct:marshalled").unmarshal(formatPojo).to("mock:result");
-            }
-        };
-    }
-
-}
diff --git a/components/camel-boon/src/test/java/org/apache/camel/component/boon/BoonDataFormatTest.java b/components/camel-boon/src/test/java/org/apache/camel/component/boon/BoonDataFormatTest.java
deleted file mode 100644
index 27e468f..0000000
--- a/components/camel-boon/src/test/java/org/apache/camel/component/boon/BoonDataFormatTest.java
+++ /dev/null
@@ -1,141 +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.boon;
-
-import java.util.ArrayList;
-import java.util.LinkedHashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.test.junit4.CamelTestSupport;
-import org.junit.Test;
-
-public class BoonDataFormatTest extends CamelTestSupport {
-
-    @Test
-    public void testMarshalAndUnmarshalMap() throws Exception {
-        Map<String, String> in = new LinkedHashMap<>();
-        in.put("name", "Camel");
-
-        MockEndpoint mock = getMockEndpoint("mock:reverse");
-        mock.expectedMessageCount(1);
-        mock.message(0).body().isInstanceOf(Map.class);
-        mock.message(0).body().isEqualTo(in);
-
-        Object marshalled = template.requestBody("direct:in", in);
-        String marshalledAsString = context.getTypeConverter().convertTo(String.class, marshalled);
-        assertEquals("{\"name\":\"Camel\"}", marshalledAsString);
-
-        template.sendBody("direct:back", marshalled);
-
-        mock.assertIsSatisfied();
-    }
-
-    @Test
-    public void testMarshalAndUnmarshalPojo() throws Exception {
-        TestPojo in = new TestPojo();
-        in.setName("Camel");
-
-        MockEndpoint mock = getMockEndpoint("mock:reversePojo");
-        mock.expectedMessageCount(1);
-        mock.message(0).body().isInstanceOf(TestPojo.class);
-        mock.message(0).body().isEqualTo(in);
-
-        Object marshalled = template.requestBody("direct:inPojo", in);
-        String marshalledAsString = context.getTypeConverter().convertTo(String.class, marshalled);
-        assertEquals("{\"name\":\"Camel\"}", marshalledAsString);
-
-        template.sendBody("direct:backPojo", marshalled);
-
-        mock.assertIsSatisfied();
-    }
-    
-    @Test
-    public void testMarshalAndUnmarshalList() throws Exception {
-        List<String> in = new ArrayList<>();
-        in.add("Karaf");
-        in.add("Camel");
-        in.add("Servicemix");
-
-        MockEndpoint mock = getMockEndpoint("mock:reverseList");
-        mock.expectedMessageCount(1);
-        mock.message(0).body().isInstanceOf(List.class);
-        mock.message(0).body().isEqualTo(in);
-
-        Object marshalled = template.requestBody("direct:inList", in);
-        String marshalledAsString = context.getTypeConverter().convertTo(String.class, marshalled);
-        assertEquals("[\"Karaf\",\"Camel\",\"Servicemix\"]", marshalledAsString);
-
-        template.sendBody("direct:backList", marshalled);
-
-        mock.assertIsSatisfied();
-    }
-    
-    @Test
-    public void testMarshalAndUnmarshalPojoMap() throws Exception {
-        TestPojo in = new TestPojo();
-        in.setName("Camel");
-        
-        Map<String, TestPojo> map = new LinkedHashMap<>();
-        map.put("test1", in);
-        map.put("test2", in);
-
-        MockEndpoint mock = getMockEndpoint("mock:reversePojosMap");
-        mock.expectedMessageCount(1);
-        mock.message(0).body().isInstanceOf(Map.class);
-
-        Object marshalled = template.requestBody("direct:inPojosMap", map);
-        String marshalledAsString = context.getTypeConverter().convertTo(String.class, marshalled);
-        assertEquals("{\"test1\":{\"name\":\"Camel\"},\"test2\":{\"name\":\"Camel\"}}", marshalledAsString);
-
-        template.sendBody("direct:backPojosMap", marshalled);
-
-        mock.assertIsSatisfied();
-    }
-
-    @Override
-    protected RouteBuilder createRouteBuilder() throws Exception {
-        return new RouteBuilder() {
-            @Override
-            public void configure() throws Exception {
-                BoonDataFormat format = new BoonDataFormat();
-
-                from("direct:in").marshal(format);
-                from("direct:back").unmarshal(format).to("mock:reverse");
-
-                BoonDataFormat formatPojo = new BoonDataFormat(TestPojo.class);
-
-                from("direct:inPojo").marshal(formatPojo);
-                from("direct:backPojo").unmarshal(formatPojo).to("mock:reversePojo");
-                
-                BoonDataFormat formatList = new BoonDataFormat();
-                formatList.setUseList(true);
-
-                from("direct:inList").marshal(formatList);
-                from("direct:backList").unmarshal(formatList).to("mock:reverseList");
-                
-                BoonDataFormat formatPojoMaps = new BoonDataFormat();
-
-                from("direct:inPojosMap").marshal(formatPojoMaps);
-                from("direct:backPojosMap").unmarshal(formatPojoMaps).to("mock:reversePojosMap");
-            }
-        };
-    }
-
-}
diff --git a/components/camel-boon/src/test/java/org/apache/camel/component/boon/TestPojo.java b/components/camel-boon/src/test/java/org/apache/camel/component/boon/TestPojo.java
deleted file mode 100644
index bcf420a..0000000
--- a/components/camel-boon/src/test/java/org/apache/camel/component/boon/TestPojo.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.component.boon;
-
-public class TestPojo {
-
-    private String name;
-
-    public String getName() {
-        return this.name;
-    }
-
-    public void setName(String name) {
-        this.name = name;
-    }
-
-    @Override
-    public boolean equals(Object obj) {
-        return this.name.equals(((TestPojo)obj).getName());
-    }
-
-    @Override
-    public int hashCode() {
-        return name != null ? name.hashCode() : 0;
-    }
-
-    @Override
-    public String toString() {
-        return "TestPojo[" + name + "]";
-    }
-}
diff --git a/components/camel-boon/src/test/resources/log4j2.properties b/components/camel-boon/src/test/resources/log4j2.properties
deleted file mode 100644
index d6066cf..0000000
--- a/components/camel-boon/src/test/resources/log4j2.properties
+++ /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.
-## ---------------------------------------------------------------------------
-
-appender.file.type = File
-appender.file.name = file
-appender.file.fileName = target/camel-boon-test.log
-appender.file.layout.type = PatternLayout
-appender.file.layout.pattern = %d [%-15.15t] %-5p %-30.30c{1} - %m%n
-appender.out.type = Console
-appender.out.name = out
-appender.out.layout.type = PatternLayout
-appender.out.layout.pattern = %d [%-15.15t] %-5p %-30.30c{1} - %m%n
-rootLogger.level = INFO
-rootLogger.appenderRef.file.ref = file
diff --git a/components/pom.xml b/components/pom.xml
index bf13d1a..ac382f4 100644
--- a/components/pom.xml
+++ b/components/pom.xml
@@ -126,7 +126,6 @@
         <module>camel-barcode</module>
         <module>camel-bindy</module>
         <module>camel-bonita</module>
-        <module>camel-boon</module>
         <module>camel-box</module>
         <module>camel-braintree</module>
         <module>camel-caffeine</module>
diff --git a/components/readme.adoc b/components/readme.adoc
index df553ec..d56bae2 100644
--- a/components/readme.adoc
+++ b/components/readme.adoc
@@ -905,7 +905,7 @@ Number of Components: 297 in 234 JAR artifacts (0 deprecated)
 == Data Formats
 
 // dataformats: START
-Number of Data Formats: 45 in 37 JAR artifacts (0 deprecated)
+Number of Data Formats: 44 in 36 JAR artifacts (0 deprecated)
 
 [width="100%",cols="4,1,5",options="header"]
 |===
@@ -927,8 +927,6 @@ Number of Data Formats: 45 in 37 JAR artifacts (0 deprecated)
 
 | link:camel-bindy/src/main/docs/bindy-dataformat.adoc[Bindy Key Value Pair] (camel-bindy) | 2.0 | The Bindy data format is used for working with flat payloads (such as CSV, delimited, fixed length formats, or FIX messages).
 
-| link:camel-boon/src/main/docs/boon-dataformat.adoc[Boon] (camel-boon) | 2.16 | Boon data format is used for unmarshal a JSon payload to POJO or to marshal POJO back to JSon payload.
-
 | link:camel-cbor/src/main/docs/cbor-dataformat.adoc[CBOR] (camel-cbor) | 3.0 | CBOR data format is used for unmarshal a CBOR payload to POJO or to marshal POJO back to CBOR payload.
 
 | link:camel-crypto/src/main/docs/crypto-dataformat.adoc[Crypto (Java Cryptographic Extension)] (camel-crypto) | 2.3 | Crypto data format is used for encrypting and decrypting of messages using Java Cryptographic Extension.
diff --git a/core/camel-core/src/main/java/org/apache/camel/builder/DataFormatClause.java b/core/camel-core/src/main/java/org/apache/camel/builder/DataFormatClause.java
index 928d429..fa9cda9 100644
--- a/core/camel-core/src/main/java/org/apache/camel/builder/DataFormatClause.java
+++ b/core/camel-core/src/main/java/org/apache/camel/builder/DataFormatClause.java
@@ -29,7 +29,6 @@ import org.apache.camel.model.dataformat.Base64DataFormat;
 import org.apache.camel.model.dataformat.BeanioDataFormat;
 import org.apache.camel.model.dataformat.BindyDataFormat;
 import org.apache.camel.model.dataformat.BindyType;
-import org.apache.camel.model.dataformat.BoonDataFormat;
 import org.apache.camel.model.dataformat.CBORDataFormat;
 import org.apache.camel.model.dataformat.CsvDataFormat;
 import org.apache.camel.model.dataformat.CustomDataFormat;
@@ -194,17 +193,6 @@ public class DataFormatClause<T extends ProcessorDefinition<?>> {
         bindy.setUnwrapSingleInstance(unwrapSingleInstance);
         return dataFormat(bindy);
     }
-
-    /**
-     * Uses the Boon data format
-     *
-     * @param classType the POJO class type
-     */
-    public T boon(Class<?> classType) {
-        BoonDataFormat boon = new BoonDataFormat();
-        boon.setUnmarshalType(classType);
-        return dataFormat(boon);
-    }
     
     /**
      * Uses the CBOR data format
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/MarshalDefinition.java b/core/camel-core/src/main/java/org/apache/camel/model/MarshalDefinition.java
index 36a3ae4..1c361c6 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/MarshalDefinition.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/MarshalDefinition.java
@@ -28,7 +28,6 @@ import org.apache.camel.model.dataformat.BarcodeDataFormat;
 import org.apache.camel.model.dataformat.Base64DataFormat;
 import org.apache.camel.model.dataformat.BeanioDataFormat;
 import org.apache.camel.model.dataformat.BindyDataFormat;
-import org.apache.camel.model.dataformat.BoonDataFormat;
 import org.apache.camel.model.dataformat.CBORDataFormat;
 import org.apache.camel.model.dataformat.CryptoDataFormat;
 import org.apache.camel.model.dataformat.CsvDataFormat;
@@ -79,7 +78,6 @@ public class MarshalDefinition extends NoOutputDefinition<MarshalDefinition> {
         @XmlElement(required = false, name = "base64", type = Base64DataFormat.class),
         @XmlElement(required = false, name = "beanio", type = BeanioDataFormat.class),
         @XmlElement(required = false, name = "bindy", type = BindyDataFormat.class),
-        @XmlElement(required = false, name = "boon", type = BoonDataFormat.class),
         @XmlElement(required = false, name = "cbor", type = CBORDataFormat.class),
         @XmlElement(required = false, name = "crypto", type = CryptoDataFormat.class),
         @XmlElement(required = false, name = "csv", type = CsvDataFormat.class),
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/UnmarshalDefinition.java b/core/camel-core/src/main/java/org/apache/camel/model/UnmarshalDefinition.java
index 16ce56e..4d20394 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/UnmarshalDefinition.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/UnmarshalDefinition.java
@@ -28,7 +28,6 @@ import org.apache.camel.model.dataformat.BarcodeDataFormat;
 import org.apache.camel.model.dataformat.Base64DataFormat;
 import org.apache.camel.model.dataformat.BeanioDataFormat;
 import org.apache.camel.model.dataformat.BindyDataFormat;
-import org.apache.camel.model.dataformat.BoonDataFormat;
 import org.apache.camel.model.dataformat.CBORDataFormat;
 import org.apache.camel.model.dataformat.CryptoDataFormat;
 import org.apache.camel.model.dataformat.CsvDataFormat;
@@ -80,7 +79,6 @@ public class UnmarshalDefinition extends NoOutputDefinition<UnmarshalDefinition>
         @XmlElement(required = false, name = "base64", type = Base64DataFormat.class),
         @XmlElement(required = false, name = "beanio", type = BeanioDataFormat.class),
         @XmlElement(required = false, name = "bindy", type = BindyDataFormat.class),
-        @XmlElement(required = false, name = "boon", type = BoonDataFormat.class),
         @XmlElement(required = false, name = "cbor", type = CBORDataFormat.class),
         @XmlElement(required = false, name = "crypto", type = CryptoDataFormat.class),
         @XmlElement(required = false, name = "csv", type = CsvDataFormat.class),
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/dataformat/BoonDataFormat.java b/core/camel-core/src/main/java/org/apache/camel/model/dataformat/BoonDataFormat.java
deleted file mode 100644
index 9bccd7c..0000000
--- a/core/camel-core/src/main/java/org/apache/camel/model/dataformat/BoonDataFormat.java
+++ /dev/null
@@ -1,89 +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.model.dataformat;
-
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlTransient;
-
-import org.apache.camel.model.DataFormatDefinition;
-import org.apache.camel.spi.Metadata;
-
-/**
- * Boon data format is used for unmarshal a JSon payload to POJO or to marshal POJO back to JSon payload.
- */
-@Metadata(firstVersion = "2.16.0", label = "dataformat,transformation,json", title = "Boon")
-@XmlRootElement(name = "boon")
-@XmlAccessorType(XmlAccessType.FIELD)
-public class BoonDataFormat extends DataFormatDefinition {
-
-    @XmlAttribute(required = true)
-    private String unmarshalTypeName;
-    @XmlTransient
-    private Class<?> unmarshalType;
-    @XmlAttribute
-    private Boolean useList;
-
-    public BoonDataFormat() {
-        super("boon");
-    }
-
-    public BoonDataFormat(Class<?> unmarshalType) {
-        this();
-        setUnmarshalType(unmarshalType);
-    }
-
-    public Class<?> getUnmarshalType() {
-        return unmarshalType;
-    }
-
-    /**
-     * Class name of the java type to use when unarmshalling
-     */
-    public void setUnmarshalType(Class<?> unmarshalType) {
-        this.unmarshalType = unmarshalType;
-    }
-
-    public String getUnmarshalTypeName() {
-        return unmarshalTypeName;
-    }
-
-    /**
-     * Class name of the java type to use when unarmshalling
-     */
-    public void setUnmarshalTypeName(String unmarshalTypeName) {
-        this.unmarshalTypeName = unmarshalTypeName;
-    }
-    
-    public boolean isUseList() {
-        return useList;
-    }
-
-    public Boolean getUseList() {
-        return useList;
-    }
-
-    /**
-     * To unarmshal to a List of Map or a List of Pojo.
-     */
-    public void setUseList(boolean useList) {
-        this.useList = useList;
-    }  
-
-}
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/dataformat/DataFormatsDefinition.java b/core/camel-core/src/main/java/org/apache/camel/model/dataformat/DataFormatsDefinition.java
index d874eb1..13a57c9 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/dataformat/DataFormatsDefinition.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/dataformat/DataFormatsDefinition.java
@@ -45,7 +45,6 @@ public class DataFormatsDefinition {
         @XmlElement(required = false, name = "base64", type = Base64DataFormat.class),
         @XmlElement(required = false, name = "beanio", type = BeanioDataFormat.class),
         @XmlElement(required = false, name = "bindy", type = BindyDataFormat.class),
-        @XmlElement(required = false, name = "boon", type = BoonDataFormat.class),
         @XmlElement(required = false, name = "cbor", type = CBORDataFormat.class),
         @XmlElement(required = false, name = "crypto", type = CryptoDataFormat.class),
         @XmlElement(required = false, name = "csv", type = CsvDataFormat.class),
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/transformer/DataFormatTransformerDefinition.java b/core/camel-core/src/main/java/org/apache/camel/model/transformer/DataFormatTransformerDefinition.java
index 25ba144..25c94f0 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/transformer/DataFormatTransformerDefinition.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/transformer/DataFormatTransformerDefinition.java
@@ -30,7 +30,6 @@ import org.apache.camel.model.dataformat.BarcodeDataFormat;
 import org.apache.camel.model.dataformat.Base64DataFormat;
 import org.apache.camel.model.dataformat.BeanioDataFormat;
 import org.apache.camel.model.dataformat.BindyDataFormat;
-import org.apache.camel.model.dataformat.BoonDataFormat;
 import org.apache.camel.model.dataformat.CryptoDataFormat;
 import org.apache.camel.model.dataformat.CsvDataFormat;
 import org.apache.camel.model.dataformat.CustomDataFormat;
@@ -86,7 +85,6 @@ public class DataFormatTransformerDefinition extends TransformerDefinition {
         @XmlElement(required = false, name = "base64", type = Base64DataFormat.class),
         @XmlElement(required = false, name = "beanio", type = BeanioDataFormat.class),
         @XmlElement(required = false, name = "bindy", type = BindyDataFormat.class),
-        @XmlElement(required = false, name = "boon", type = BoonDataFormat.class),
         @XmlElement(required = false, name = "crypto", type = CryptoDataFormat.class),
         @XmlElement(required = false, name = "csv", type = CsvDataFormat.class),
         @XmlElement(required = false, name = "custom", type = CustomDataFormat.class),
diff --git a/core/camel-core/src/main/java/org/apache/camel/reifier/dataformat/BoonDataFormatReifier.java b/core/camel-core/src/main/java/org/apache/camel/reifier/dataformat/BoonDataFormatReifier.java
deleted file mode 100644
index 7ed93eb..0000000
--- a/core/camel-core/src/main/java/org/apache/camel/reifier/dataformat/BoonDataFormatReifier.java
+++ /dev/null
@@ -1,53 +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.reifier.dataformat;
-
-import org.apache.camel.CamelContext;
-import org.apache.camel.RuntimeCamelException;
-import org.apache.camel.model.DataFormatDefinition;
-import org.apache.camel.model.dataformat.BoonDataFormat;
-import org.apache.camel.spi.DataFormat;
-
-public class BoonDataFormatReifier extends DataFormatReifier<BoonDataFormat> {
-
-    public BoonDataFormatReifier(DataFormatDefinition definition) {
-        super((BoonDataFormat) definition);
-    }
-
-    @Override
-    protected DataFormat doCreateDataFormat(CamelContext camelContext) {
-        if (definition.getUnmarshalType() == null && definition.getUnmarshalTypeName() != null) {
-            try {
-                definition.setUnmarshalType(camelContext.getClassResolver().resolveMandatoryClass(definition.getUnmarshalTypeName()));
-            } catch (ClassNotFoundException e) {
-                throw RuntimeCamelException.wrapRuntimeCamelException(e);
-            }
-        }
-        return super.doCreateDataFormat(camelContext);
-    }
-
-    @Override
-    protected void configureDataFormat(DataFormat dataFormat, CamelContext camelContext) {
-        if (definition.getUnmarshalType() != null) {
-            setProperty(camelContext, dataFormat, "unmarshalType", definition.getUnmarshalType());
-        }
-        if (definition.getUseList() != null) {
-            setProperty(camelContext, dataFormat, "useList", definition.getUseList());
-        }
-    }
-
-}
diff --git a/core/camel-core/src/main/java/org/apache/camel/reifier/dataformat/DataFormatReifier.java b/core/camel-core/src/main/java/org/apache/camel/reifier/dataformat/DataFormatReifier.java
index 4389ada..61a9337 100644
--- a/core/camel-core/src/main/java/org/apache/camel/reifier/dataformat/DataFormatReifier.java
+++ b/core/camel-core/src/main/java/org/apache/camel/reifier/dataformat/DataFormatReifier.java
@@ -30,7 +30,6 @@ import org.apache.camel.model.dataformat.BarcodeDataFormat;
 import org.apache.camel.model.dataformat.Base64DataFormat;
 import org.apache.camel.model.dataformat.BeanioDataFormat;
 import org.apache.camel.model.dataformat.BindyDataFormat;
-import org.apache.camel.model.dataformat.BoonDataFormat;
 import org.apache.camel.model.dataformat.CBORDataFormat;
 import org.apache.camel.model.dataformat.CryptoDataFormat;
 import org.apache.camel.model.dataformat.CsvDataFormat;
@@ -83,7 +82,6 @@ public abstract class DataFormatReifier<T extends DataFormatDefinition> {
         map.put(Base64DataFormat.class, Base64DataFormatReifier::new);
         map.put(BeanioDataFormat.class, BeanioDataFormatReifier::new);
         map.put(BindyDataFormat.class, BindyDataFormatReifier::new);
-        map.put(BoonDataFormat.class, BoonDataFormatReifier::new);
         map.put(CBORDataFormat.class, CBORDataFormatReifier::new);
         map.put(CryptoDataFormat.class, CryptoDataFormatReifier::new);
         map.put(CsvDataFormat.class, CsvDataFormatReifier::new);
diff --git a/docs/components/modules/ROOT/nav.adoc b/docs/components/modules/ROOT/nav.adoc
index ab5a7a2..0f375ae 100644
--- a/docs/components/modules/ROOT/nav.adoc
+++ b/docs/components/modules/ROOT/nav.adoc
@@ -54,7 +54,6 @@
 * xref:bindy-dataformat.adoc[Bindy DataFormat]
 * xref:blueprint.adoc[Using OSGi blueprint with Camel]
 * xref:bonita-component.adoc[Bonita Component]
-* xref:boon-dataformat.adoc[Boon DataFormat]
 * xref:box-component.adoc[Box Component]
 * xref:braintree-component.adoc[Braintree Component]
 * xref:browse-component.adoc[Browse Component]
diff --git a/docs/components/modules/ROOT/pages/boon-dataformat.adoc b/docs/components/modules/ROOT/pages/boon-dataformat.adoc
deleted file mode 100644
index 40c9bd8..0000000
--- a/docs/components/modules/ROOT/pages/boon-dataformat.adoc
+++ /dev/null
@@ -1,104 +0,0 @@
-[[boon-dataformat]]
-= Boon DataFormat
-
-*Available as of Camel version 2.16*
-
-Boon is a Data Format which uses the
-http://richardhightower.github.io/site/Boon/Welcome.html[Boon
-JSON] marshalling library to unmarshal an JSON payload into Java objects
-or to marshal Java objects into an JSON payload. Boon aims to be a
-simple
-and https://github.com/RichardHightower/json-parsers-benchmark[fast
-parser] than other common parsers currently used.
-
-== Options
-
-
-
-
-// dataformat options: START
-The Boon dataformat supports 3 options, which are listed below.
-
-
-
-[width="100%",cols="2s,1m,1m,6",options="header"]
-|===
-| Name | Default | Java Type | Description
-| unmarshalTypeName |  | String | Class name of the java type to use when unarmshalling
-| useList | false | Boolean | To unarmshal to a List of Map or a List of Pojo.
-| contentTypeHeader | false | Boolean | Whether the data format should set the Content-Type header with the type from the data format if the data format is capable of doing so. For example application/xml for data formats marshalling to XML, or application/json for data formats marshalling to JSon etc.
-|===
-// dataformat options: END
-// spring-boot-auto-configure options: START
-== Spring Boot Auto-Configuration
-
-When using Spring Boot make sure to use the following Maven dependency to have support for auto configuration:
-
-[source,xml]
-----
-<dependency>
-  <groupId>org.apache.camel</groupId>
-  <artifactId>camel-boon-starter</artifactId>
-  <version>x.x.x</version>
-  <!-- use the same version as your Camel core version -->
-</dependency>
-----
-
-
-The component supports 4 options, which are listed below.
-
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *camel.dataformat.boon.content-type-header* | Whether the data format should set the Content-Type header with the type from the data format if the data format is capable of doing so. For example application/xml for data formats marshalling to XML, or application/json for data formats marshalling to JSon etc. | false | Boolean
-| *camel.dataformat.boon.enabled* | Enable boon dataformat | true | Boolean
-| *camel.dataformat.boon.unmarshal-type-name* | Class name of the java type to use when unarmshalling |  | String
-| *camel.dataformat.boon.use-list* | To unarmshal to a List of Map or a List of Pojo. | false | Boolean
-|===
-// spring-boot-auto-configure options: END
-ND
-
-
-
-
-
-== Using the Java DSL
-
-[source,java]
-------------------------------------------------------------------------
-DataFormat boonDataFormat = new BoonDataFormat("com.acme.model.Person");
-
-from("activemq:My.Queue")
-  .unmarshal(boonDataFormat)
-  .to("mqseries:Another.Queue");
-------------------------------------------------------------------------
-
-== Using Blueprint XML
-
-[source,java]
----------------------------------------------------------------------------------
-<bean id="boonDataFormat" class="org.apache.camel.component.boon.BoonDataFormat">
-  <argument value="com.acme.model.Person"/>
-</bean>
- 
-<camelContext id="camel" xmlns="http://camel.apache.org/schema/blueprint">
-  <route>
-    <from uri="activemq:My.Queue"/>
-    <unmarshal><custom ref="boonDataFormat"/></unmarshal>
-    <to uri="mqseries:Another.Queue"/>
-  </route>
-</camelContext>
----------------------------------------------------------------------------------
-
-== Dependencies
-
-[source,java]
--------------------------------------
-<dependency>
-  <groupId>org.apache.camel</groupId>
-  <artifactId>camel-boon</artifactId>
-  <version>x.x.x</version>
-</dependency>
--------------------------------------
diff --git a/docs/user-manual/modules/ROOT/pages/data-format.adoc b/docs/user-manual/modules/ROOT/pages/data-format.adoc
index a2eb471..b7eadca 100644
--- a/docs/user-manual/modules/ROOT/pages/data-format.adoc
+++ b/docs/user-manual/modules/ROOT/pages/data-format.adoc
@@ -9,7 +9,6 @@ The following data formats are currently supported:
 
 * Object marshalling
 ** xref:components::avro-dataformat.adoc[Avro]
-** xref:components::boon-dataformat.adoc[Boon]
 ** xref:json.adoc[JSON]
 ** xref:components::protobuf-dataformat.adoc[Protobuf]
 ** xref:components::yaml-snakeyaml-dataformat.adoc[YAML]
diff --git a/docs/user-manual/modules/ROOT/pages/index.adoc b/docs/user-manual/modules/ROOT/pages/index.adoc
index 4f51d50..789ae29 100644
--- a/docs/user-manual/modules/ROOT/pages/index.adoc
+++ b/docs/user-manual/modules/ROOT/pages/index.adoc
@@ -478,7 +478,6 @@ camel routes without them knowing
 ** xref:components::bindy-dataformat.adoc[Bindy CSV]
 ** xref:components::bindy-dataformat.adoc[Bindy Fixed Length]
 ** xref:components::bindy-dataformat.adoc[Bindy Key Value Pair]
-** xref:components::boon-dataformat.adoc[Boon]
 ** xref:components::crypto-dataformat.adoc[Crypto (Java Cryptographic Extension)]
 ** xref:components::csv-dataformat.adoc[CSV]
 ** xref:components::fhirJson-dataformat.adoc[FHIR JSon]
diff --git a/parent/pom.xml b/parent/pom.xml
index dd0dacd..02c5c95 100644
--- a/parent/pom.xml
+++ b/parent/pom.xml
@@ -96,7 +96,6 @@
         <beanio-version>2.1.0</beanio-version>
         <beanstalkd-client-version>1.4.6</beanstalkd-client-version>
         <bndlib-version>2.4.0</bndlib-version>
-        <boon-version>0.34</boon-version>
         <bouncycastle-version>1.61</bouncycastle-version>
         <box-java-sdk-version>2.35.0</box-java-sdk-version>
         <braintree-gateway-version>2.101.0</braintree-gateway-version>
@@ -1024,11 +1023,6 @@
       </dependency>
       <dependency>
         <groupId>org.apache.camel</groupId>
-        <artifactId>camel-boon</artifactId>
-        <version>${project.version}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.apache.camel</groupId>
         <artifactId>camel-box</artifactId>
         <version>${project.version}</version>
       </dependency>
@@ -2598,11 +2592,6 @@
       </dependency>
       <dependency>
         <groupId>org.apache.camel</groupId>
-        <artifactId>camel-boon-starter</artifactId>
-        <version>${project.version}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.apache.camel</groupId>
         <artifactId>camel-box-starter</artifactId>
         <version>${project.version}</version>
       </dependency>
diff --git a/platforms/karaf/features/src/main/resources/features.xml b/platforms/karaf/features/src/main/resources/features.xml
index 57010c0..97c376c 100644
--- a/platforms/karaf/features/src/main/resources/features.xml
+++ b/platforms/karaf/features/src/main/resources/features.xml
@@ -567,11 +567,6 @@
     <feature version='${project.version}'>camel-core</feature>
     <bundle>mvn:org.apache.camel/camel-bindy/${project.version}</bundle>
   </feature>
-  <feature name='camel-boon' version='${project.version}' start-level='50'>
-    <feature version='${project.version}'>camel-core</feature>
-    <bundle>mvn:io.fastjson/boon/${boon-version}</bundle>
-    <bundle>mvn:org.apache.camel/camel-boon/${project.version}</bundle>
-  </feature>
   <feature name='camel-box' version='${project.version}' start-level='50'>
     <feature version='${project.version}'>camel-core</feature>
     <feature>pax-http-whiteboard</feature>
diff --git a/platforms/spring-boot/components-starter/camel-boon-starter/pom.xml b/platforms/spring-boot/components-starter/camel-boon-starter/pom.xml
deleted file mode 100644
index e212cc0..0000000
--- a/platforms/spring-boot/components-starter/camel-boon-starter/pom.xml
+++ /dev/null
@@ -1,53 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
-    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.
-
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-  <modelVersion>4.0.0</modelVersion>
-  <parent>
-    <groupId>org.apache.camel</groupId>
-    <artifactId>components-starter</artifactId>
-    <version>3.0.0-SNAPSHOT</version>
-  </parent>
-  <artifactId>camel-boon-starter</artifactId>
-  <packaging>jar</packaging>
-  <name>Spring-Boot Starter :: Camel :: Boon</name>
-  <description>Spring-Boot Starter for Camel Boon support</description>
-  <dependencies>
-    <dependency>
-      <groupId>org.springframework.boot</groupId>
-      <artifactId>spring-boot-starter</artifactId>
-      <version>${spring-boot-version}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.camel</groupId>
-      <artifactId>camel-boon</artifactId>
-      <version>${project.version}</version>
-    </dependency>
-    <!--START OF GENERATED CODE-->
-    <dependency>
-      <groupId>org.apache.camel</groupId>
-      <artifactId>camel-core-starter</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.camel</groupId>
-      <artifactId>camel-spring-boot-starter</artifactId>
-    </dependency>
-    <!--END OF GENERATED CODE-->
-  </dependencies>
-</project>
diff --git a/platforms/spring-boot/components-starter/camel-boon-starter/src/main/java/org/apache/camel/component/boon/springboot/BoonDataFormatAutoConfiguration.java b/platforms/spring-boot/components-starter/camel-boon-starter/src/main/java/org/apache/camel/component/boon/springboot/BoonDataFormatAutoConfiguration.java
deleted file mode 100644
index 7e6bc69..0000000
--- a/platforms/spring-boot/components-starter/camel-boon-starter/src/main/java/org/apache/camel/component/boon/springboot/BoonDataFormatAutoConfiguration.java
+++ /dev/null
@@ -1,128 +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.boon.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.CamelContextAware;
-import org.apache.camel.RuntimeCamelException;
-import org.apache.camel.component.boon.BoonDataFormat;
-import org.apache.camel.spi.DataFormat;
-import org.apache.camel.spi.DataFormatCustomizer;
-import org.apache.camel.spi.DataFormatFactory;
-import org.apache.camel.spi.HasId;
-import org.apache.camel.spring.boot.CamelAutoConfiguration;
-import org.apache.camel.spring.boot.DataFormatConfigurationProperties;
-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.support.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;
-
-/**
- * Generated by camel-package-maven-plugin - do not edit this file!
- */
-@Generated("org.apache.camel.maven.packaging.SpringBootAutoConfigurationMojo")
-@Configuration
-@Conditional({ConditionalOnCamelContextAndAutoConfigurationBeans.class,
-        BoonDataFormatAutoConfiguration.GroupConditions.class})
-@AutoConfigureAfter(name = "org.apache.camel.spring.boot.CamelAutoConfiguration")
-@EnableConfigurationProperties({DataFormatConfigurationProperties.class,
-        BoonDataFormatConfiguration.class})
-public class BoonDataFormatAutoConfiguration {
-
-    private static final Logger LOGGER = LoggerFactory
-            .getLogger(BoonDataFormatAutoConfiguration.class);
-    @Autowired
-    private ApplicationContext applicationContext;
-    @Autowired
-    private CamelContext camelContext;
-    @Autowired
-    private BoonDataFormatConfiguration configuration;
-    @Autowired(required = false)
-    private List<DataFormatCustomizer<BoonDataFormat>> customizers;
-
-    static class GroupConditions extends GroupCondition {
-        public GroupConditions() {
-            super("camel.dataformat", "camel.dataformat.boon");
-        }
-    }
-
-    @Bean(name = "boon-dataformat-factory")
-    @ConditionalOnMissingBean(BoonDataFormat.class)
-    public DataFormatFactory configureBoonDataFormatFactory() throws Exception {
-        return new DataFormatFactory() {
-            @Override
-            public DataFormat newInstance() {
-                BoonDataFormat dataformat = new BoonDataFormat();
-                if (CamelContextAware.class
-                        .isAssignableFrom(BoonDataFormat.class)) {
-                    CamelContextAware contextAware = CamelContextAware.class
-                            .cast(dataformat);
-                    if (contextAware != null) {
-                        contextAware.setCamelContext(camelContext);
-                    }
-                }
-                try {
-                    Map<String, Object> parameters = new HashMap<>();
-                    IntrospectionSupport.getProperties(configuration,
-                            parameters, null, false);
-                    CamelPropertiesHelper.setCamelProperties(camelContext,
-                            dataformat, parameters, false);
-                } catch (Exception e) {
-                    throw new RuntimeCamelException(e);
-                }
-                if (ObjectHelper.isNotEmpty(customizers)) {
-                    for (DataFormatCustomizer<BoonDataFormat> customizer : customizers) {
-                        boolean useCustomizer = (customizer instanceof HasId)
-                                ? HierarchicalPropertiesEvaluator.evaluate(
-                                        applicationContext.getEnvironment(),
-                                        "camel.dataformat.customizer",
-                                        "camel.dataformat.boon.customizer",
-                                        ((HasId) customizer).getId())
-                                : HierarchicalPropertiesEvaluator.evaluate(
-                                        applicationContext.getEnvironment(),
-                                        "camel.dataformat.customizer",
-                                        "camel.dataformat.boon.customizer");
-                        if (useCustomizer) {
-                            LOGGER.debug(
-                                    "Configure dataformat {}, with customizer {}",
-                                    dataformat, customizer);
-                            customizer.customize(dataformat);
-                        }
-                    }
-                }
-                return dataformat;
-            }
-        };
-    }
-}
\ No newline at end of file
diff --git a/platforms/spring-boot/components-starter/camel-boon-starter/src/main/java/org/apache/camel/component/boon/springboot/BoonDataFormatConfiguration.java b/platforms/spring-boot/components-starter/camel-boon-starter/src/main/java/org/apache/camel/component/boon/springboot/BoonDataFormatConfiguration.java
deleted file mode 100644
index 5c3277f..0000000
--- a/platforms/spring-boot/components-starter/camel-boon-starter/src/main/java/org/apache/camel/component/boon/springboot/BoonDataFormatConfiguration.java
+++ /dev/null
@@ -1,79 +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.boon.springboot;
-
-import javax.annotation.Generated;
-import org.apache.camel.spring.boot.DataFormatConfigurationPropertiesCommon;
-import org.springframework.boot.context.properties.ConfigurationProperties;
-
-/**
- * Boon data format is used for unmarshal a JSon payload to POJO or to marshal
- * POJO back to JSon payload.
- * 
- * Generated by camel-package-maven-plugin - do not edit this file!
- */
-@Generated("org.apache.camel.maven.packaging.SpringBootAutoConfigurationMojo")
-@ConfigurationProperties(prefix = "camel.dataformat.boon")
-public class BoonDataFormatConfiguration
-        extends
-            DataFormatConfigurationPropertiesCommon {
-
-    /**
-     * Whether to enable auto configuration of the boon data format. This is
-     * enabled by default.
-     */
-    private Boolean enabled;
-    /**
-     * Class name of the java type to use when unarmshalling
-     */
-    private String unmarshalTypeName;
-    /**
-     * To unarmshal to a List of Map or a List of Pojo.
-     */
-    private Boolean useList = false;
-    /**
-     * Whether the data format should set the Content-Type header with the type
-     * from the data format if the data format is capable of doing so. For
-     * example application/xml for data formats marshalling to XML, or
-     * application/json for data formats marshalling to JSon etc.
-     */
-    private Boolean contentTypeHeader = false;
-
-    public String getUnmarshalTypeName() {
-        return unmarshalTypeName;
-    }
-
-    public void setUnmarshalTypeName(String unmarshalTypeName) {
-        this.unmarshalTypeName = unmarshalTypeName;
-    }
-
-    public Boolean getUseList() {
-        return useList;
-    }
-
-    public void setUseList(Boolean useList) {
-        this.useList = useList;
-    }
-
-    public Boolean getContentTypeHeader() {
-        return contentTypeHeader;
-    }
-
-    public void setContentTypeHeader(Boolean contentTypeHeader) {
-        this.contentTypeHeader = contentTypeHeader;
-    }
-}
\ No newline at end of file
diff --git a/platforms/spring-boot/components-starter/camel-boon-starter/src/main/resources/META-INF/LICENSE.txt b/platforms/spring-boot/components-starter/camel-boon-starter/src/main/resources/META-INF/LICENSE.txt
deleted file mode 100644
index 6b0b127..0000000
--- a/platforms/spring-boot/components-starter/camel-boon-starter/src/main/resources/META-INF/LICENSE.txt
+++ /dev/null
@@ -1,203 +0,0 @@
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright [yyyy] [name of copyright owner]
-
-   Licensed 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.
-
diff --git a/platforms/spring-boot/components-starter/camel-boon-starter/src/main/resources/META-INF/NOTICE.txt b/platforms/spring-boot/components-starter/camel-boon-starter/src/main/resources/META-INF/NOTICE.txt
deleted file mode 100644
index 2e215bf..0000000
--- a/platforms/spring-boot/components-starter/camel-boon-starter/src/main/resources/META-INF/NOTICE.txt
+++ /dev/null
@@ -1,11 +0,0 @@
-   =========================================================================
-   ==  NOTICE file corresponding to the section 4 d of                    ==
-   ==  the Apache License, Version 2.0,                                   ==
-   ==  in this case for the Apache Camel distribution.                    ==
-   =========================================================================
-
-   This product includes software developed by
-   The Apache Software Foundation (http://www.apache.org/).
-
-   Please read the different LICENSE files present in the licenses directory of
-   this distribution.
diff --git a/platforms/spring-boot/components-starter/camel-boon-starter/src/main/resources/META-INF/additional-spring-configuration-metadata.json b/platforms/spring-boot/components-starter/camel-boon-starter/src/main/resources/META-INF/additional-spring-configuration-metadata.json
deleted file mode 100644
index d5105e7..0000000
--- a/platforms/spring-boot/components-starter/camel-boon-starter/src/main/resources/META-INF/additional-spring-configuration-metadata.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
-  "properties": [
-    {
-      "defaultValue": true,
-      "name": "camel.dataformat.boon.enabled",
-      "description": "Enable boon dataformat",
-      "type": "java.lang.Boolean"
-    }
-  ]
-}
\ No newline at end of file
diff --git a/platforms/spring-boot/components-starter/camel-boon-starter/src/main/resources/META-INF/spring.factories b/platforms/spring-boot/components-starter/camel-boon-starter/src/main/resources/META-INF/spring.factories
deleted file mode 100644
index e926c7f..0000000
--- a/platforms/spring-boot/components-starter/camel-boon-starter/src/main/resources/META-INF/spring.factories
+++ /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.
-## ---------------------------------------------------------------------------
-org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
-org.apache.camel.component.boon.springboot.BoonDataFormatAutoConfiguration
diff --git a/platforms/spring-boot/components-starter/camel-boon-starter/src/main/resources/META-INF/spring.provides b/platforms/spring-boot/components-starter/camel-boon-starter/src/main/resources/META-INF/spring.provides
deleted file mode 100644
index 643ea41..0000000
--- a/platforms/spring-boot/components-starter/camel-boon-starter/src/main/resources/META-INF/spring.provides
+++ /dev/null
@@ -1,17 +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.
-## ---------------------------------------------------------------------------
-provides: camel-boon
diff --git a/platforms/spring-boot/components-starter/pom.xml b/platforms/spring-boot/components-starter/pom.xml
index 123ea70..338be63 100644
--- a/platforms/spring-boot/components-starter/pom.xml
+++ b/platforms/spring-boot/components-starter/pom.xml
@@ -141,7 +141,6 @@
     <module>camel-beanstalk-starter</module>
     <module>camel-bindy-starter</module>
     <module>camel-bonita-starter</module>
-    <module>camel-boon-starter</module>
     <module>camel-box-starter</module>
     <module>camel-braintree-starter</module>
     <module>camel-browse-starter</module>
diff --git a/platforms/spring-boot/spring-boot-dm/camel-spring-boot-dependencies/pom.xml b/platforms/spring-boot/spring-boot-dm/camel-spring-boot-dependencies/pom.xml
index a223e6a..bd536d4 100644
--- a/platforms/spring-boot/spring-boot-dm/camel-spring-boot-dependencies/pom.xml
+++ b/platforms/spring-boot/spring-boot-dm/camel-spring-boot-dependencies/pom.xml
@@ -693,16 +693,6 @@
       </dependency>
       <dependency>
         <groupId>org.apache.camel</groupId>
-        <artifactId>camel-boon</artifactId>
-        <version>${project.version}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.apache.camel</groupId>
-        <artifactId>camel-boon-starter</artifactId>
-        <version>${project.version}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.apache.camel</groupId>
         <artifactId>camel-box</artifactId>
         <version>${project.version}</version>
       </dependency>
diff --git a/tests/camel-itest-karaf/src/test/java/org/apache/camel/itest/karaf/CamelBoonTest.java b/tests/camel-itest-karaf/src/test/java/org/apache/camel/itest/karaf/CamelBoonTest.java
deleted file mode 100644
index ba32eaa..0000000
--- a/tests/camel-itest-karaf/src/test/java/org/apache/camel/itest/karaf/CamelBoonTest.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.itest.karaf;
-
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.ops4j.pax.exam.junit.PaxExam;
-
-@RunWith(PaxExam.class)
-public class CamelBoonTest extends BaseKarafTest {
-
-    public static final String COMPONENT = extractName(CamelBoonTest.class);
-
-    @Test
-    public void test() throws Exception {
-        testDataFormat(COMPONENT);
-    }
-
-}
diff --git a/tests/camel-itest-spring-boot/src/test/java/org/apache/camel/itest/springboot/CamelBoonTest.java b/tests/camel-itest-spring-boot/src/test/java/org/apache/camel/itest/springboot/CamelBoonTest.java
deleted file mode 100644
index f208f2d..0000000
--- a/tests/camel-itest-spring-boot/src/test/java/org/apache/camel/itest/springboot/CamelBoonTest.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.itest.springboot;
-
-import org.apache.camel.itest.springboot.util.ArquillianPackager;
-import org.jboss.arquillian.container.test.api.Deployment;
-import org.jboss.arquillian.junit.Arquillian;
-import org.jboss.shrinkwrap.api.Archive;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-
-
-@RunWith(Arquillian.class)
-public class CamelBoonTest extends AbstractSpringBootTestSupport {
-
-    @Deployment
-    public static Archive<?> createSpringBootPackage() throws Exception {
-        return ArquillianPackager.springBootPackage(createTestConfig());
-    }
-
-    public static ITestConfig createTestConfig() {
-        return new ITestConfigBuilder()
-                .module(inferModuleName(CamelBoonTest.class))
-                .build();
-    }
-
-    @Test
-    public void componentTests() throws Exception {
-        this.runDataformatTest(config);
-        this.runModuleUnitTestsIfEnabled(config);
-    }
-
-
-}