You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2016/06/10 09:55:25 UTC

[04/11] camel git commit: CAMEL-10041: Generate spring-boot auto configuration for all Camel data formats that has options that can be configured.

http://git-wip-us.apache.org/repos/asf/camel/blob/f9b58d31/components/camel-jackson/src/main/java/org/apache/camel/component/jackson/springboot/JacksonDataFormatAutoConfiguration.java
----------------------------------------------------------------------
diff --git a/components/camel-jackson/src/main/java/org/apache/camel/component/jackson/springboot/JacksonDataFormatAutoConfiguration.java b/components/camel-jackson/src/main/java/org/apache/camel/component/jackson/springboot/JacksonDataFormatAutoConfiguration.java
new file mode 100644
index 0000000..8f85084
--- /dev/null
+++ b/components/camel-jackson/src/main/java/org/apache/camel/component/jackson/springboot/JacksonDataFormatAutoConfiguration.java
@@ -0,0 +1,54 @@
+/**
+ * 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.springboot;
+
+import java.util.HashMap;
+import java.util.Map;
+import org.apache.camel.CamelContext;
+import org.apache.camel.CamelContextAware;
+import org.apache.camel.component.jackson.JacksonDataFormat;
+import org.apache.camel.util.IntrospectionSupport;
+import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
+import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
+import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Configuration
+@EnableConfigurationProperties(JacksonDataFormatConfiguration.class)
+public class JacksonDataFormatAutoConfiguration {
+
+    @Bean
+    @ConditionalOnClass(CamelContext.class)
+    @ConditionalOnMissingBean(JacksonDataFormat.class)
+    public JacksonDataFormat configureJacksonDataFormat(
+            CamelContext camelContext,
+            JacksonDataFormatConfiguration configuration) throws Exception {
+        JacksonDataFormat dataformat = new JacksonDataFormat();
+        if (dataformat instanceof CamelContextAware) {
+            ((CamelContextAware) dataformat).setCamelContext(camelContext);
+        }
+        Map<String, Object> parameters = new HashMap<>();
+        IntrospectionSupport.getProperties(configuration, parameters, null);
+        IntrospectionSupport.setProperties(camelContext,
+                camelContext.getTypeConverter(), dataformat, parameters);
+        return dataformat;
+    }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/camel/blob/f9b58d31/components/camel-jackson/src/main/java/org/apache/camel/component/jackson/springboot/JacksonDataFormatConfiguration.java
----------------------------------------------------------------------
diff --git a/components/camel-jackson/src/main/java/org/apache/camel/component/jackson/springboot/JacksonDataFormatConfiguration.java b/components/camel-jackson/src/main/java/org/apache/camel/component/jackson/springboot/JacksonDataFormatConfiguration.java
new file mode 100644
index 0000000..7f396c5
--- /dev/null
+++ b/components/camel-jackson/src/main/java/org/apache/camel/component/jackson/springboot/JacksonDataFormatConfiguration.java
@@ -0,0 +1,256 @@
+/**
+ * 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.springboot;
+
+import org.apache.camel.model.dataformat.JsonLibrary;
+import org.springframework.boot.context.properties.ConfigurationProperties;
+
+/**
+ * Camel Jackson support
+ * 
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@ConfigurationProperties(prefix = "camel.dataformat.json")
+public class JacksonDataFormatConfiguration {
+
+    /**
+     * Lookup and use the existing ObjectMapper with the given id when using
+     * Jackson.
+     */
+    private String objectMapper;
+    /**
+     * To enable pretty printing output nicely formatted. Is by default false.
+     */
+    private Boolean prettyPrint;
+    /**
+     * Which json library to use such. Is by default xstream
+     */
+    private JsonLibrary library;
+    /**
+     * Class name of the java type to use when unarmshalling
+     */
+    private String unmarshalTypeName;
+    /**
+     * When marshalling a POJO to JSON you might want to exclude certain fields
+     * from the JSON output. With Jackson you can use JSON views to accomplish
+     * this. This option is to refer to the class which has JsonView annotations
+     */
+    private Class jsonView;
+    /**
+     * If you want to marshal a pojo to JSON and the pojo has some fields with
+     * null values. And you want to skip these null values you can set this
+     * option to NOT_NULL
+     */
+    private String include;
+    /**
+     * Used for JMS users to allow the JMSType header from the JMS spec to
+     * specify a FQN classname to use to unmarshal to.
+     */
+    private Boolean allowJmsType;
+    /**
+     * Refers to a custom collection type to lookup in the registry to use. This
+     * option should rarely be used but allows to use different collection types
+     * than java.util.Collection based as default.
+     */
+    private String collectionTypeName;
+    /**
+     * To unarmshal to a List of Map or a List of Pojo.
+     */
+    private Boolean useList;
+    /**
+     * Whether to enable the JAXB annotations module when using jackson. When
+     * enabled then JAXB annotations can be used by Jackson.
+     */
+    private Boolean enableJaxbAnnotationModule;
+    /**
+     * To use custom Jackson modules com.fasterxml.jackson.databind.Module
+     * specified as a String with FQN class names. Multiple classes can be
+     * separated by comma.
+     */
+    private String moduleClassNames;
+    /**
+     * To use custom Jackson modules referred from the Camel registry. Multiple
+     * modules can be separated by comma.
+     */
+    private String moduleRefs;
+    /**
+     * Set of features to enable on the Jackson
+     * com.fasterxml.jackson.databind.ObjectMapper. The features should be a
+     * name that matches a enum from
+     * com.fasterxml.jackson.databind.SerializationFeature
+     * com.fasterxml.jackson.databind.DeserializationFeature or
+     * com.fasterxml.jackson.databind.MapperFeature Multiple features can be
+     * separated by comma
+     */
+    private String enableFeatures;
+    /**
+     * Set of features to disable on the Jackson
+     * com.fasterxml.jackson.databind.ObjectMapper. The features should be a
+     * name that matches a enum from
+     * com.fasterxml.jackson.databind.SerializationFeature
+     * com.fasterxml.jackson.databind.DeserializationFeature or
+     * com.fasterxml.jackson.databind.MapperFeature Multiple features can be
+     * separated by comma
+     */
+    private String disableFeatures;
+    /**
+     * Adds permissions that controls which Java packages and classes XStream is
+     * allowed to use during unmarshal from xml/json to Java beans. A permission
+     * must be configured either here or globally using a JVM system property.
+     * The permission can be specified in a syntax where a plus sign is allow
+     * and minus sign is deny. Wildcards is supported by using . as prefix. For
+     * example to allow com.foo and all subpackages then specfy com.foo..
+     * Multiple permissions can be configured separated by comma such as
+     * com.foo.-com.foo.bar.MySecretBean. The following default permission is
+     * always included: -java.lang.java.util. unless its overridden by
+     * specifying a JVM system property with they key
+     * org.apache.camel.xstream.permissions.
+     */
+    private String permissions;
+    /**
+     * Sets the value of the id property.
+     */
+    private String id;
+
+    public String getObjectMapper() {
+        return objectMapper;
+    }
+
+    public void setObjectMapper(String objectMapper) {
+        this.objectMapper = objectMapper;
+    }
+
+    public Boolean getPrettyPrint() {
+        return prettyPrint;
+    }
+
+    public void setPrettyPrint(Boolean prettyPrint) {
+        this.prettyPrint = prettyPrint;
+    }
+
+    public JsonLibrary getLibrary() {
+        return library;
+    }
+
+    public void setLibrary(JsonLibrary library) {
+        this.library = library;
+    }
+
+    public String getUnmarshalTypeName() {
+        return unmarshalTypeName;
+    }
+
+    public void setUnmarshalTypeName(String unmarshalTypeName) {
+        this.unmarshalTypeName = unmarshalTypeName;
+    }
+
+    public Class getJsonView() {
+        return jsonView;
+    }
+
+    public void setJsonView(Class jsonView) {
+        this.jsonView = jsonView;
+    }
+
+    public String getInclude() {
+        return include;
+    }
+
+    public void setInclude(String include) {
+        this.include = include;
+    }
+
+    public Boolean getAllowJmsType() {
+        return allowJmsType;
+    }
+
+    public void setAllowJmsType(Boolean allowJmsType) {
+        this.allowJmsType = allowJmsType;
+    }
+
+    public String getCollectionTypeName() {
+        return collectionTypeName;
+    }
+
+    public void setCollectionTypeName(String collectionTypeName) {
+        this.collectionTypeName = collectionTypeName;
+    }
+
+    public Boolean getUseList() {
+        return useList;
+    }
+
+    public void setUseList(Boolean useList) {
+        this.useList = useList;
+    }
+
+    public Boolean getEnableJaxbAnnotationModule() {
+        return enableJaxbAnnotationModule;
+    }
+
+    public void setEnableJaxbAnnotationModule(Boolean enableJaxbAnnotationModule) {
+        this.enableJaxbAnnotationModule = enableJaxbAnnotationModule;
+    }
+
+    public String getModuleClassNames() {
+        return moduleClassNames;
+    }
+
+    public void setModuleClassNames(String moduleClassNames) {
+        this.moduleClassNames = moduleClassNames;
+    }
+
+    public String getModuleRefs() {
+        return moduleRefs;
+    }
+
+    public void setModuleRefs(String moduleRefs) {
+        this.moduleRefs = moduleRefs;
+    }
+
+    public String getEnableFeatures() {
+        return enableFeatures;
+    }
+
+    public void setEnableFeatures(String enableFeatures) {
+        this.enableFeatures = enableFeatures;
+    }
+
+    public String getDisableFeatures() {
+        return disableFeatures;
+    }
+
+    public void setDisableFeatures(String disableFeatures) {
+        this.disableFeatures = disableFeatures;
+    }
+
+    public String getPermissions() {
+        return permissions;
+    }
+
+    public void setPermissions(String permissions) {
+        this.permissions = permissions;
+    }
+
+    public String getId() {
+        return id;
+    }
+
+    public void setId(String id) {
+        this.id = id;
+    }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/camel/blob/f9b58d31/components/camel-jackson/src/main/resources/META-INF/spring.factories
----------------------------------------------------------------------
diff --git a/components/camel-jackson/src/main/resources/META-INF/spring.factories b/components/camel-jackson/src/main/resources/META-INF/spring.factories
new file mode 100644
index 0000000..1617dcb
--- /dev/null
+++ b/components/camel-jackson/src/main/resources/META-INF/spring.factories
@@ -0,0 +1,19 @@
+#
+# 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.jackson.springboot.JacksonDataFormatAutoConfiguration

http://git-wip-us.apache.org/repos/asf/camel/blob/f9b58d31/components/camel-jacksonxml/src/main/java/org/apache/camel/component/jacksonxml/springboot/JacksonXMLDataFormatAutoConfiguration.java
----------------------------------------------------------------------
diff --git a/components/camel-jacksonxml/src/main/java/org/apache/camel/component/jacksonxml/springboot/JacksonXMLDataFormatAutoConfiguration.java b/components/camel-jacksonxml/src/main/java/org/apache/camel/component/jacksonxml/springboot/JacksonXMLDataFormatAutoConfiguration.java
new file mode 100644
index 0000000..b836598
--- /dev/null
+++ b/components/camel-jacksonxml/src/main/java/org/apache/camel/component/jacksonxml/springboot/JacksonXMLDataFormatAutoConfiguration.java
@@ -0,0 +1,54 @@
+/**
+ * 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.springboot;
+
+import java.util.HashMap;
+import java.util.Map;
+import org.apache.camel.CamelContext;
+import org.apache.camel.CamelContextAware;
+import org.apache.camel.component.jacksonxml.JacksonXMLDataFormat;
+import org.apache.camel.util.IntrospectionSupport;
+import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
+import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
+import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Configuration
+@EnableConfigurationProperties(JacksonXMLDataFormatConfiguration.class)
+public class JacksonXMLDataFormatAutoConfiguration {
+
+    @Bean
+    @ConditionalOnClass(CamelContext.class)
+    @ConditionalOnMissingBean(JacksonXMLDataFormat.class)
+    public JacksonXMLDataFormat configureJacksonXMLDataFormat(
+            CamelContext camelContext,
+            JacksonXMLDataFormatConfiguration configuration) throws Exception {
+        JacksonXMLDataFormat dataformat = new JacksonXMLDataFormat();
+        if (dataformat instanceof CamelContextAware) {
+            ((CamelContextAware) dataformat).setCamelContext(camelContext);
+        }
+        Map<String, Object> parameters = new HashMap<>();
+        IntrospectionSupport.getProperties(configuration, parameters, null);
+        IntrospectionSupport.setProperties(camelContext,
+                camelContext.getTypeConverter(), dataformat, parameters);
+        return dataformat;
+    }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/camel/blob/f9b58d31/components/camel-jacksonxml/src/main/java/org/apache/camel/component/jacksonxml/springboot/JacksonXMLDataFormatConfiguration.java
----------------------------------------------------------------------
diff --git a/components/camel-jacksonxml/src/main/java/org/apache/camel/component/jacksonxml/springboot/JacksonXMLDataFormatConfiguration.java b/components/camel-jacksonxml/src/main/java/org/apache/camel/component/jacksonxml/springboot/JacksonXMLDataFormatConfiguration.java
new file mode 100644
index 0000000..5294ee2
--- /dev/null
+++ b/components/camel-jacksonxml/src/main/java/org/apache/camel/component/jacksonxml/springboot/JacksonXMLDataFormatConfiguration.java
@@ -0,0 +1,220 @@
+/**
+ * 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.springboot;
+
+import org.springframework.boot.context.properties.ConfigurationProperties;
+
+/**
+ * Camel Jackson XML support
+ * 
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@ConfigurationProperties(prefix = "camel.dataformat.jacksonxml")
+public class JacksonXMLDataFormatConfiguration {
+
+    /**
+     * Lookup and use the existing XmlMapper with the given id.
+     */
+    private String xmlMapper;
+    /**
+     * To enable pretty printing output nicely formatted. Is by default false.
+     */
+    private Boolean prettyPrint;
+    /**
+     * Class name of the java type to use when unarmshalling
+     */
+    private String unmarshalTypeName;
+    /**
+     * When marshalling a POJO to JSON you might want to exclude certain fields
+     * from the JSON output. With Jackson you can use JSON views to accomplish
+     * this. This option is to refer to the class which has JsonView annotations
+     */
+    private Class jsonView;
+    /**
+     * If you want to marshal a pojo to JSON and the pojo has some fields with
+     * null values. And you want to skip these null values you can set this
+     * option to NOT_NULL
+     */
+    private String include;
+    /**
+     * Used for JMS users to allow the JMSType header from the JMS spec to
+     * specify a FQN classname to use to unmarshal to.
+     */
+    private Boolean allowJmsType;
+    /**
+     * Refers to a custom collection type to lookup in the registry to use. This
+     * option should rarely be used but allows to use different collection types
+     * than java.util.Collection based as default.
+     */
+    private String collectionTypeName;
+    /**
+     * To unarmshal to a List of Map or a List of Pojo.
+     */
+    private Boolean useList;
+    /**
+     * Whether to enable the JAXB annotations module when using jackson. When
+     * enabled then JAXB annotations can be used by Jackson.
+     */
+    private Boolean enableJaxbAnnotationModule;
+    /**
+     * To use custom Jackson modules com.fasterxml.jackson.databind.Module
+     * specified as a String with FQN class names. Multiple classes can be
+     * separated by comma.
+     */
+    private String moduleClassNames;
+    /**
+     * To use custom Jackson modules referred from the Camel registry. Multiple
+     * modules can be separated by comma.
+     */
+    private String moduleRefs;
+    /**
+     * Set of features to enable on the Jackson
+     * com.fasterxml.jackson.databind.ObjectMapper. The features should be a
+     * name that matches a enum from
+     * com.fasterxml.jackson.databind.SerializationFeature
+     * com.fasterxml.jackson.databind.DeserializationFeature or
+     * com.fasterxml.jackson.databind.MapperFeature Multiple features can be
+     * separated by comma
+     */
+    private String enableFeatures;
+    /**
+     * Set of features to disable on the Jackson
+     * com.fasterxml.jackson.databind.ObjectMapper. The features should be a
+     * name that matches a enum from
+     * com.fasterxml.jackson.databind.SerializationFeature
+     * com.fasterxml.jackson.databind.DeserializationFeature or
+     * com.fasterxml.jackson.databind.MapperFeature Multiple features can be
+     * separated by comma
+     */
+    private String disableFeatures;
+    /**
+     * Sets the value of the id property.
+     */
+    private String id;
+
+    public String getXmlMapper() {
+        return xmlMapper;
+    }
+
+    public void setXmlMapper(String xmlMapper) {
+        this.xmlMapper = xmlMapper;
+    }
+
+    public Boolean getPrettyPrint() {
+        return prettyPrint;
+    }
+
+    public void setPrettyPrint(Boolean prettyPrint) {
+        this.prettyPrint = prettyPrint;
+    }
+
+    public String getUnmarshalTypeName() {
+        return unmarshalTypeName;
+    }
+
+    public void setUnmarshalTypeName(String unmarshalTypeName) {
+        this.unmarshalTypeName = unmarshalTypeName;
+    }
+
+    public Class getJsonView() {
+        return jsonView;
+    }
+
+    public void setJsonView(Class jsonView) {
+        this.jsonView = jsonView;
+    }
+
+    public String getInclude() {
+        return include;
+    }
+
+    public void setInclude(String include) {
+        this.include = include;
+    }
+
+    public Boolean getAllowJmsType() {
+        return allowJmsType;
+    }
+
+    public void setAllowJmsType(Boolean allowJmsType) {
+        this.allowJmsType = allowJmsType;
+    }
+
+    public String getCollectionTypeName() {
+        return collectionTypeName;
+    }
+
+    public void setCollectionTypeName(String collectionTypeName) {
+        this.collectionTypeName = collectionTypeName;
+    }
+
+    public Boolean getUseList() {
+        return useList;
+    }
+
+    public void setUseList(Boolean useList) {
+        this.useList = useList;
+    }
+
+    public Boolean getEnableJaxbAnnotationModule() {
+        return enableJaxbAnnotationModule;
+    }
+
+    public void setEnableJaxbAnnotationModule(Boolean enableJaxbAnnotationModule) {
+        this.enableJaxbAnnotationModule = enableJaxbAnnotationModule;
+    }
+
+    public String getModuleClassNames() {
+        return moduleClassNames;
+    }
+
+    public void setModuleClassNames(String moduleClassNames) {
+        this.moduleClassNames = moduleClassNames;
+    }
+
+    public String getModuleRefs() {
+        return moduleRefs;
+    }
+
+    public void setModuleRefs(String moduleRefs) {
+        this.moduleRefs = moduleRefs;
+    }
+
+    public String getEnableFeatures() {
+        return enableFeatures;
+    }
+
+    public void setEnableFeatures(String enableFeatures) {
+        this.enableFeatures = enableFeatures;
+    }
+
+    public String getDisableFeatures() {
+        return disableFeatures;
+    }
+
+    public void setDisableFeatures(String disableFeatures) {
+        this.disableFeatures = disableFeatures;
+    }
+
+    public String getId() {
+        return id;
+    }
+
+    public void setId(String id) {
+        this.id = id;
+    }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/camel/blob/f9b58d31/components/camel-jacksonxml/src/main/resources/META-INF/spring.factories
----------------------------------------------------------------------
diff --git a/components/camel-jacksonxml/src/main/resources/META-INF/spring.factories b/components/camel-jacksonxml/src/main/resources/META-INF/spring.factories
new file mode 100644
index 0000000..4b51ccc
--- /dev/null
+++ b/components/camel-jacksonxml/src/main/resources/META-INF/spring.factories
@@ -0,0 +1,19 @@
+#
+# 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.jacksonxml.springboot.JacksonXMLDataFormatAutoConfiguration

http://git-wip-us.apache.org/repos/asf/camel/blob/f9b58d31/components/camel-jaxb/src/main/java/org/apache/camel/converter/jaxb/springboot/JaxbDataFormatAutoConfiguration.java
----------------------------------------------------------------------
diff --git a/components/camel-jaxb/src/main/java/org/apache/camel/converter/jaxb/springboot/JaxbDataFormatAutoConfiguration.java b/components/camel-jaxb/src/main/java/org/apache/camel/converter/jaxb/springboot/JaxbDataFormatAutoConfiguration.java
new file mode 100644
index 0000000..ef0513b
--- /dev/null
+++ b/components/camel-jaxb/src/main/java/org/apache/camel/converter/jaxb/springboot/JaxbDataFormatAutoConfiguration.java
@@ -0,0 +1,53 @@
+/**
+ * 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.converter.jaxb.springboot;
+
+import java.util.HashMap;
+import java.util.Map;
+import org.apache.camel.CamelContext;
+import org.apache.camel.CamelContextAware;
+import org.apache.camel.converter.jaxb.JaxbDataFormat;
+import org.apache.camel.util.IntrospectionSupport;
+import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
+import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
+import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Configuration
+@EnableConfigurationProperties(JaxbDataFormatConfiguration.class)
+public class JaxbDataFormatAutoConfiguration {
+
+    @Bean
+    @ConditionalOnClass(CamelContext.class)
+    @ConditionalOnMissingBean(JaxbDataFormat.class)
+    public JaxbDataFormat configureJaxbDataFormat(CamelContext camelContext,
+            JaxbDataFormatConfiguration configuration) throws Exception {
+        JaxbDataFormat dataformat = new JaxbDataFormat();
+        if (dataformat instanceof CamelContextAware) {
+            ((CamelContextAware) dataformat).setCamelContext(camelContext);
+        }
+        Map<String, Object> parameters = new HashMap<>();
+        IntrospectionSupport.getProperties(configuration, parameters, null);
+        IntrospectionSupport.setProperties(camelContext,
+                camelContext.getTypeConverter(), dataformat, parameters);
+        return dataformat;
+    }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/camel/blob/f9b58d31/components/camel-jaxb/src/main/java/org/apache/camel/converter/jaxb/springboot/JaxbDataFormatConfiguration.java
----------------------------------------------------------------------
diff --git a/components/camel-jaxb/src/main/java/org/apache/camel/converter/jaxb/springboot/JaxbDataFormatConfiguration.java b/components/camel-jaxb/src/main/java/org/apache/camel/converter/jaxb/springboot/JaxbDataFormatConfiguration.java
new file mode 100644
index 0000000..85efa08
--- /dev/null
+++ b/components/camel-jaxb/src/main/java/org/apache/camel/converter/jaxb/springboot/JaxbDataFormatConfiguration.java
@@ -0,0 +1,239 @@
+/**
+ * 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.converter.jaxb.springboot;
+
+import org.springframework.boot.context.properties.ConfigurationProperties;
+
+/**
+ * Camel JAXB support
+ * 
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@ConfigurationProperties(prefix = "camel.dataformat.jaxb")
+public class JaxbDataFormatConfiguration {
+
+    /**
+     * Package name where your JAXB classes are located.
+     */
+    private String contextPath;
+    /**
+     * To validate against an existing schema. Your can use the prefix
+     * classpath: file: or http: to specify how the resource should by resolved.
+     * You can separate multiple schema files by using the '' character.
+     */
+    private String schema;
+    /**
+     * To enable pretty printing output nicely formatted. Is by default false.
+     */
+    private Boolean prettyPrint;
+    /**
+     * Whether to allow using ObjectFactory classes to create the POJO classes
+     * during marshalling. This only applies to POJO classes that has not been
+     * annotated with JAXB and providing jaxb.index descriptor files.
+     */
+    private Boolean objectFactory;
+    /**
+     * Whether to ignore JAXBElement elements - only needed to be set to false
+     * in very special use-cases.
+     */
+    private Boolean ignoreJAXBElement;
+    /**
+     * Whether marhsalling must be java objects with JAXB annotations. And if
+     * not then it fails. This option can be set to false to relax that such as
+     * when the data is already in XML format.
+     */
+    private Boolean mustBeJAXBElement;
+    /**
+     * To ignore non xml characheters and replace them with an empty space.
+     */
+    private Boolean filterNonXmlChars;
+    /**
+     * To overrule and use a specific encoding
+     */
+    private String encoding;
+    /**
+     * To turn on marshalling XML fragment trees. By default JAXB looks for
+     * XmlRootElement annotation on given class to operate on whole XML tree.
+     * This is useful but not always - sometimes generated code does not have
+     * XmlRootElement annotation sometimes you need unmarshall only part of
+     * tree. In that case you can use partial unmarshalling. To enable this
+     * behaviours you need set property partClass. Camel will pass this class to
+     * JAXB's unmarshaler.
+     */
+    private Boolean fragment;
+    /**
+     * Name of class used for fragment parsing. See more details at the fragment
+     * option.
+     */
+    private String partClass;
+    /**
+     * XML namespace to use for fragment parsing. See more details at the
+     * fragment option.
+     */
+    private String partNamespace;
+    /**
+     * When marshalling using JAXB or SOAP then the JAXB implementation will
+     * automatic assign namespace prefixes such as ns2 ns3 ns4 etc. To control
+     * this mapping Camel allows you to refer to a map which contains the
+     * desired mapping.
+     */
+    private String namespacePrefixRef;
+    /**
+     * To use a custom xml stream writer.
+     */
+    private String xmlStreamWriterWrapper;
+    /**
+     * To define the location of the schema
+     */
+    private String schemaLocation;
+    /**
+     * To define the location of the namespaceless schema
+     */
+    private String noNamespaceSchemaLocation;
+    /**
+     * Sets the value of the id property.
+     */
+    private String id;
+
+    public String getContextPath() {
+        return contextPath;
+    }
+
+    public void setContextPath(String contextPath) {
+        this.contextPath = contextPath;
+    }
+
+    public String getSchema() {
+        return schema;
+    }
+
+    public void setSchema(String schema) {
+        this.schema = schema;
+    }
+
+    public Boolean getPrettyPrint() {
+        return prettyPrint;
+    }
+
+    public void setPrettyPrint(Boolean prettyPrint) {
+        this.prettyPrint = prettyPrint;
+    }
+
+    public Boolean getObjectFactory() {
+        return objectFactory;
+    }
+
+    public void setObjectFactory(Boolean objectFactory) {
+        this.objectFactory = objectFactory;
+    }
+
+    public Boolean getIgnoreJAXBElement() {
+        return ignoreJAXBElement;
+    }
+
+    public void setIgnoreJAXBElement(Boolean ignoreJAXBElement) {
+        this.ignoreJAXBElement = ignoreJAXBElement;
+    }
+
+    public Boolean getMustBeJAXBElement() {
+        return mustBeJAXBElement;
+    }
+
+    public void setMustBeJAXBElement(Boolean mustBeJAXBElement) {
+        this.mustBeJAXBElement = mustBeJAXBElement;
+    }
+
+    public Boolean getFilterNonXmlChars() {
+        return filterNonXmlChars;
+    }
+
+    public void setFilterNonXmlChars(Boolean filterNonXmlChars) {
+        this.filterNonXmlChars = filterNonXmlChars;
+    }
+
+    public String getEncoding() {
+        return encoding;
+    }
+
+    public void setEncoding(String encoding) {
+        this.encoding = encoding;
+    }
+
+    public Boolean getFragment() {
+        return fragment;
+    }
+
+    public void setFragment(Boolean fragment) {
+        this.fragment = fragment;
+    }
+
+    public String getPartClass() {
+        return partClass;
+    }
+
+    public void setPartClass(String partClass) {
+        this.partClass = partClass;
+    }
+
+    public String getPartNamespace() {
+        return partNamespace;
+    }
+
+    public void setPartNamespace(String partNamespace) {
+        this.partNamespace = partNamespace;
+    }
+
+    public String getNamespacePrefixRef() {
+        return namespacePrefixRef;
+    }
+
+    public void setNamespacePrefixRef(String namespacePrefixRef) {
+        this.namespacePrefixRef = namespacePrefixRef;
+    }
+
+    public String getXmlStreamWriterWrapper() {
+        return xmlStreamWriterWrapper;
+    }
+
+    public void setXmlStreamWriterWrapper(String xmlStreamWriterWrapper) {
+        this.xmlStreamWriterWrapper = xmlStreamWriterWrapper;
+    }
+
+    public String getSchemaLocation() {
+        return schemaLocation;
+    }
+
+    public void setSchemaLocation(String schemaLocation) {
+        this.schemaLocation = schemaLocation;
+    }
+
+    public String getNoNamespaceSchemaLocation() {
+        return noNamespaceSchemaLocation;
+    }
+
+    public void setNoNamespaceSchemaLocation(String noNamespaceSchemaLocation) {
+        this.noNamespaceSchemaLocation = noNamespaceSchemaLocation;
+    }
+
+    public String getId() {
+        return id;
+    }
+
+    public void setId(String id) {
+        this.id = id;
+    }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/camel/blob/f9b58d31/components/camel-jaxb/src/main/resources/META-INF/spring.factories
----------------------------------------------------------------------
diff --git a/components/camel-jaxb/src/main/resources/META-INF/spring.factories b/components/camel-jaxb/src/main/resources/META-INF/spring.factories
new file mode 100644
index 0000000..4435382
--- /dev/null
+++ b/components/camel-jaxb/src/main/resources/META-INF/spring.factories
@@ -0,0 +1,19 @@
+#
+# 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.converter.jaxb.springboot.JaxbDataFormatAutoConfiguration

http://git-wip-us.apache.org/repos/asf/camel/blob/f9b58d31/components/camel-jibx/src/main/java/org/apache/camel/dataformat/jibx/springboot/JibxDataFormatAutoConfiguration.java
----------------------------------------------------------------------
diff --git a/components/camel-jibx/src/main/java/org/apache/camel/dataformat/jibx/springboot/JibxDataFormatAutoConfiguration.java b/components/camel-jibx/src/main/java/org/apache/camel/dataformat/jibx/springboot/JibxDataFormatAutoConfiguration.java
new file mode 100644
index 0000000..e560911
--- /dev/null
+++ b/components/camel-jibx/src/main/java/org/apache/camel/dataformat/jibx/springboot/JibxDataFormatAutoConfiguration.java
@@ -0,0 +1,53 @@
+/**
+ * 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.dataformat.jibx.springboot;
+
+import java.util.HashMap;
+import java.util.Map;
+import org.apache.camel.CamelContext;
+import org.apache.camel.CamelContextAware;
+import org.apache.camel.dataformat.jibx.JibxDataFormat;
+import org.apache.camel.util.IntrospectionSupport;
+import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
+import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
+import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Configuration
+@EnableConfigurationProperties(JibxDataFormatConfiguration.class)
+public class JibxDataFormatAutoConfiguration {
+
+    @Bean
+    @ConditionalOnClass(CamelContext.class)
+    @ConditionalOnMissingBean(JibxDataFormat.class)
+    public JibxDataFormat configureJibxDataFormat(CamelContext camelContext,
+            JibxDataFormatConfiguration configuration) throws Exception {
+        JibxDataFormat dataformat = new JibxDataFormat();
+        if (dataformat instanceof CamelContextAware) {
+            ((CamelContextAware) dataformat).setCamelContext(camelContext);
+        }
+        Map<String, Object> parameters = new HashMap<>();
+        IntrospectionSupport.getProperties(configuration, parameters, null);
+        IntrospectionSupport.setProperties(camelContext,
+                camelContext.getTypeConverter(), dataformat, parameters);
+        return dataformat;
+    }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/camel/blob/f9b58d31/components/camel-jibx/src/main/java/org/apache/camel/dataformat/jibx/springboot/JibxDataFormatConfiguration.java
----------------------------------------------------------------------
diff --git a/components/camel-jibx/src/main/java/org/apache/camel/dataformat/jibx/springboot/JibxDataFormatConfiguration.java b/components/camel-jibx/src/main/java/org/apache/camel/dataformat/jibx/springboot/JibxDataFormatConfiguration.java
new file mode 100644
index 0000000..1ef3012
--- /dev/null
+++ b/components/camel-jibx/src/main/java/org/apache/camel/dataformat/jibx/springboot/JibxDataFormatConfiguration.java
@@ -0,0 +1,65 @@
+/**
+ * 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.dataformat.jibx.springboot;
+
+import org.springframework.boot.context.properties.ConfigurationProperties;
+
+/**
+ * Camel Jibx support
+ * 
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@ConfigurationProperties(prefix = "camel.dataformat.jibx")
+public class JibxDataFormatConfiguration {
+
+    /**
+     * Class name to use when unmarshalling from XML to Java.
+     */
+    private String unmarshallClass;
+    /**
+     * To use a custom binding factory
+     */
+    private String bindingName;
+    /**
+     * Sets the value of the id property.
+     */
+    private String id;
+
+    public String getUnmarshallClass() {
+        return unmarshallClass;
+    }
+
+    public void setUnmarshallClass(String unmarshallClass) {
+        this.unmarshallClass = unmarshallClass;
+    }
+
+    public String getBindingName() {
+        return bindingName;
+    }
+
+    public void setBindingName(String bindingName) {
+        this.bindingName = bindingName;
+    }
+
+    public String getId() {
+        return id;
+    }
+
+    public void setId(String id) {
+        this.id = id;
+    }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/camel/blob/f9b58d31/components/camel-jibx/src/main/resources/META-INF/spring.factories
----------------------------------------------------------------------
diff --git a/components/camel-jibx/src/main/resources/META-INF/spring.factories b/components/camel-jibx/src/main/resources/META-INF/spring.factories
new file mode 100644
index 0000000..3858c09
--- /dev/null
+++ b/components/camel-jibx/src/main/resources/META-INF/spring.factories
@@ -0,0 +1,19 @@
+#
+# 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.dataformat.jibx.springboot.JibxDataFormatAutoConfiguration

http://git-wip-us.apache.org/repos/asf/camel/blob/f9b58d31/components/camel-lzf/src/main/java/org/apache/camel/dataformat/lzf/springboot/LZFDataFormatAutoConfiguration.java
----------------------------------------------------------------------
diff --git a/components/camel-lzf/src/main/java/org/apache/camel/dataformat/lzf/springboot/LZFDataFormatAutoConfiguration.java b/components/camel-lzf/src/main/java/org/apache/camel/dataformat/lzf/springboot/LZFDataFormatAutoConfiguration.java
new file mode 100644
index 0000000..aafabc0
--- /dev/null
+++ b/components/camel-lzf/src/main/java/org/apache/camel/dataformat/lzf/springboot/LZFDataFormatAutoConfiguration.java
@@ -0,0 +1,53 @@
+/**
+ * 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.dataformat.lzf.springboot;
+
+import java.util.HashMap;
+import java.util.Map;
+import org.apache.camel.CamelContext;
+import org.apache.camel.CamelContextAware;
+import org.apache.camel.dataformat.lzf.LZFDataFormat;
+import org.apache.camel.util.IntrospectionSupport;
+import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
+import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
+import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Configuration
+@EnableConfigurationProperties(LZFDataFormatConfiguration.class)
+public class LZFDataFormatAutoConfiguration {
+
+    @Bean
+    @ConditionalOnClass(CamelContext.class)
+    @ConditionalOnMissingBean(LZFDataFormat.class)
+    public LZFDataFormat configureLZFDataFormat(CamelContext camelContext,
+            LZFDataFormatConfiguration configuration) throws Exception {
+        LZFDataFormat dataformat = new LZFDataFormat();
+        if (dataformat instanceof CamelContextAware) {
+            ((CamelContextAware) dataformat).setCamelContext(camelContext);
+        }
+        Map<String, Object> parameters = new HashMap<>();
+        IntrospectionSupport.getProperties(configuration, parameters, null);
+        IntrospectionSupport.setProperties(camelContext,
+                camelContext.getTypeConverter(), dataformat, parameters);
+        return dataformat;
+    }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/camel/blob/f9b58d31/components/camel-lzf/src/main/java/org/apache/camel/dataformat/lzf/springboot/LZFDataFormatConfiguration.java
----------------------------------------------------------------------
diff --git a/components/camel-lzf/src/main/java/org/apache/camel/dataformat/lzf/springboot/LZFDataFormatConfiguration.java b/components/camel-lzf/src/main/java/org/apache/camel/dataformat/lzf/springboot/LZFDataFormatConfiguration.java
new file mode 100644
index 0000000..32d0fa3
--- /dev/null
+++ b/components/camel-lzf/src/main/java/org/apache/camel/dataformat/lzf/springboot/LZFDataFormatConfiguration.java
@@ -0,0 +1,53 @@
+/**
+ * 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.dataformat.lzf.springboot;
+
+import org.springframework.boot.context.properties.ConfigurationProperties;
+
+/**
+ * Camel LZF support
+ * 
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@ConfigurationProperties(prefix = "camel.dataformat.lzf")
+public class LZFDataFormatConfiguration {
+
+    /**
+     * Enable encoding (compress) using multiple processing cores.
+     */
+    private Boolean usingParallelCompression;
+    /**
+     * Sets the value of the id property.
+     */
+    private String id;
+
+    public Boolean getUsingParallelCompression() {
+        return usingParallelCompression;
+    }
+
+    public void setUsingParallelCompression(Boolean usingParallelCompression) {
+        this.usingParallelCompression = usingParallelCompression;
+    }
+
+    public String getId() {
+        return id;
+    }
+
+    public void setId(String id) {
+        this.id = id;
+    }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/camel/blob/f9b58d31/components/camel-lzf/src/main/resources/META-INF/spring.factories
----------------------------------------------------------------------
diff --git a/components/camel-lzf/src/main/resources/META-INF/spring.factories b/components/camel-lzf/src/main/resources/META-INF/spring.factories
new file mode 100644
index 0000000..5241e09
--- /dev/null
+++ b/components/camel-lzf/src/main/resources/META-INF/spring.factories
@@ -0,0 +1,19 @@
+#
+# 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.dataformat.lzf.springboot.LZFDataFormatAutoConfiguration

http://git-wip-us.apache.org/repos/asf/camel/blob/f9b58d31/components/camel-mail/src/main/java/org/apache/camel/dataformat/mime/multipart/springboot/MimeMultipartDataFormatAutoConfiguration.java
----------------------------------------------------------------------
diff --git a/components/camel-mail/src/main/java/org/apache/camel/dataformat/mime/multipart/springboot/MimeMultipartDataFormatAutoConfiguration.java b/components/camel-mail/src/main/java/org/apache/camel/dataformat/mime/multipart/springboot/MimeMultipartDataFormatAutoConfiguration.java
new file mode 100644
index 0000000..64c5ef1
--- /dev/null
+++ b/components/camel-mail/src/main/java/org/apache/camel/dataformat/mime/multipart/springboot/MimeMultipartDataFormatAutoConfiguration.java
@@ -0,0 +1,55 @@
+/**
+ * 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.dataformat.mime.multipart.springboot;
+
+import java.util.HashMap;
+import java.util.Map;
+import org.apache.camel.CamelContext;
+import org.apache.camel.CamelContextAware;
+import org.apache.camel.dataformat.mime.multipart.MimeMultipartDataFormat;
+import org.apache.camel.util.IntrospectionSupport;
+import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
+import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
+import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Configuration
+@EnableConfigurationProperties(MimeMultipartDataFormatConfiguration.class)
+public class MimeMultipartDataFormatAutoConfiguration {
+
+    @Bean
+    @ConditionalOnClass(CamelContext.class)
+    @ConditionalOnMissingBean(MimeMultipartDataFormat.class)
+    public MimeMultipartDataFormat configureMimeMultipartDataFormat(
+            CamelContext camelContext,
+            MimeMultipartDataFormatConfiguration configuration)
+            throws Exception {
+        MimeMultipartDataFormat dataformat = new MimeMultipartDataFormat();
+        if (dataformat instanceof CamelContextAware) {
+            ((CamelContextAware) dataformat).setCamelContext(camelContext);
+        }
+        Map<String, Object> parameters = new HashMap<>();
+        IntrospectionSupport.getProperties(configuration, parameters, null);
+        IntrospectionSupport.setProperties(camelContext,
+                camelContext.getTypeConverter(), dataformat, parameters);
+        return dataformat;
+    }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/camel/blob/f9b58d31/components/camel-mail/src/main/java/org/apache/camel/dataformat/mime/multipart/springboot/MimeMultipartDataFormatConfiguration.java
----------------------------------------------------------------------
diff --git a/components/camel-mail/src/main/java/org/apache/camel/dataformat/mime/multipart/springboot/MimeMultipartDataFormatConfiguration.java b/components/camel-mail/src/main/java/org/apache/camel/dataformat/mime/multipart/springboot/MimeMultipartDataFormatConfiguration.java
new file mode 100644
index 0000000..be0ca8c
--- /dev/null
+++ b/components/camel-mail/src/main/java/org/apache/camel/dataformat/mime/multipart/springboot/MimeMultipartDataFormatConfiguration.java
@@ -0,0 +1,106 @@
+/**
+ * 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.dataformat.mime.multipart.springboot;
+
+import org.springframework.boot.context.properties.ConfigurationProperties;
+
+/**
+ * Camel Mail support
+ * 
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@ConfigurationProperties(prefix = "camel.dataformat.mime-multipart")
+public class MimeMultipartDataFormatConfiguration {
+
+    /**
+     * Specify the subtype of the MIME Multipart. Default is mixed.
+     */
+    private String multipartSubType;
+    /**
+     * Defines whether a message without attachment is also marshaled into a
+     * MIME Multipart (with only one body part). Default is false.
+     */
+    private Boolean multipartWithoutAttachment;
+    /**
+     * Defines whether the MIME-Multipart headers are part of the message body
+     * (true) or are set as Camel headers (false). Default is false.
+     */
+    private Boolean headersInline;
+    /**
+     * A regex that defines which Camel headers are also included as MIME
+     * headers into the MIME multipart. This will only work if headersInline is
+     * set to true. Default is to include no headers
+     */
+    private String includeHeaders;
+    /**
+     * Defines whether the content of binary parts in the MIME multipart is
+     * binary (true) or Base-64 encoded (false) Default is false.
+     */
+    private Boolean binaryContent;
+    /**
+     * Sets the value of the id property.
+     */
+    private String id;
+
+    public String getMultipartSubType() {
+        return multipartSubType;
+    }
+
+    public void setMultipartSubType(String multipartSubType) {
+        this.multipartSubType = multipartSubType;
+    }
+
+    public Boolean getMultipartWithoutAttachment() {
+        return multipartWithoutAttachment;
+    }
+
+    public void setMultipartWithoutAttachment(Boolean multipartWithoutAttachment) {
+        this.multipartWithoutAttachment = multipartWithoutAttachment;
+    }
+
+    public Boolean getHeadersInline() {
+        return headersInline;
+    }
+
+    public void setHeadersInline(Boolean headersInline) {
+        this.headersInline = headersInline;
+    }
+
+    public String getIncludeHeaders() {
+        return includeHeaders;
+    }
+
+    public void setIncludeHeaders(String includeHeaders) {
+        this.includeHeaders = includeHeaders;
+    }
+
+    public Boolean getBinaryContent() {
+        return binaryContent;
+    }
+
+    public void setBinaryContent(Boolean binaryContent) {
+        this.binaryContent = binaryContent;
+    }
+
+    public String getId() {
+        return id;
+    }
+
+    public void setId(String id) {
+        this.id = id;
+    }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/camel/blob/f9b58d31/components/camel-mail/src/main/resources/META-INF/spring.factories
----------------------------------------------------------------------
diff --git a/components/camel-mail/src/main/resources/META-INF/spring.factories b/components/camel-mail/src/main/resources/META-INF/spring.factories
index 9791dc1..2e586fd 100644
--- a/components/camel-mail/src/main/resources/META-INF/spring.factories
+++ b/components/camel-mail/src/main/resources/META-INF/spring.factories
@@ -16,4 +16,6 @@
 #
 
 org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
-org.apache.camel.component.mail.springboot.MailComponentAutoConfiguration
+org.apache.camel.component.mail.springboot.MailComponentAutoConfiguration,\
+org.apache.camel.dataformat.mime.multipart.springboot.MimeMultipartDataFormatAutoConfiguration
+

http://git-wip-us.apache.org/repos/asf/camel/blob/f9b58d31/components/camel-protobuf/src/main/java/org/apache/camel/dataformat/protobuf/springboot/ProtobufDataFormatAutoConfiguration.java
----------------------------------------------------------------------
diff --git a/components/camel-protobuf/src/main/java/org/apache/camel/dataformat/protobuf/springboot/ProtobufDataFormatAutoConfiguration.java b/components/camel-protobuf/src/main/java/org/apache/camel/dataformat/protobuf/springboot/ProtobufDataFormatAutoConfiguration.java
new file mode 100644
index 0000000..48faa14
--- /dev/null
+++ b/components/camel-protobuf/src/main/java/org/apache/camel/dataformat/protobuf/springboot/ProtobufDataFormatAutoConfiguration.java
@@ -0,0 +1,54 @@
+/**
+ * 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.dataformat.protobuf.springboot;
+
+import java.util.HashMap;
+import java.util.Map;
+import org.apache.camel.CamelContext;
+import org.apache.camel.CamelContextAware;
+import org.apache.camel.dataformat.protobuf.ProtobufDataFormat;
+import org.apache.camel.util.IntrospectionSupport;
+import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
+import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
+import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Configuration
+@EnableConfigurationProperties(ProtobufDataFormatConfiguration.class)
+public class ProtobufDataFormatAutoConfiguration {
+
+    @Bean
+    @ConditionalOnClass(CamelContext.class)
+    @ConditionalOnMissingBean(ProtobufDataFormat.class)
+    public ProtobufDataFormat configureProtobufDataFormat(
+            CamelContext camelContext,
+            ProtobufDataFormatConfiguration configuration) throws Exception {
+        ProtobufDataFormat dataformat = new ProtobufDataFormat();
+        if (dataformat instanceof CamelContextAware) {
+            ((CamelContextAware) dataformat).setCamelContext(camelContext);
+        }
+        Map<String, Object> parameters = new HashMap<>();
+        IntrospectionSupport.getProperties(configuration, parameters, null);
+        IntrospectionSupport.setProperties(camelContext,
+                camelContext.getTypeConverter(), dataformat, parameters);
+        return dataformat;
+    }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/camel/blob/f9b58d31/components/camel-protobuf/src/main/java/org/apache/camel/dataformat/protobuf/springboot/ProtobufDataFormatConfiguration.java
----------------------------------------------------------------------
diff --git a/components/camel-protobuf/src/main/java/org/apache/camel/dataformat/protobuf/springboot/ProtobufDataFormatConfiguration.java b/components/camel-protobuf/src/main/java/org/apache/camel/dataformat/protobuf/springboot/ProtobufDataFormatConfiguration.java
new file mode 100644
index 0000000..0f35cbd
--- /dev/null
+++ b/components/camel-protobuf/src/main/java/org/apache/camel/dataformat/protobuf/springboot/ProtobufDataFormatConfiguration.java
@@ -0,0 +1,53 @@
+/**
+ * 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.dataformat.protobuf.springboot;
+
+import org.springframework.boot.context.properties.ConfigurationProperties;
+
+/**
+ * Camel Components
+ * 
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@ConfigurationProperties(prefix = "camel.dataformat.protobuf")
+public class ProtobufDataFormatConfiguration {
+
+    /**
+     * Name of class to use when unarmshalling
+     */
+    private String instanceClass;
+    /**
+     * Sets the value of the id property.
+     */
+    private String id;
+
+    public String getInstanceClass() {
+        return instanceClass;
+    }
+
+    public void setInstanceClass(String instanceClass) {
+        this.instanceClass = instanceClass;
+    }
+
+    public String getId() {
+        return id;
+    }
+
+    public void setId(String id) {
+        this.id = id;
+    }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/camel/blob/f9b58d31/components/camel-protobuf/src/main/resources/META-INF/spring.factories
----------------------------------------------------------------------
diff --git a/components/camel-protobuf/src/main/resources/META-INF/spring.factories b/components/camel-protobuf/src/main/resources/META-INF/spring.factories
new file mode 100644
index 0000000..cf639dc
--- /dev/null
+++ b/components/camel-protobuf/src/main/resources/META-INF/spring.factories
@@ -0,0 +1,19 @@
+#
+# 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.dataformat.protobuf.springboot.ProtobufDataFormatAutoConfiguration

http://git-wip-us.apache.org/repos/asf/camel/blob/f9b58d31/components/camel-rss/src/main/java/org/apache/camel/dataformat/rss/springboot/RssDataFormatAutoConfiguration.java
----------------------------------------------------------------------
diff --git a/components/camel-rss/src/main/java/org/apache/camel/dataformat/rss/springboot/RssDataFormatAutoConfiguration.java b/components/camel-rss/src/main/java/org/apache/camel/dataformat/rss/springboot/RssDataFormatAutoConfiguration.java
new file mode 100644
index 0000000..466ab69
--- /dev/null
+++ b/components/camel-rss/src/main/java/org/apache/camel/dataformat/rss/springboot/RssDataFormatAutoConfiguration.java
@@ -0,0 +1,53 @@
+/**
+ * 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.dataformat.rss.springboot;
+
+import java.util.HashMap;
+import java.util.Map;
+import org.apache.camel.CamelContext;
+import org.apache.camel.CamelContextAware;
+import org.apache.camel.dataformat.rss.RssDataFormat;
+import org.apache.camel.util.IntrospectionSupport;
+import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
+import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
+import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Configuration
+@EnableConfigurationProperties(RssDataFormatConfiguration.class)
+public class RssDataFormatAutoConfiguration {
+
+    @Bean
+    @ConditionalOnClass(CamelContext.class)
+    @ConditionalOnMissingBean(RssDataFormat.class)
+    public RssDataFormat configureRssDataFormat(CamelContext camelContext,
+            RssDataFormatConfiguration configuration) throws Exception {
+        RssDataFormat dataformat = new RssDataFormat();
+        if (dataformat instanceof CamelContextAware) {
+            ((CamelContextAware) dataformat).setCamelContext(camelContext);
+        }
+        Map<String, Object> parameters = new HashMap<>();
+        IntrospectionSupport.getProperties(configuration, parameters, null);
+        IntrospectionSupport.setProperties(camelContext,
+                camelContext.getTypeConverter(), dataformat, parameters);
+        return dataformat;
+    }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/camel/blob/f9b58d31/components/camel-rss/src/main/java/org/apache/camel/dataformat/rss/springboot/RssDataFormatConfiguration.java
----------------------------------------------------------------------
diff --git a/components/camel-rss/src/main/java/org/apache/camel/dataformat/rss/springboot/RssDataFormatConfiguration.java b/components/camel-rss/src/main/java/org/apache/camel/dataformat/rss/springboot/RssDataFormatConfiguration.java
new file mode 100644
index 0000000..2790cd9
--- /dev/null
+++ b/components/camel-rss/src/main/java/org/apache/camel/dataformat/rss/springboot/RssDataFormatConfiguration.java
@@ -0,0 +1,41 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * 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.dataformat.rss.springboot;
+
+import org.springframework.boot.context.properties.ConfigurationProperties;
+
+/**
+ * Camel RSS support
+ * 
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@ConfigurationProperties(prefix = "camel.dataformat.rss")
+public class RssDataFormatConfiguration {
+
+    /**
+     * Sets the value of the id property.
+     */
+    private String id;
+
+    public String getId() {
+        return id;
+    }
+
+    public void setId(String id) {
+        this.id = id;
+    }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/camel/blob/f9b58d31/components/camel-rss/src/main/resources/META-INF/spring.factories
----------------------------------------------------------------------
diff --git a/components/camel-rss/src/main/resources/META-INF/spring.factories b/components/camel-rss/src/main/resources/META-INF/spring.factories
new file mode 100644
index 0000000..5c2d5c4
--- /dev/null
+++ b/components/camel-rss/src/main/resources/META-INF/spring.factories
@@ -0,0 +1,19 @@
+#
+# 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.dataformat.rss.springboot.RssDataFormatAutoConfiguration

http://git-wip-us.apache.org/repos/asf/camel/blob/f9b58d31/components/camel-snakeyaml/src/main/java/org/apache/camel/component/snakeyaml/springboot/SnakeYAMLDataFormatAutoConfiguration.java
----------------------------------------------------------------------
diff --git a/components/camel-snakeyaml/src/main/java/org/apache/camel/component/snakeyaml/springboot/SnakeYAMLDataFormatAutoConfiguration.java b/components/camel-snakeyaml/src/main/java/org/apache/camel/component/snakeyaml/springboot/SnakeYAMLDataFormatAutoConfiguration.java
new file mode 100644
index 0000000..c29e356
--- /dev/null
+++ b/components/camel-snakeyaml/src/main/java/org/apache/camel/component/snakeyaml/springboot/SnakeYAMLDataFormatAutoConfiguration.java
@@ -0,0 +1,54 @@
+/**
+ * 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.snakeyaml.springboot;
+
+import java.util.HashMap;
+import java.util.Map;
+import org.apache.camel.CamelContext;
+import org.apache.camel.CamelContextAware;
+import org.apache.camel.component.snakeyaml.SnakeYAMLDataFormat;
+import org.apache.camel.util.IntrospectionSupport;
+import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
+import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
+import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Configuration
+@EnableConfigurationProperties(SnakeYAMLDataFormatConfiguration.class)
+public class SnakeYAMLDataFormatAutoConfiguration {
+
+    @Bean
+    @ConditionalOnClass(CamelContext.class)
+    @ConditionalOnMissingBean(SnakeYAMLDataFormat.class)
+    public SnakeYAMLDataFormat configureSnakeYAMLDataFormat(
+            CamelContext camelContext,
+            SnakeYAMLDataFormatConfiguration configuration) throws Exception {
+        SnakeYAMLDataFormat dataformat = new SnakeYAMLDataFormat();
+        if (dataformat instanceof CamelContextAware) {
+            ((CamelContextAware) dataformat).setCamelContext(camelContext);
+        }
+        Map<String, Object> parameters = new HashMap<>();
+        IntrospectionSupport.getProperties(configuration, parameters, null);
+        IntrospectionSupport.setProperties(camelContext,
+                camelContext.getTypeConverter(), dataformat, parameters);
+        return dataformat;
+    }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/camel/blob/f9b58d31/components/camel-snakeyaml/src/main/java/org/apache/camel/component/snakeyaml/springboot/SnakeYAMLDataFormatConfiguration.java
----------------------------------------------------------------------
diff --git a/components/camel-snakeyaml/src/main/java/org/apache/camel/component/snakeyaml/springboot/SnakeYAMLDataFormatConfiguration.java b/components/camel-snakeyaml/src/main/java/org/apache/camel/component/snakeyaml/springboot/SnakeYAMLDataFormatConfiguration.java
new file mode 100644
index 0000000..c663762
--- /dev/null
+++ b/components/camel-snakeyaml/src/main/java/org/apache/camel/component/snakeyaml/springboot/SnakeYAMLDataFormatConfiguration.java
@@ -0,0 +1,140 @@
+/**
+ * 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.snakeyaml.springboot;
+
+import org.apache.camel.model.dataformat.YAMLLibrary;
+import org.springframework.boot.context.properties.ConfigurationProperties;
+
+/**
+ * Camel SnakeYAML support
+ * 
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@ConfigurationProperties(prefix = "camel.dataformat.yaml")
+public class SnakeYAMLDataFormatConfiguration {
+
+    /**
+     * Which yaml library to use such. Is by default SnakeYAML
+     */
+    private YAMLLibrary library;
+    /**
+     * Class name of the java type to use when unarmshalling
+     */
+    private String unmarshalTypeName;
+    /**
+     * BaseConstructor to construct incoming documents.
+     */
+    private String constructor;
+    /**
+     * Representer to emit outgoing objects.
+     */
+    private String representer;
+    /**
+     * DumperOptions to configure outgoing objects.
+     */
+    private String dumperOptions;
+    /**
+     * Resolver to detect implicit type
+     */
+    private String resolver;
+    /**
+     * Use ApplicationContextClassLoader as custom ClassLoader
+     */
+    private Boolean useApplicationContextClassLoader;
+    /**
+     * Force the emitter to produce a pretty YAML document when using the flow
+     * style.
+     */
+    private Boolean prettyFlow;
+    /**
+     * Sets the value of the id property.
+     */
+    private String id;
+
+    public YAMLLibrary getLibrary() {
+        return library;
+    }
+
+    public void setLibrary(YAMLLibrary library) {
+        this.library = library;
+    }
+
+    public String getUnmarshalTypeName() {
+        return unmarshalTypeName;
+    }
+
+    public void setUnmarshalTypeName(String unmarshalTypeName) {
+        this.unmarshalTypeName = unmarshalTypeName;
+    }
+
+    public String getConstructor() {
+        return constructor;
+    }
+
+    public void setConstructor(String constructor) {
+        this.constructor = constructor;
+    }
+
+    public String getRepresenter() {
+        return representer;
+    }
+
+    public void setRepresenter(String representer) {
+        this.representer = representer;
+    }
+
+    public String getDumperOptions() {
+        return dumperOptions;
+    }
+
+    public void setDumperOptions(String dumperOptions) {
+        this.dumperOptions = dumperOptions;
+    }
+
+    public String getResolver() {
+        return resolver;
+    }
+
+    public void setResolver(String resolver) {
+        this.resolver = resolver;
+    }
+
+    public Boolean getUseApplicationContextClassLoader() {
+        return useApplicationContextClassLoader;
+    }
+
+    public void setUseApplicationContextClassLoader(
+            Boolean useApplicationContextClassLoader) {
+        this.useApplicationContextClassLoader = useApplicationContextClassLoader;
+    }
+
+    public Boolean getPrettyFlow() {
+        return prettyFlow;
+    }
+
+    public void setPrettyFlow(Boolean prettyFlow) {
+        this.prettyFlow = prettyFlow;
+    }
+
+    public String getId() {
+        return id;
+    }
+
+    public void setId(String id) {
+        this.id = id;
+    }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/camel/blob/f9b58d31/components/camel-snakeyaml/src/main/resources/META-INF/spring.factories
----------------------------------------------------------------------
diff --git a/components/camel-snakeyaml/src/main/resources/META-INF/spring.factories b/components/camel-snakeyaml/src/main/resources/META-INF/spring.factories
new file mode 100644
index 0000000..3054d7e
--- /dev/null
+++ b/components/camel-snakeyaml/src/main/resources/META-INF/spring.factories
@@ -0,0 +1,19 @@
+#
+# 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.snakeyaml.springboot.SnakeYAMLDataFormatAutoConfiguration

http://git-wip-us.apache.org/repos/asf/camel/blob/f9b58d31/components/camel-soap/src/main/java/org/apache/camel/dataformat/soap/springboot/SoapJaxbDataFormatAutoConfiguration.java
----------------------------------------------------------------------
diff --git a/components/camel-soap/src/main/java/org/apache/camel/dataformat/soap/springboot/SoapJaxbDataFormatAutoConfiguration.java b/components/camel-soap/src/main/java/org/apache/camel/dataformat/soap/springboot/SoapJaxbDataFormatAutoConfiguration.java
new file mode 100644
index 0000000..4cebd0e
--- /dev/null
+++ b/components/camel-soap/src/main/java/org/apache/camel/dataformat/soap/springboot/SoapJaxbDataFormatAutoConfiguration.java
@@ -0,0 +1,54 @@
+/**
+ * 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.dataformat.soap.springboot;
+
+import java.util.HashMap;
+import java.util.Map;
+import org.apache.camel.CamelContext;
+import org.apache.camel.CamelContextAware;
+import org.apache.camel.dataformat.soap.SoapJaxbDataFormat;
+import org.apache.camel.util.IntrospectionSupport;
+import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
+import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
+import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Configuration
+@EnableConfigurationProperties(SoapJaxbDataFormatConfiguration.class)
+public class SoapJaxbDataFormatAutoConfiguration {
+
+    @Bean
+    @ConditionalOnClass(CamelContext.class)
+    @ConditionalOnMissingBean(SoapJaxbDataFormat.class)
+    public SoapJaxbDataFormat configureSoapJaxbDataFormat(
+            CamelContext camelContext,
+            SoapJaxbDataFormatConfiguration configuration) throws Exception {
+        SoapJaxbDataFormat dataformat = new SoapJaxbDataFormat();
+        if (dataformat instanceof CamelContextAware) {
+            ((CamelContextAware) dataformat).setCamelContext(camelContext);
+        }
+        Map<String, Object> parameters = new HashMap<>();
+        IntrospectionSupport.getProperties(configuration, parameters, null);
+        IntrospectionSupport.setProperties(camelContext,
+                camelContext.getTypeConverter(), dataformat, parameters);
+        return dataformat;
+    }
+}
\ No newline at end of file