Revert "Regen camel-hazelcast-starter"

This reverts commit c51fe42eb5e407aa7473abee71ce941e0553f233.


Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/befc483e
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/befc483e
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/befc483e

Branch: refs/heads/master
Commit: befc483e3047339b8b3050db7b571d45dc7f20a6
Parents: fe7804b
Author: lburgazzoli <lburgazz...@gmail.com>
Authored: Mon Sep 11 13:13:19 2017 +0200
Committer: lburgazzoli <lburgazz...@gmail.com>
Committed: Mon Sep 11 13:13:19 2017 +0200

----------------------------------------------------------------------
 .../src/main/docs/asn1-dataformat.adoc          |   2 +-
 .../customizer/HazelcastInstanceCustomizer.java |  42 +++++++
 ...azelcastInstanceCustomizerConfiguration.java |  24 ++++
 .../customizer/HazelcastInstanceCustomizer.java |  42 +++++++
 ...azelcastInstanceCustomizerConfiguration.java |  24 ++++
 .../customizer/HazelcastInstanceCustomizer.java |  42 +++++++
 ...azelcastInstanceCustomizerConfiguration.java |  24 ++++
 .../customizer/HazelcastInstanceCustomizer.java |  42 +++++++
 ...azelcastInstanceCustomizerConfiguration.java |  24 ++++
 .../customizer/HazelcastInstanceCustomizer.java |  42 +++++++
 ...azelcastInstanceCustomizerConfiguration.java |  24 ++++
 .../customizer/HazelcastInstanceCustomizer.java |  42 +++++++
 ...azelcastInstanceCustomizerConfiguration.java |  24 ++++
 .../customizer/HazelcastInstanceCustomizer.java |  42 +++++++
 ...azelcastInstanceCustomizerConfiguration.java |  24 ++++
 .../customizer/HazelcastInstanceCustomizer.java |  42 +++++++
 ...azelcastInstanceCustomizerConfiguration.java |  24 ++++
 .../customizer/HazelcastInstanceCustomizer.java |  42 +++++++
 ...azelcastInstanceCustomizerConfiguration.java |  24 ++++
 .../customizer/HazelcastInstanceCustomizer.java |  42 +++++++
 ...azelcastInstanceCustomizerConfiguration.java |  24 ++++
 .../HazelcastComponentAutoConfiguration.java    | 114 +++++++++++++++++++
 .../HazelcastComponentConfiguration.java        |  77 +++++++++++++
 .../AbstractHazelcastInstanceCustomizer.java    |  70 ++++++++++++
 ...azelcastInstanceCustomizerConfiguration.java |  46 ++++++++
 .../customizer/HazelcastInstanceCustomizer.java |  42 +++++++
 ...azelcastInstanceCustomizerConfiguration.java |  24 ++++
 ...dditional-spring-configuration-metadata.json |  76 +++++++++++++
 .../main/resources/META-INF/spring.factories    |  18 ++-
 .../HazelcastInstanceCustomizerTest.java        |  91 +++++++++++++++
 .../src/test/resources/application.properties   |   1 +
 .../src/test/resources/logback.xml              |  52 +++++++++
 32 files changed, 1269 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/befc483e/components/camel-asn1/src/main/docs/asn1-dataformat.adoc
----------------------------------------------------------------------
diff --git a/components/camel-asn1/src/main/docs/asn1-dataformat.adoc 
b/components/camel-asn1/src/main/docs/asn1-dataformat.adoc
index eb050c4..80f84d2 100644
--- a/components/camel-asn1/src/main/docs/asn1-dataformat.adoc
+++ b/components/camel-asn1/src/main/docs/asn1-dataformat.adoc
@@ -15,7 +15,7 @@ The ASN.1 File dataformat supports 3 options which are listed 
below.
 |=======================================================================
 | Name | Default | Java Type | Description
 | usingIterator | false | Boolean | If the asn1 file has more then one entry 
the setting this option to true allows to work with the splitter EIP to split 
the data using an iterator in a streaming mode.
-| clazzName |  | String | Name of class to use when unarmshalling
+| clazzName |  | String | Name of class to use when unmarshalling
 | 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

http://git-wip-us.apache.org/repos/asf/camel/blob/befc483e/platforms/spring-boot/components-starter/camel-hazelcast-starter/src/main/java/org/apache/camel/component/hazelcast/atomicnumber/springboot/customizer/HazelcastInstanceCustomizer.java
----------------------------------------------------------------------
diff --git 
a/platforms/spring-boot/components-starter/camel-hazelcast-starter/src/main/java/org/apache/camel/component/hazelcast/atomicnumber/springboot/customizer/HazelcastInstanceCustomizer.java
 
b/platforms/spring-boot/components-starter/camel-hazelcast-starter/src/main/java/org/apache/camel/component/hazelcast/atomicnumber/springboot/customizer/HazelcastInstanceCustomizer.java
new file mode 100644
index 0000000..dfbae6c
--- /dev/null
+++ 
b/platforms/spring-boot/components-starter/camel-hazelcast-starter/src/main/java/org/apache/camel/component/hazelcast/atomicnumber/springboot/customizer/HazelcastInstanceCustomizer.java
@@ -0,0 +1,42 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package 
org.apache.camel.component.hazelcast.atomicnumber.springboot.customizer;
+
+import 
org.apache.camel.component.hazelcast.atomicnumber.HazelcastAtomicnumberComponent;
+import 
org.apache.camel.component.hazelcast.atomicnumber.springboot.HazelcastAtomicnumberComponentAutoConfiguration;
+import 
org.apache.camel.component.hazelcast.springboot.customizer.AbstractHazelcastInstanceCustomizer;
+import org.apache.camel.spring.boot.CamelAutoConfiguration;
+import org.springframework.boot.autoconfigure.AutoConfigureAfter;
+import org.springframework.boot.autoconfigure.AutoConfigureBefore;
+import 
org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.context.annotation.Conditional;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.core.Ordered;
+import org.springframework.core.annotation.Order;
+
+@Order(Ordered.LOWEST_PRECEDENCE)
+@Configuration
+@Conditional(HazelcastInstanceCustomizer.NestedConditions.class)
+@AutoConfigureAfter(CamelAutoConfiguration.class)
+@AutoConfigureBefore(HazelcastAtomicnumberComponentAutoConfiguration.class)
+@EnableConfigurationProperties(HazelcastInstanceCustomizerConfiguration.class)
+public class HazelcastInstanceCustomizer extends 
AbstractHazelcastInstanceCustomizer<HazelcastAtomicnumberComponent, 
HazelcastInstanceCustomizerConfiguration> {
+    @Override
+    public String getId() {
+        return 
"camel.component.hazelcast-atomicvalue.customizer.hazelcast-instance";
+    }
+}

http://git-wip-us.apache.org/repos/asf/camel/blob/befc483e/platforms/spring-boot/components-starter/camel-hazelcast-starter/src/main/java/org/apache/camel/component/hazelcast/atomicnumber/springboot/customizer/HazelcastInstanceCustomizerConfiguration.java
----------------------------------------------------------------------
diff --git 
a/platforms/spring-boot/components-starter/camel-hazelcast-starter/src/main/java/org/apache/camel/component/hazelcast/atomicnumber/springboot/customizer/HazelcastInstanceCustomizerConfiguration.java
 
b/platforms/spring-boot/components-starter/camel-hazelcast-starter/src/main/java/org/apache/camel/component/hazelcast/atomicnumber/springboot/customizer/HazelcastInstanceCustomizerConfiguration.java
new file mode 100644
index 0000000..8384e43
--- /dev/null
+++ 
b/platforms/spring-boot/components-starter/camel-hazelcast-starter/src/main/java/org/apache/camel/component/hazelcast/atomicnumber/springboot/customizer/HazelcastInstanceCustomizerConfiguration.java
@@ -0,0 +1,24 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package 
org.apache.camel.component.hazelcast.atomicnumber.springboot.customizer;
+
+import 
org.apache.camel.component.hazelcast.springboot.customizer.AbstractHazelcastInstanceCustomizerConfiguration;
+import org.springframework.boot.context.properties.ConfigurationProperties;
+
+@ConfigurationProperties(prefix = 
"camel.component.hazelcast-atomicvalue.customizer.hazelcast-instance")
+public class HazelcastInstanceCustomizerConfiguration extends 
AbstractHazelcastInstanceCustomizerConfiguration {
+}

http://git-wip-us.apache.org/repos/asf/camel/blob/befc483e/platforms/spring-boot/components-starter/camel-hazelcast-starter/src/main/java/org/apache/camel/component/hazelcast/instance/springboot/customizer/HazelcastInstanceCustomizer.java
----------------------------------------------------------------------
diff --git 
a/platforms/spring-boot/components-starter/camel-hazelcast-starter/src/main/java/org/apache/camel/component/hazelcast/instance/springboot/customizer/HazelcastInstanceCustomizer.java
 
b/platforms/spring-boot/components-starter/camel-hazelcast-starter/src/main/java/org/apache/camel/component/hazelcast/instance/springboot/customizer/HazelcastInstanceCustomizer.java
new file mode 100644
index 0000000..f19099b
--- /dev/null
+++ 
b/platforms/spring-boot/components-starter/camel-hazelcast-starter/src/main/java/org/apache/camel/component/hazelcast/instance/springboot/customizer/HazelcastInstanceCustomizer.java
@@ -0,0 +1,42 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.hazelcast.instance.springboot.customizer;
+
+import 
org.apache.camel.component.hazelcast.instance.HazelcastInstanceComponent;
+import 
org.apache.camel.component.hazelcast.instance.springboot.HazelcastInstanceComponentAutoConfiguration;
+import 
org.apache.camel.component.hazelcast.springboot.customizer.AbstractHazelcastInstanceCustomizer;
+import org.apache.camel.spring.boot.CamelAutoConfiguration;
+import org.springframework.boot.autoconfigure.AutoConfigureAfter;
+import org.springframework.boot.autoconfigure.AutoConfigureBefore;
+import 
org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.context.annotation.Conditional;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.core.Ordered;
+import org.springframework.core.annotation.Order;
+
+@Order(Ordered.LOWEST_PRECEDENCE)
+@Configuration
+@Conditional(HazelcastInstanceCustomizer.NestedConditions.class)
+@AutoConfigureAfter(CamelAutoConfiguration.class)
+@AutoConfigureBefore(HazelcastInstanceComponentAutoConfiguration.class)
+@EnableConfigurationProperties(HazelcastInstanceCustomizerConfiguration.class)
+public class HazelcastInstanceCustomizer extends 
AbstractHazelcastInstanceCustomizer<HazelcastInstanceComponent, 
HazelcastInstanceCustomizerConfiguration> {
+    @Override
+    public String getId() {
+        return 
"camel.component.hazelcast-instance.customizer.hazelcast-instance";
+    }
+}

http://git-wip-us.apache.org/repos/asf/camel/blob/befc483e/platforms/spring-boot/components-starter/camel-hazelcast-starter/src/main/java/org/apache/camel/component/hazelcast/instance/springboot/customizer/HazelcastInstanceCustomizerConfiguration.java
----------------------------------------------------------------------
diff --git 
a/platforms/spring-boot/components-starter/camel-hazelcast-starter/src/main/java/org/apache/camel/component/hazelcast/instance/springboot/customizer/HazelcastInstanceCustomizerConfiguration.java
 
b/platforms/spring-boot/components-starter/camel-hazelcast-starter/src/main/java/org/apache/camel/component/hazelcast/instance/springboot/customizer/HazelcastInstanceCustomizerConfiguration.java
new file mode 100644
index 0000000..3999304
--- /dev/null
+++ 
b/platforms/spring-boot/components-starter/camel-hazelcast-starter/src/main/java/org/apache/camel/component/hazelcast/instance/springboot/customizer/HazelcastInstanceCustomizerConfiguration.java
@@ -0,0 +1,24 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.hazelcast.instance.springboot.customizer;
+
+import 
org.apache.camel.component.hazelcast.springboot.customizer.AbstractHazelcastInstanceCustomizerConfiguration;
+import org.springframework.boot.context.properties.ConfigurationProperties;
+
+@ConfigurationProperties(prefix = 
"camel.component.hazelcast-topic.customizer.hazelcast-instance")
+public class HazelcastInstanceCustomizerConfiguration extends 
AbstractHazelcastInstanceCustomizerConfiguration {
+}

http://git-wip-us.apache.org/repos/asf/camel/blob/befc483e/platforms/spring-boot/components-starter/camel-hazelcast-starter/src/main/java/org/apache/camel/component/hazelcast/list/springboot/customizer/HazelcastInstanceCustomizer.java
----------------------------------------------------------------------
diff --git 
a/platforms/spring-boot/components-starter/camel-hazelcast-starter/src/main/java/org/apache/camel/component/hazelcast/list/springboot/customizer/HazelcastInstanceCustomizer.java
 
b/platforms/spring-boot/components-starter/camel-hazelcast-starter/src/main/java/org/apache/camel/component/hazelcast/list/springboot/customizer/HazelcastInstanceCustomizer.java
new file mode 100644
index 0000000..f55c9c4
--- /dev/null
+++ 
b/platforms/spring-boot/components-starter/camel-hazelcast-starter/src/main/java/org/apache/camel/component/hazelcast/list/springboot/customizer/HazelcastInstanceCustomizer.java
@@ -0,0 +1,42 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.hazelcast.list.springboot.customizer;
+
+import org.apache.camel.component.hazelcast.list.HazelcastListComponent;
+import 
org.apache.camel.component.hazelcast.list.springboot.HazelcastListComponentAutoConfiguration;
+import 
org.apache.camel.component.hazelcast.springboot.customizer.AbstractHazelcastInstanceCustomizer;
+import org.apache.camel.spring.boot.CamelAutoConfiguration;
+import org.springframework.boot.autoconfigure.AutoConfigureAfter;
+import org.springframework.boot.autoconfigure.AutoConfigureBefore;
+import 
org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.context.annotation.Conditional;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.core.Ordered;
+import org.springframework.core.annotation.Order;
+
+@Order(Ordered.LOWEST_PRECEDENCE)
+@Configuration
+@Conditional(HazelcastInstanceCustomizer.NestedConditions.class)
+@AutoConfigureAfter(CamelAutoConfiguration.class)
+@AutoConfigureBefore(HazelcastListComponentAutoConfiguration.class)
+@EnableConfigurationProperties(HazelcastInstanceCustomizerConfiguration.class)
+public class HazelcastInstanceCustomizer extends 
AbstractHazelcastInstanceCustomizer<HazelcastListComponent, 
HazelcastInstanceCustomizerConfiguration> {
+    @Override
+    public String getId() {
+        return "camel.component.hazelcast-list.customizer.hazelcast-instance";
+    }
+}

http://git-wip-us.apache.org/repos/asf/camel/blob/befc483e/platforms/spring-boot/components-starter/camel-hazelcast-starter/src/main/java/org/apache/camel/component/hazelcast/list/springboot/customizer/HazelcastInstanceCustomizerConfiguration.java
----------------------------------------------------------------------
diff --git 
a/platforms/spring-boot/components-starter/camel-hazelcast-starter/src/main/java/org/apache/camel/component/hazelcast/list/springboot/customizer/HazelcastInstanceCustomizerConfiguration.java
 
b/platforms/spring-boot/components-starter/camel-hazelcast-starter/src/main/java/org/apache/camel/component/hazelcast/list/springboot/customizer/HazelcastInstanceCustomizerConfiguration.java
new file mode 100644
index 0000000..61291b0
--- /dev/null
+++ 
b/platforms/spring-boot/components-starter/camel-hazelcast-starter/src/main/java/org/apache/camel/component/hazelcast/list/springboot/customizer/HazelcastInstanceCustomizerConfiguration.java
@@ -0,0 +1,24 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.hazelcast.list.springboot.customizer;
+
+import 
org.apache.camel.component.hazelcast.springboot.customizer.AbstractHazelcastInstanceCustomizerConfiguration;
+import org.springframework.boot.context.properties.ConfigurationProperties;
+
+@ConfigurationProperties(prefix = 
"camel.component.hazelcast-list.customizer.hazelcast-instance")
+public class HazelcastInstanceCustomizerConfiguration extends 
AbstractHazelcastInstanceCustomizerConfiguration {
+}

http://git-wip-us.apache.org/repos/asf/camel/blob/befc483e/platforms/spring-boot/components-starter/camel-hazelcast-starter/src/main/java/org/apache/camel/component/hazelcast/map/springboot/customizer/HazelcastInstanceCustomizer.java
----------------------------------------------------------------------
diff --git 
a/platforms/spring-boot/components-starter/camel-hazelcast-starter/src/main/java/org/apache/camel/component/hazelcast/map/springboot/customizer/HazelcastInstanceCustomizer.java
 
b/platforms/spring-boot/components-starter/camel-hazelcast-starter/src/main/java/org/apache/camel/component/hazelcast/map/springboot/customizer/HazelcastInstanceCustomizer.java
new file mode 100644
index 0000000..00741fd
--- /dev/null
+++ 
b/platforms/spring-boot/components-starter/camel-hazelcast-starter/src/main/java/org/apache/camel/component/hazelcast/map/springboot/customizer/HazelcastInstanceCustomizer.java
@@ -0,0 +1,42 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.hazelcast.map.springboot.customizer;
+
+import org.apache.camel.component.hazelcast.map.HazelcastMapComponent;
+import 
org.apache.camel.component.hazelcast.map.springboot.HazelcastMapComponentAutoConfiguration;
+import 
org.apache.camel.component.hazelcast.springboot.customizer.AbstractHazelcastInstanceCustomizer;
+import org.apache.camel.spring.boot.CamelAutoConfiguration;
+import org.springframework.boot.autoconfigure.AutoConfigureAfter;
+import org.springframework.boot.autoconfigure.AutoConfigureBefore;
+import 
org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.context.annotation.Conditional;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.core.Ordered;
+import org.springframework.core.annotation.Order;
+
+@Order(Ordered.LOWEST_PRECEDENCE)
+@Configuration
+@Conditional(HazelcastInstanceCustomizer.NestedConditions.class)
+@AutoConfigureAfter(CamelAutoConfiguration.class)
+@AutoConfigureBefore(HazelcastMapComponentAutoConfiguration.class)
+@EnableConfigurationProperties(HazelcastInstanceCustomizerConfiguration.class)
+public class HazelcastInstanceCustomizer extends 
AbstractHazelcastInstanceCustomizer<HazelcastMapComponent, 
HazelcastInstanceCustomizerConfiguration> {
+    @Override
+    public String getId() {
+        return "camel.component.hazelcast-map.customizer.hazelcast-instance";
+    }
+}

http://git-wip-us.apache.org/repos/asf/camel/blob/befc483e/platforms/spring-boot/components-starter/camel-hazelcast-starter/src/main/java/org/apache/camel/component/hazelcast/map/springboot/customizer/HazelcastInstanceCustomizerConfiguration.java
----------------------------------------------------------------------
diff --git 
a/platforms/spring-boot/components-starter/camel-hazelcast-starter/src/main/java/org/apache/camel/component/hazelcast/map/springboot/customizer/HazelcastInstanceCustomizerConfiguration.java
 
b/platforms/spring-boot/components-starter/camel-hazelcast-starter/src/main/java/org/apache/camel/component/hazelcast/map/springboot/customizer/HazelcastInstanceCustomizerConfiguration.java
new file mode 100644
index 0000000..a9edbc5
--- /dev/null
+++ 
b/platforms/spring-boot/components-starter/camel-hazelcast-starter/src/main/java/org/apache/camel/component/hazelcast/map/springboot/customizer/HazelcastInstanceCustomizerConfiguration.java
@@ -0,0 +1,24 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.hazelcast.map.springboot.customizer;
+
+import 
org.apache.camel.component.hazelcast.springboot.customizer.AbstractHazelcastInstanceCustomizerConfiguration;
+import org.springframework.boot.context.properties.ConfigurationProperties;
+
+@ConfigurationProperties(prefix = 
"camel.component.hazelcast-map.customizer.hazelcast-instance")
+public class HazelcastInstanceCustomizerConfiguration extends 
AbstractHazelcastInstanceCustomizerConfiguration {
+}

http://git-wip-us.apache.org/repos/asf/camel/blob/befc483e/platforms/spring-boot/components-starter/camel-hazelcast-starter/src/main/java/org/apache/camel/component/hazelcast/multimap/springboot/customizer/HazelcastInstanceCustomizer.java
----------------------------------------------------------------------
diff --git 
a/platforms/spring-boot/components-starter/camel-hazelcast-starter/src/main/java/org/apache/camel/component/hazelcast/multimap/springboot/customizer/HazelcastInstanceCustomizer.java
 
b/platforms/spring-boot/components-starter/camel-hazelcast-starter/src/main/java/org/apache/camel/component/hazelcast/multimap/springboot/customizer/HazelcastInstanceCustomizer.java
new file mode 100644
index 0000000..f976473
--- /dev/null
+++ 
b/platforms/spring-boot/components-starter/camel-hazelcast-starter/src/main/java/org/apache/camel/component/hazelcast/multimap/springboot/customizer/HazelcastInstanceCustomizer.java
@@ -0,0 +1,42 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.hazelcast.multimap.springboot.customizer;
+
+import 
org.apache.camel.component.hazelcast.multimap.HazelcastMultimapComponent;
+import 
org.apache.camel.component.hazelcast.multimap.springboot.HazelcastMultimapComponentAutoConfiguration;
+import 
org.apache.camel.component.hazelcast.springboot.customizer.AbstractHazelcastInstanceCustomizer;
+import org.apache.camel.spring.boot.CamelAutoConfiguration;
+import org.springframework.boot.autoconfigure.AutoConfigureAfter;
+import org.springframework.boot.autoconfigure.AutoConfigureBefore;
+import 
org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.context.annotation.Conditional;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.core.Ordered;
+import org.springframework.core.annotation.Order;
+
+@Order(Ordered.LOWEST_PRECEDENCE)
+@Configuration
+@Conditional(HazelcastInstanceCustomizer.NestedConditions.class)
+@AutoConfigureAfter(CamelAutoConfiguration.class)
+@AutoConfigureBefore(HazelcastMultimapComponentAutoConfiguration.class)
+@EnableConfigurationProperties(HazelcastInstanceCustomizerConfiguration.class)
+public class HazelcastInstanceCustomizer extends 
AbstractHazelcastInstanceCustomizer<HazelcastMultimapComponent, 
HazelcastInstanceCustomizerConfiguration> {
+    @Override
+    public String getId() {
+        return 
"camel.component.hazelcast-multimap.customizer.hazelcast-instance";
+    }
+}

http://git-wip-us.apache.org/repos/asf/camel/blob/befc483e/platforms/spring-boot/components-starter/camel-hazelcast-starter/src/main/java/org/apache/camel/component/hazelcast/multimap/springboot/customizer/HazelcastInstanceCustomizerConfiguration.java
----------------------------------------------------------------------
diff --git 
a/platforms/spring-boot/components-starter/camel-hazelcast-starter/src/main/java/org/apache/camel/component/hazelcast/multimap/springboot/customizer/HazelcastInstanceCustomizerConfiguration.java
 
b/platforms/spring-boot/components-starter/camel-hazelcast-starter/src/main/java/org/apache/camel/component/hazelcast/multimap/springboot/customizer/HazelcastInstanceCustomizerConfiguration.java
new file mode 100644
index 0000000..e944bc8
--- /dev/null
+++ 
b/platforms/spring-boot/components-starter/camel-hazelcast-starter/src/main/java/org/apache/camel/component/hazelcast/multimap/springboot/customizer/HazelcastInstanceCustomizerConfiguration.java
@@ -0,0 +1,24 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.hazelcast.multimap.springboot.customizer;
+
+import 
org.apache.camel.component.hazelcast.springboot.customizer.AbstractHazelcastInstanceCustomizerConfiguration;
+import org.springframework.boot.context.properties.ConfigurationProperties;
+
+@ConfigurationProperties(prefix = 
"camel.component.hazelcast-multimap.customizer.hazelcast-instance")
+public class HazelcastInstanceCustomizerConfiguration extends 
AbstractHazelcastInstanceCustomizerConfiguration {
+}

http://git-wip-us.apache.org/repos/asf/camel/blob/befc483e/platforms/spring-boot/components-starter/camel-hazelcast-starter/src/main/java/org/apache/camel/component/hazelcast/queue/springboot/customizer/HazelcastInstanceCustomizer.java
----------------------------------------------------------------------
diff --git 
a/platforms/spring-boot/components-starter/camel-hazelcast-starter/src/main/java/org/apache/camel/component/hazelcast/queue/springboot/customizer/HazelcastInstanceCustomizer.java
 
b/platforms/spring-boot/components-starter/camel-hazelcast-starter/src/main/java/org/apache/camel/component/hazelcast/queue/springboot/customizer/HazelcastInstanceCustomizer.java
new file mode 100644
index 0000000..b538ce3
--- /dev/null
+++ 
b/platforms/spring-boot/components-starter/camel-hazelcast-starter/src/main/java/org/apache/camel/component/hazelcast/queue/springboot/customizer/HazelcastInstanceCustomizer.java
@@ -0,0 +1,42 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.hazelcast.queue.springboot.customizer;
+
+import org.apache.camel.component.hazelcast.queue.HazelcastQueueComponent;
+import 
org.apache.camel.component.hazelcast.queue.springboot.HazelcastQueueComponentAutoConfiguration;
+import 
org.apache.camel.component.hazelcast.springboot.customizer.AbstractHazelcastInstanceCustomizer;
+import org.apache.camel.spring.boot.CamelAutoConfiguration;
+import org.springframework.boot.autoconfigure.AutoConfigureAfter;
+import org.springframework.boot.autoconfigure.AutoConfigureBefore;
+import 
org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.context.annotation.Conditional;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.core.Ordered;
+import org.springframework.core.annotation.Order;
+
+@Order(Ordered.LOWEST_PRECEDENCE)
+@Configuration
+@Conditional(HazelcastInstanceCustomizer.NestedConditions.class)
+@AutoConfigureAfter(CamelAutoConfiguration.class)
+@AutoConfigureBefore(HazelcastQueueComponentAutoConfiguration.class)
+@EnableConfigurationProperties(HazelcastInstanceCustomizerConfiguration.class)
+public class HazelcastInstanceCustomizer extends 
AbstractHazelcastInstanceCustomizer<HazelcastQueueComponent, 
HazelcastInstanceCustomizerConfiguration> {
+    @Override
+    public String getId() {
+        return "camel.component.hazelcast-queue.customizer.hazelcast-instance";
+    }
+}

http://git-wip-us.apache.org/repos/asf/camel/blob/befc483e/platforms/spring-boot/components-starter/camel-hazelcast-starter/src/main/java/org/apache/camel/component/hazelcast/queue/springboot/customizer/HazelcastInstanceCustomizerConfiguration.java
----------------------------------------------------------------------
diff --git 
a/platforms/spring-boot/components-starter/camel-hazelcast-starter/src/main/java/org/apache/camel/component/hazelcast/queue/springboot/customizer/HazelcastInstanceCustomizerConfiguration.java
 
b/platforms/spring-boot/components-starter/camel-hazelcast-starter/src/main/java/org/apache/camel/component/hazelcast/queue/springboot/customizer/HazelcastInstanceCustomizerConfiguration.java
new file mode 100644
index 0000000..bbc410c
--- /dev/null
+++ 
b/platforms/spring-boot/components-starter/camel-hazelcast-starter/src/main/java/org/apache/camel/component/hazelcast/queue/springboot/customizer/HazelcastInstanceCustomizerConfiguration.java
@@ -0,0 +1,24 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.hazelcast.queue.springboot.customizer;
+
+import 
org.apache.camel.component.hazelcast.springboot.customizer.AbstractHazelcastInstanceCustomizerConfiguration;
+import org.springframework.boot.context.properties.ConfigurationProperties;
+
+@ConfigurationProperties(prefix = 
"camel.component.hazelcast-queue.customizer.hazelcast-instance")
+public class HazelcastInstanceCustomizerConfiguration extends 
AbstractHazelcastInstanceCustomizerConfiguration {
+}

http://git-wip-us.apache.org/repos/asf/camel/blob/befc483e/platforms/spring-boot/components-starter/camel-hazelcast-starter/src/main/java/org/apache/camel/component/hazelcast/replicatedmap/springboot/customizer/HazelcastInstanceCustomizer.java
----------------------------------------------------------------------
diff --git 
a/platforms/spring-boot/components-starter/camel-hazelcast-starter/src/main/java/org/apache/camel/component/hazelcast/replicatedmap/springboot/customizer/HazelcastInstanceCustomizer.java
 
b/platforms/spring-boot/components-starter/camel-hazelcast-starter/src/main/java/org/apache/camel/component/hazelcast/replicatedmap/springboot/customizer/HazelcastInstanceCustomizer.java
new file mode 100644
index 0000000..a2ffd5f
--- /dev/null
+++ 
b/platforms/spring-boot/components-starter/camel-hazelcast-starter/src/main/java/org/apache/camel/component/hazelcast/replicatedmap/springboot/customizer/HazelcastInstanceCustomizer.java
@@ -0,0 +1,42 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package 
org.apache.camel.component.hazelcast.replicatedmap.springboot.customizer;
+
+import 
org.apache.camel.component.hazelcast.replicatedmap.HazelcastReplicatedmapComponent;
+import 
org.apache.camel.component.hazelcast.replicatedmap.springboot.HazelcastReplicatedmapComponentAutoConfiguration;
+import 
org.apache.camel.component.hazelcast.springboot.customizer.AbstractHazelcastInstanceCustomizer;
+import org.apache.camel.spring.boot.CamelAutoConfiguration;
+import org.springframework.boot.autoconfigure.AutoConfigureAfter;
+import org.springframework.boot.autoconfigure.AutoConfigureBefore;
+import 
org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.context.annotation.Conditional;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.core.Ordered;
+import org.springframework.core.annotation.Order;
+
+@Order(Ordered.LOWEST_PRECEDENCE)
+@Configuration
+@Conditional(HazelcastInstanceCustomizer.NestedConditions.class)
+@AutoConfigureAfter(CamelAutoConfiguration.class)
+@AutoConfigureBefore(HazelcastReplicatedmapComponentAutoConfiguration.class)
+@EnableConfigurationProperties(HazelcastInstanceCustomizerConfiguration.class)
+public class HazelcastInstanceCustomizer extends 
AbstractHazelcastInstanceCustomizer<HazelcastReplicatedmapComponent, 
HazelcastInstanceCustomizerConfiguration> {
+    @Override
+    public String getId() {
+        return 
"camel.component.hazelcast-replicatedmap.customizer.hazelcast-instance";
+    }
+}

http://git-wip-us.apache.org/repos/asf/camel/blob/befc483e/platforms/spring-boot/components-starter/camel-hazelcast-starter/src/main/java/org/apache/camel/component/hazelcast/replicatedmap/springboot/customizer/HazelcastInstanceCustomizerConfiguration.java
----------------------------------------------------------------------
diff --git 
a/platforms/spring-boot/components-starter/camel-hazelcast-starter/src/main/java/org/apache/camel/component/hazelcast/replicatedmap/springboot/customizer/HazelcastInstanceCustomizerConfiguration.java
 
b/platforms/spring-boot/components-starter/camel-hazelcast-starter/src/main/java/org/apache/camel/component/hazelcast/replicatedmap/springboot/customizer/HazelcastInstanceCustomizerConfiguration.java
new file mode 100644
index 0000000..df3535b
--- /dev/null
+++ 
b/platforms/spring-boot/components-starter/camel-hazelcast-starter/src/main/java/org/apache/camel/component/hazelcast/replicatedmap/springboot/customizer/HazelcastInstanceCustomizerConfiguration.java
@@ -0,0 +1,24 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package 
org.apache.camel.component.hazelcast.replicatedmap.springboot.customizer;
+
+import 
org.apache.camel.component.hazelcast.springboot.customizer.AbstractHazelcastInstanceCustomizerConfiguration;
+import org.springframework.boot.context.properties.ConfigurationProperties;
+
+@ConfigurationProperties(prefix = 
"camel.component.hazelcast-replicatedmap.customizer.hazelcast-instance")
+public class HazelcastInstanceCustomizerConfiguration extends 
AbstractHazelcastInstanceCustomizerConfiguration {
+}

http://git-wip-us.apache.org/repos/asf/camel/blob/befc483e/platforms/spring-boot/components-starter/camel-hazelcast-starter/src/main/java/org/apache/camel/component/hazelcast/ringbuffer/springboot/customizer/HazelcastInstanceCustomizer.java
----------------------------------------------------------------------
diff --git 
a/platforms/spring-boot/components-starter/camel-hazelcast-starter/src/main/java/org/apache/camel/component/hazelcast/ringbuffer/springboot/customizer/HazelcastInstanceCustomizer.java
 
b/platforms/spring-boot/components-starter/camel-hazelcast-starter/src/main/java/org/apache/camel/component/hazelcast/ringbuffer/springboot/customizer/HazelcastInstanceCustomizer.java
new file mode 100644
index 0000000..8580234
--- /dev/null
+++ 
b/platforms/spring-boot/components-starter/camel-hazelcast-starter/src/main/java/org/apache/camel/component/hazelcast/ringbuffer/springboot/customizer/HazelcastInstanceCustomizer.java
@@ -0,0 +1,42 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.hazelcast.ringbuffer.springboot.customizer;
+
+import 
org.apache.camel.component.hazelcast.ringbuffer.HazelcastRingbufferComponent;
+import 
org.apache.camel.component.hazelcast.ringbuffer.springboot.HazelcastRingbufferComponentAutoConfiguration;
+import 
org.apache.camel.component.hazelcast.springboot.customizer.AbstractHazelcastInstanceCustomizer;
+import org.apache.camel.spring.boot.CamelAutoConfiguration;
+import org.springframework.boot.autoconfigure.AutoConfigureAfter;
+import org.springframework.boot.autoconfigure.AutoConfigureBefore;
+import 
org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.context.annotation.Conditional;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.core.Ordered;
+import org.springframework.core.annotation.Order;
+
+@Order(Ordered.LOWEST_PRECEDENCE)
+@Configuration
+@Conditional(HazelcastInstanceCustomizer.NestedConditions.class)
+@AutoConfigureAfter(CamelAutoConfiguration.class)
+@AutoConfigureBefore(HazelcastRingbufferComponentAutoConfiguration.class)
+@EnableConfigurationProperties(HazelcastInstanceCustomizerConfiguration.class)
+public class HazelcastInstanceCustomizer extends 
AbstractHazelcastInstanceCustomizer<HazelcastRingbufferComponent, 
HazelcastInstanceCustomizerConfiguration> {
+    @Override
+    public String getId() {
+        return 
"camel.component.hazelcast-ringbuffer.customizer.hazelcast-instance";
+    }
+}

http://git-wip-us.apache.org/repos/asf/camel/blob/befc483e/platforms/spring-boot/components-starter/camel-hazelcast-starter/src/main/java/org/apache/camel/component/hazelcast/ringbuffer/springboot/customizer/HazelcastInstanceCustomizerConfiguration.java
----------------------------------------------------------------------
diff --git 
a/platforms/spring-boot/components-starter/camel-hazelcast-starter/src/main/java/org/apache/camel/component/hazelcast/ringbuffer/springboot/customizer/HazelcastInstanceCustomizerConfiguration.java
 
b/platforms/spring-boot/components-starter/camel-hazelcast-starter/src/main/java/org/apache/camel/component/hazelcast/ringbuffer/springboot/customizer/HazelcastInstanceCustomizerConfiguration.java
new file mode 100644
index 0000000..715852f
--- /dev/null
+++ 
b/platforms/spring-boot/components-starter/camel-hazelcast-starter/src/main/java/org/apache/camel/component/hazelcast/ringbuffer/springboot/customizer/HazelcastInstanceCustomizerConfiguration.java
@@ -0,0 +1,24 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.hazelcast.ringbuffer.springboot.customizer;
+
+import 
org.apache.camel.component.hazelcast.springboot.customizer.AbstractHazelcastInstanceCustomizerConfiguration;
+import org.springframework.boot.context.properties.ConfigurationProperties;
+
+@ConfigurationProperties(prefix = 
"camel.component.hazelcast-ringbuffer.customizer.hazelcast-instance")
+public class HazelcastInstanceCustomizerConfiguration extends 
AbstractHazelcastInstanceCustomizerConfiguration {
+}

http://git-wip-us.apache.org/repos/asf/camel/blob/befc483e/platforms/spring-boot/components-starter/camel-hazelcast-starter/src/main/java/org/apache/camel/component/hazelcast/seda/springboot/customizer/HazelcastInstanceCustomizer.java
----------------------------------------------------------------------
diff --git 
a/platforms/spring-boot/components-starter/camel-hazelcast-starter/src/main/java/org/apache/camel/component/hazelcast/seda/springboot/customizer/HazelcastInstanceCustomizer.java
 
b/platforms/spring-boot/components-starter/camel-hazelcast-starter/src/main/java/org/apache/camel/component/hazelcast/seda/springboot/customizer/HazelcastInstanceCustomizer.java
new file mode 100644
index 0000000..856edc8
--- /dev/null
+++ 
b/platforms/spring-boot/components-starter/camel-hazelcast-starter/src/main/java/org/apache/camel/component/hazelcast/seda/springboot/customizer/HazelcastInstanceCustomizer.java
@@ -0,0 +1,42 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.hazelcast.seda.springboot.customizer;
+
+import org.apache.camel.component.hazelcast.seda.HazelcastSedaComponent;
+import 
org.apache.camel.component.hazelcast.seda.springboot.HazelcastSedaComponentAutoConfiguration;
+import 
org.apache.camel.component.hazelcast.springboot.customizer.AbstractHazelcastInstanceCustomizer;
+import org.apache.camel.spring.boot.CamelAutoConfiguration;
+import org.springframework.boot.autoconfigure.AutoConfigureAfter;
+import org.springframework.boot.autoconfigure.AutoConfigureBefore;
+import 
org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.context.annotation.Conditional;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.core.Ordered;
+import org.springframework.core.annotation.Order;
+
+@Order(Ordered.LOWEST_PRECEDENCE)
+@Configuration
+@Conditional(HazelcastInstanceCustomizer.NestedConditions.class)
+@AutoConfigureAfter(CamelAutoConfiguration.class)
+@AutoConfigureBefore(HazelcastSedaComponentAutoConfiguration.class)
+@EnableConfigurationProperties(HazelcastInstanceCustomizerConfiguration.class)
+public class HazelcastInstanceCustomizer extends 
AbstractHazelcastInstanceCustomizer<HazelcastSedaComponent, 
HazelcastInstanceCustomizerConfiguration> {
+    @Override
+    public String getId() {
+        return "camel.component.hazelcast-seda.customizer.hazelcast-instance";
+    }
+}

http://git-wip-us.apache.org/repos/asf/camel/blob/befc483e/platforms/spring-boot/components-starter/camel-hazelcast-starter/src/main/java/org/apache/camel/component/hazelcast/seda/springboot/customizer/HazelcastInstanceCustomizerConfiguration.java
----------------------------------------------------------------------
diff --git 
a/platforms/spring-boot/components-starter/camel-hazelcast-starter/src/main/java/org/apache/camel/component/hazelcast/seda/springboot/customizer/HazelcastInstanceCustomizerConfiguration.java
 
b/platforms/spring-boot/components-starter/camel-hazelcast-starter/src/main/java/org/apache/camel/component/hazelcast/seda/springboot/customizer/HazelcastInstanceCustomizerConfiguration.java
new file mode 100644
index 0000000..fddeee2
--- /dev/null
+++ 
b/platforms/spring-boot/components-starter/camel-hazelcast-starter/src/main/java/org/apache/camel/component/hazelcast/seda/springboot/customizer/HazelcastInstanceCustomizerConfiguration.java
@@ -0,0 +1,24 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.hazelcast.seda.springboot.customizer;
+
+import 
org.apache.camel.component.hazelcast.springboot.customizer.AbstractHazelcastInstanceCustomizerConfiguration;
+import org.springframework.boot.context.properties.ConfigurationProperties;
+
+@ConfigurationProperties(prefix = 
"camel.component.hazelcast-seda.customizer.hazelcast-instance")
+public class HazelcastInstanceCustomizerConfiguration extends 
AbstractHazelcastInstanceCustomizerConfiguration {
+}

http://git-wip-us.apache.org/repos/asf/camel/blob/befc483e/platforms/spring-boot/components-starter/camel-hazelcast-starter/src/main/java/org/apache/camel/component/hazelcast/set/springboot/customizer/HazelcastInstanceCustomizer.java
----------------------------------------------------------------------
diff --git 
a/platforms/spring-boot/components-starter/camel-hazelcast-starter/src/main/java/org/apache/camel/component/hazelcast/set/springboot/customizer/HazelcastInstanceCustomizer.java
 
b/platforms/spring-boot/components-starter/camel-hazelcast-starter/src/main/java/org/apache/camel/component/hazelcast/set/springboot/customizer/HazelcastInstanceCustomizer.java
new file mode 100644
index 0000000..dbd4d6e
--- /dev/null
+++ 
b/platforms/spring-boot/components-starter/camel-hazelcast-starter/src/main/java/org/apache/camel/component/hazelcast/set/springboot/customizer/HazelcastInstanceCustomizer.java
@@ -0,0 +1,42 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.hazelcast.set.springboot.customizer;
+
+import org.apache.camel.component.hazelcast.set.HazelcastSetComponent;
+import 
org.apache.camel.component.hazelcast.set.springboot.HazelcastSetComponentAutoConfiguration;
+import 
org.apache.camel.component.hazelcast.springboot.customizer.AbstractHazelcastInstanceCustomizer;
+import org.apache.camel.spring.boot.CamelAutoConfiguration;
+import org.springframework.boot.autoconfigure.AutoConfigureAfter;
+import org.springframework.boot.autoconfigure.AutoConfigureBefore;
+import 
org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.context.annotation.Conditional;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.core.Ordered;
+import org.springframework.core.annotation.Order;
+
+@Order(Ordered.LOWEST_PRECEDENCE)
+@Configuration
+@Conditional(HazelcastInstanceCustomizer.NestedConditions.class)
+@AutoConfigureAfter(CamelAutoConfiguration.class)
+@AutoConfigureBefore(HazelcastSetComponentAutoConfiguration.class)
+@EnableConfigurationProperties(HazelcastInstanceCustomizerConfiguration.class)
+public class HazelcastInstanceCustomizer extends 
AbstractHazelcastInstanceCustomizer<HazelcastSetComponent, 
HazelcastInstanceCustomizerConfiguration> {
+    @Override
+    public String getId() {
+        return "camel.component.hazelcast-set.customizer.hazelcast-instance";
+    }
+}

http://git-wip-us.apache.org/repos/asf/camel/blob/befc483e/platforms/spring-boot/components-starter/camel-hazelcast-starter/src/main/java/org/apache/camel/component/hazelcast/set/springboot/customizer/HazelcastInstanceCustomizerConfiguration.java
----------------------------------------------------------------------
diff --git 
a/platforms/spring-boot/components-starter/camel-hazelcast-starter/src/main/java/org/apache/camel/component/hazelcast/set/springboot/customizer/HazelcastInstanceCustomizerConfiguration.java
 
b/platforms/spring-boot/components-starter/camel-hazelcast-starter/src/main/java/org/apache/camel/component/hazelcast/set/springboot/customizer/HazelcastInstanceCustomizerConfiguration.java
new file mode 100644
index 0000000..a9b6c98
--- /dev/null
+++ 
b/platforms/spring-boot/components-starter/camel-hazelcast-starter/src/main/java/org/apache/camel/component/hazelcast/set/springboot/customizer/HazelcastInstanceCustomizerConfiguration.java
@@ -0,0 +1,24 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.hazelcast.set.springboot.customizer;
+
+import 
org.apache.camel.component.hazelcast.springboot.customizer.AbstractHazelcastInstanceCustomizerConfiguration;
+import org.springframework.boot.context.properties.ConfigurationProperties;
+
+@ConfigurationProperties(prefix = 
"camel.component.hazelcast-set.customizer.hazelcast-instance")
+public class HazelcastInstanceCustomizerConfiguration extends 
AbstractHazelcastInstanceCustomizerConfiguration {
+}

http://git-wip-us.apache.org/repos/asf/camel/blob/befc483e/platforms/spring-boot/components-starter/camel-hazelcast-starter/src/main/java/org/apache/camel/component/hazelcast/springboot/HazelcastComponentAutoConfiguration.java
----------------------------------------------------------------------
diff --git 
a/platforms/spring-boot/components-starter/camel-hazelcast-starter/src/main/java/org/apache/camel/component/hazelcast/springboot/HazelcastComponentAutoConfiguration.java
 
b/platforms/spring-boot/components-starter/camel-hazelcast-starter/src/main/java/org/apache/camel/component/hazelcast/springboot/HazelcastComponentAutoConfiguration.java
new file mode 100644
index 0000000..f779771
--- /dev/null
+++ 
b/platforms/spring-boot/components-starter/camel-hazelcast-starter/src/main/java/org/apache/camel/component/hazelcast/springboot/HazelcastComponentAutoConfiguration.java
@@ -0,0 +1,114 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.hazelcast.springboot;
+
+import java.util.HashMap;
+import java.util.Map;
+import javax.annotation.Generated;
+import org.apache.camel.CamelContext;
+import org.apache.camel.component.hazelcast.HazelcastComponent;
+import org.apache.camel.util.IntrospectionSupport;
+import org.springframework.boot.autoconfigure.AutoConfigureAfter;
+import org.springframework.boot.autoconfigure.condition.ConditionMessage;
+import org.springframework.boot.autoconfigure.condition.ConditionOutcome;
+import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
+import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
+import 
org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
+import org.springframework.boot.autoconfigure.condition.SpringBootCondition;
+import org.springframework.boot.bind.RelaxedPropertyResolver;
+import 
org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.ConditionContext;
+import org.springframework.context.annotation.Conditional;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.Lazy;
+import org.springframework.core.type.AnnotatedTypeMetadata;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.maven.packaging.SpringBootAutoConfigurationMojo")
+@Configuration
+@ConditionalOnBean(type = 
"org.apache.camel.spring.boot.CamelAutoConfiguration")
+@Conditional(HazelcastComponentAutoConfiguration.Condition.class)
+@AutoConfigureAfter(name = 
"org.apache.camel.spring.boot.CamelAutoConfiguration")
+@EnableConfigurationProperties(HazelcastComponentConfiguration.class)
+public class HazelcastComponentAutoConfiguration {
+
+    @Lazy
+    @Bean(name = "hazelcast-component")
+    @ConditionalOnClass(CamelContext.class)
+    @ConditionalOnMissingBean(HazelcastComponent.class)
+    public HazelcastComponent configureHazelcastComponent(
+            CamelContext camelContext,
+            HazelcastComponentConfiguration configuration) throws Exception {
+        HazelcastComponent component = new HazelcastComponent();
+        component.setCamelContext(camelContext);
+        Map<String, Object> parameters = new HashMap<>();
+        IntrospectionSupport.getProperties(configuration, parameters, null,
+                false);
+        for (Map.Entry<String, Object> entry : parameters.entrySet()) {
+            Object value = entry.getValue();
+            Class<?> paramClass = value.getClass();
+            if (paramClass.getName().endsWith("NestedConfiguration")) {
+                Class nestedClass = null;
+                try {
+                    nestedClass = (Class) paramClass.getDeclaredField(
+                            "CAMEL_NESTED_CLASS").get(null);
+                    HashMap<String, Object> nestedParameters = new HashMap<>();
+                    IntrospectionSupport.getProperties(value, nestedParameters,
+                            null, false);
+                    Object nestedProperty = nestedClass.newInstance();
+                    IntrospectionSupport.setProperties(camelContext,
+                            camelContext.getTypeConverter(), nestedProperty,
+                            nestedParameters);
+                    entry.setValue(nestedProperty);
+                } catch (NoSuchFieldException e) {
+                }
+            }
+        }
+        IntrospectionSupport.setProperties(camelContext,
+                camelContext.getTypeConverter(), component, parameters);
+        return component;
+    }
+
+    
@Generated("org.apache.camel.maven.packaging.SpringBootAutoConfigurationMojo")
+    public static class Condition extends SpringBootCondition {
+        @Override
+        public ConditionOutcome getMatchOutcome(
+                ConditionContext conditionContext,
+                AnnotatedTypeMetadata annotatedTypeMetadata) {
+            boolean groupEnabled = isEnabled(conditionContext,
+                    "camel.component.", true);
+            ConditionMessage.Builder message = ConditionMessage
+                    .forCondition("camel.component.hazelcast");
+            if (isEnabled(conditionContext, "camel.component.hazelcast.",
+                    groupEnabled)) {
+                return ConditionOutcome.match(message.because("enabled"));
+            }
+            return ConditionOutcome.noMatch(message.because("not enabled"));
+        }
+
+        private boolean isEnabled(
+                org.springframework.context.annotation.ConditionContext 
context,
+                java.lang.String prefix, boolean defaultValue) {
+            RelaxedPropertyResolver resolver = new RelaxedPropertyResolver(
+                    context.getEnvironment(), prefix);
+            return resolver.getProperty("enabled", Boolean.class, 
defaultValue);
+        }
+    }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/camel/blob/befc483e/platforms/spring-boot/components-starter/camel-hazelcast-starter/src/main/java/org/apache/camel/component/hazelcast/springboot/HazelcastComponentConfiguration.java
----------------------------------------------------------------------
diff --git 
a/platforms/spring-boot/components-starter/camel-hazelcast-starter/src/main/java/org/apache/camel/component/hazelcast/springboot/HazelcastComponentConfiguration.java
 
b/platforms/spring-boot/components-starter/camel-hazelcast-starter/src/main/java/org/apache/camel/component/hazelcast/springboot/HazelcastComponentConfiguration.java
new file mode 100644
index 0000000..abda166
--- /dev/null
+++ 
b/platforms/spring-boot/components-starter/camel-hazelcast-starter/src/main/java/org/apache/camel/component/hazelcast/springboot/HazelcastComponentConfiguration.java
@@ -0,0 +1,77 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.hazelcast.springboot;
+
+import javax.annotation.Generated;
+import com.hazelcast.core.HazelcastInstance;
+import org.springframework.boot.context.properties.ConfigurationProperties;
+import org.springframework.boot.context.properties.NestedConfigurationProperty;
+
+/**
+ * The hazelcast component allows you to work with the Hazelcast distributed
+ * data grid / cache.
+ * 
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.maven.packaging.SpringBootAutoConfigurationMojo")
+@ConfigurationProperties(prefix = "camel.component.hazelcast")
+public class HazelcastComponentConfiguration {
+
+    /**
+     * The hazelcast instance reference which can be used for hazelcast
+     * endpoint. If you don't specify the instance reference camel use the
+     * default hazelcast instance from the camel-hazelcast instance.
+     */
+    @NestedConfigurationProperty
+    private HazelcastInstance hazelcastInstance;
+    /**
+     * The hazelcast mode reference which kind of instance should be used. If
+     * you don't specify the mode then the node mode will be the default.
+     */
+    private String hazelcastMode = "node";
+    /**
+     * Whether the component should resolve property placeholders on itself 
when
+     * starting. Only properties which are of String type can use property
+     * placeholders.
+     */
+    private Boolean resolvePropertyPlaceholders = true;
+
+    public HazelcastInstance getHazelcastInstance() {
+        return hazelcastInstance;
+    }
+
+    public void setHazelcastInstance(HazelcastInstance hazelcastInstance) {
+        this.hazelcastInstance = hazelcastInstance;
+    }
+
+    public String getHazelcastMode() {
+        return hazelcastMode;
+    }
+
+    public void setHazelcastMode(String hazelcastMode) {
+        this.hazelcastMode = hazelcastMode;
+    }
+
+    public Boolean getResolvePropertyPlaceholders() {
+        return resolvePropertyPlaceholders;
+    }
+
+    public void setResolvePropertyPlaceholders(
+            Boolean resolvePropertyPlaceholders) {
+        this.resolvePropertyPlaceholders = resolvePropertyPlaceholders;
+    }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/camel/blob/befc483e/platforms/spring-boot/components-starter/camel-hazelcast-starter/src/main/java/org/apache/camel/component/hazelcast/springboot/customizer/AbstractHazelcastInstanceCustomizer.java
----------------------------------------------------------------------
diff --git 
a/platforms/spring-boot/components-starter/camel-hazelcast-starter/src/main/java/org/apache/camel/component/hazelcast/springboot/customizer/AbstractHazelcastInstanceCustomizer.java
 
b/platforms/spring-boot/components-starter/camel-hazelcast-starter/src/main/java/org/apache/camel/component/hazelcast/springboot/customizer/AbstractHazelcastInstanceCustomizer.java
new file mode 100644
index 0000000..0483103
--- /dev/null
+++ 
b/platforms/spring-boot/components-starter/camel-hazelcast-starter/src/main/java/org/apache/camel/component/hazelcast/springboot/customizer/AbstractHazelcastInstanceCustomizer.java
@@ -0,0 +1,70 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.hazelcast.springboot.customizer;
+
+import com.hazelcast.core.HazelcastInstance;
+import org.apache.camel.component.hazelcast.HazelcastDefaultComponent;
+import org.apache.camel.spi.ComponentCustomizer;
+import org.apache.camel.spi.HasId;
+import org.apache.camel.spring.boot.CamelAutoConfiguration;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.autoconfigure.condition.AllNestedConditions;
+import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
+
+public abstract class AbstractHazelcastInstanceCustomizer<T extends 
HazelcastDefaultComponent, C extends 
AbstractHazelcastInstanceCustomizerConfiguration>
+        implements HasId, ComponentCustomizer<T> {
+
+    @Autowired
+    private HazelcastInstance hazelcastInstance;
+    @Autowired
+    private C configuration;
+
+    @Override
+    public void customize(T component) {
+        // Set the cache manager only if the customizer is configured to always
+        // set it or if no cache manager is already configured on component
+        if (configuration.isOverride() || component.getHazelcastInstance() == 
null) {
+            component.setHazelcastInstance(hazelcastInstance);
+        }
+    }
+
+    // 
*************************************************************************
+    // By default ConditionalOnBean works using an OR operation so if you list
+    // a number of classes, the condition succeeds if a single instance of any
+    // class is found.
+    //
+    // A workaround is to use AllNestedConditions and creates some dummy 
classes
+    // annotated with @ConditionalOnBean
+    //
+    // This should be fixed in spring-boot 2.0 where ConditionalOnBean uses and
+    // AND operation instead of the OR as it does today.
+    // 
*************************************************************************
+
+    public static class NestedConditions extends AllNestedConditions {
+        public NestedConditions() {
+            super(ConfigurationPhase.REGISTER_BEAN);
+        }
+
+        @ConditionalOnBean(HazelcastInstance.class)
+        static class OnHazelcastInstance {
+        }
+
+        @ConditionalOnBean(CamelAutoConfiguration.class)
+        static class OnCamelAutoConfiguration {
+        }
+    }
+}

http://git-wip-us.apache.org/repos/asf/camel/blob/befc483e/platforms/spring-boot/components-starter/camel-hazelcast-starter/src/main/java/org/apache/camel/component/hazelcast/springboot/customizer/AbstractHazelcastInstanceCustomizerConfiguration.java
----------------------------------------------------------------------
diff --git 
a/platforms/spring-boot/components-starter/camel-hazelcast-starter/src/main/java/org/apache/camel/component/hazelcast/springboot/customizer/AbstractHazelcastInstanceCustomizerConfiguration.java
 
b/platforms/spring-boot/components-starter/camel-hazelcast-starter/src/main/java/org/apache/camel/component/hazelcast/springboot/customizer/AbstractHazelcastInstanceCustomizerConfiguration.java
new file mode 100644
index 0000000..01b7e0f
--- /dev/null
+++ 
b/platforms/spring-boot/components-starter/camel-hazelcast-starter/src/main/java/org/apache/camel/component/hazelcast/springboot/customizer/AbstractHazelcastInstanceCustomizerConfiguration.java
@@ -0,0 +1,46 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.hazelcast.springboot.customizer;
+
+public abstract class AbstractHazelcastInstanceCustomizerConfiguration {
+    /**
+     * Enable or disable the cache-manager customizer.
+     */
+    private boolean enabled = true;
+
+    /**
+     * Configure if the cache manager eventually set on the component should 
be overridden by the customizer.
+     */
+    private boolean override;
+
+
+    public boolean isEnabled() {
+        return enabled;
+    }
+
+    public void setEnabled(boolean enabled) {
+        this.enabled = enabled;
+    }
+
+    public boolean isOverride() {
+        return override;
+    }
+
+    public void setOverride(boolean override) {
+        this.override = override;
+    }
+}

http://git-wip-us.apache.org/repos/asf/camel/blob/befc483e/platforms/spring-boot/components-starter/camel-hazelcast-starter/src/main/java/org/apache/camel/component/hazelcast/topic/springboot/customizer/HazelcastInstanceCustomizer.java
----------------------------------------------------------------------
diff --git 
a/platforms/spring-boot/components-starter/camel-hazelcast-starter/src/main/java/org/apache/camel/component/hazelcast/topic/springboot/customizer/HazelcastInstanceCustomizer.java
 
b/platforms/spring-boot/components-starter/camel-hazelcast-starter/src/main/java/org/apache/camel/component/hazelcast/topic/springboot/customizer/HazelcastInstanceCustomizer.java
new file mode 100644
index 0000000..60faf97
--- /dev/null
+++ 
b/platforms/spring-boot/components-starter/camel-hazelcast-starter/src/main/java/org/apache/camel/component/hazelcast/topic/springboot/customizer/HazelcastInstanceCustomizer.java
@@ -0,0 +1,42 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.hazelcast.topic.springboot.customizer;
+
+import 
org.apache.camel.component.hazelcast.springboot.customizer.AbstractHazelcastInstanceCustomizer;
+import org.apache.camel.component.hazelcast.topic.HazelcastTopicComponent;
+import 
org.apache.camel.component.hazelcast.topic.springboot.HazelcastTopicComponentAutoConfiguration;
+import org.apache.camel.spring.boot.CamelAutoConfiguration;
+import org.springframework.boot.autoconfigure.AutoConfigureAfter;
+import org.springframework.boot.autoconfigure.AutoConfigureBefore;
+import 
org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.context.annotation.Conditional;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.core.Ordered;
+import org.springframework.core.annotation.Order;
+
+@Order(Ordered.LOWEST_PRECEDENCE)
+@Configuration
+@Conditional(HazelcastInstanceCustomizer.NestedConditions.class)
+@AutoConfigureAfter(CamelAutoConfiguration.class)
+@AutoConfigureBefore(HazelcastTopicComponentAutoConfiguration.class)
+@EnableConfigurationProperties(HazelcastInstanceCustomizerConfiguration.class)
+public class HazelcastInstanceCustomizer extends 
AbstractHazelcastInstanceCustomizer<HazelcastTopicComponent, 
HazelcastInstanceCustomizerConfiguration> {
+    @Override
+    public String getId() {
+        return "camel.component.hazelcast-topic.customizer.hazelcast-instance";
+    }
+}

http://git-wip-us.apache.org/repos/asf/camel/blob/befc483e/platforms/spring-boot/components-starter/camel-hazelcast-starter/src/main/java/org/apache/camel/component/hazelcast/topic/springboot/customizer/HazelcastInstanceCustomizerConfiguration.java
----------------------------------------------------------------------
diff --git 
a/platforms/spring-boot/components-starter/camel-hazelcast-starter/src/main/java/org/apache/camel/component/hazelcast/topic/springboot/customizer/HazelcastInstanceCustomizerConfiguration.java
 
b/platforms/spring-boot/components-starter/camel-hazelcast-starter/src/main/java/org/apache/camel/component/hazelcast/topic/springboot/customizer/HazelcastInstanceCustomizerConfiguration.java
new file mode 100644
index 0000000..017c9c8
--- /dev/null
+++ 
b/platforms/spring-boot/components-starter/camel-hazelcast-starter/src/main/java/org/apache/camel/component/hazelcast/topic/springboot/customizer/HazelcastInstanceCustomizerConfiguration.java
@@ -0,0 +1,24 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.hazelcast.topic.springboot.customizer;
+
+import 
org.apache.camel.component.hazelcast.springboot.customizer.AbstractHazelcastInstanceCustomizerConfiguration;
+import org.springframework.boot.context.properties.ConfigurationProperties;
+
+@ConfigurationProperties(prefix = 
"camel.component.hazelcast-topic.customizer.hazelcast-instance")
+public class HazelcastInstanceCustomizerConfiguration extends 
AbstractHazelcastInstanceCustomizerConfiguration {
+}

http://git-wip-us.apache.org/repos/asf/camel/blob/befc483e/platforms/spring-boot/components-starter/camel-hazelcast-starter/src/main/resources/META-INF/additional-spring-configuration-metadata.json
----------------------------------------------------------------------
diff --git 
a/platforms/spring-boot/components-starter/camel-hazelcast-starter/src/main/resources/META-INF/additional-spring-configuration-metadata.json
 
b/platforms/spring-boot/components-starter/camel-hazelcast-starter/src/main/resources/META-INF/additional-spring-configuration-metadata.json
new file mode 100644
index 0000000..5a63a3a
--- /dev/null
+++ 
b/platforms/spring-boot/components-starter/camel-hazelcast-starter/src/main/resources/META-INF/additional-spring-configuration-metadata.json
@@ -0,0 +1,76 @@
+{
+  "properties": [
+    {
+      "defaultValue": true,
+      "name": "camel.component.hazelcast.enabled",
+      "description": "Enable hazelcast component",
+      "type": "java.lang.Boolean"
+    },
+    {
+      "defaultValue": true,
+      "name": "camel.component.hazelcast-list.enabled",
+      "description": "Enable hazelcast-list component",
+      "type": "java.lang.Boolean"
+    },
+    {
+      "defaultValue": true,
+      "name": "camel.component.hazelcast-map.enabled",
+      "description": "Enable hazelcast-map component",
+      "type": "java.lang.Boolean"
+    },
+    {
+      "defaultValue": true,
+      "name": "camel.component.hazelcast-replicatedmap.enabled",
+      "description": "Enable hazelcast-replicatedmap component",
+      "type": "java.lang.Boolean"
+    },
+    {
+      "defaultValue": true,
+      "name": "camel.component.hazelcast-queue.enabled",
+      "description": "Enable hazelcast-queue component",
+      "type": "java.lang.Boolean"
+    },
+    {
+      "defaultValue": true,
+      "name": "camel.component.hazelcast-set.enabled",
+      "description": "Enable hazelcast-set component",
+      "type": "java.lang.Boolean"
+    },
+    {
+      "defaultValue": true,
+      "name": "camel.component.hazelcast-topic.enabled",
+      "description": "Enable hazelcast-topic component",
+      "type": "java.lang.Boolean"
+    },
+    {
+      "defaultValue": true,
+      "name": "camel.component.hazelcast-seda.enabled",
+      "description": "Enable hazelcast-seda component",
+      "type": "java.lang.Boolean"
+    },
+    {
+      "defaultValue": true,
+      "name": "camel.component.hazelcast-multimap.enabled",
+      "description": "Enable hazelcast-multimap component",
+      "type": "java.lang.Boolean"
+    },
+    {
+      "defaultValue": true,
+      "name": "camel.component.hazelcast-ringbuffer.enabled",
+      "description": "Enable hazelcast-ringbuffer component",
+      "type": "java.lang.Boolean"
+    },
+    {
+      "defaultValue": true,
+      "name": "camel.component.hazelcast-instance.enabled",
+      "description": "Enable hazelcast-instance component",
+      "type": "java.lang.Boolean"
+    },
+    {
+      "defaultValue": true,
+      "name": "camel.component.hazelcast-atomicvalue.enabled",
+      "description": "Enable hazelcast-atomicvalue component",
+      "type": "java.lang.Boolean"
+    }
+  ]
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/camel/blob/befc483e/platforms/spring-boot/components-starter/camel-hazelcast-starter/src/main/resources/META-INF/spring.factories
----------------------------------------------------------------------
diff --git 
a/platforms/spring-boot/components-starter/camel-hazelcast-starter/src/main/resources/META-INF/spring.factories
 
b/platforms/spring-boot/components-starter/camel-hazelcast-starter/src/main/resources/META-INF/spring.factories
index 362d893..74b7017 100644
--- 
a/platforms/spring-boot/components-starter/camel-hazelcast-starter/src/main/resources/META-INF/spring.factories
+++ 
b/platforms/spring-boot/components-starter/camel-hazelcast-starter/src/main/resources/META-INF/spring.factories
@@ -14,19 +14,31 @@
 ## See the License for the specific language governing permissions and
 ## limitations under the License.
 ## ---------------------------------------------------------------------------
-
 org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
+org.apache.camel.component.hazelcast.springboot.HazelcastComponentAutoConfiguration,\
 
org.apache.camel.component.hazelcast.list.springboot.HazelcastListComponentAutoConfiguration,\
+org.apache.camel.component.hazelcast.list.springboot.customizer.HazelcastInstanceCustomizer,\
+org.apache.camel.component.hazelcast.map.springboot.HazelcastMapComponentAutoConfiguration,\
+org.apache.camel.component.hazelcast.map.springboot.customizer.HazelcastInstanceCustomizer,\
 
org.apache.camel.component.hazelcast.replicatedmap.springboot.HazelcastReplicatedmapComponentAutoConfiguration,\
+org.apache.camel.component.hazelcast.replicatedmap.springboot.customizer.HazelcastInstanceCustomizer,\
 
org.apache.camel.component.hazelcast.queue.springboot.HazelcastQueueComponentAutoConfiguration,\
-org.apache.camel.component.hazelcast.map.springboot.HazelcastMapComponentAutoConfiguration,\
+org.apache.camel.component.hazelcast.queue.springboot.customizer.HazelcastInstanceCustomizer,\
 
org.apache.camel.component.hazelcast.set.springboot.HazelcastSetComponentAutoConfiguration,\
+org.apache.camel.component.hazelcast.set.springboot.customizer.HazelcastInstanceCustomizer,\
 
org.apache.camel.component.hazelcast.topic.springboot.HazelcastTopicComponentAutoConfiguration,\
+org.apache.camel.component.hazelcast.topic.springboot.customizer.HazelcastInstanceCustomizer,\
 
org.apache.camel.component.hazelcast.seda.springboot.HazelcastSedaComponentAutoConfiguration,\
+org.apache.camel.component.hazelcast.seda.springboot.customizer.HazelcastInstanceCustomizer,\
 
org.apache.camel.component.hazelcast.multimap.springboot.HazelcastMultimapComponentAutoConfiguration,\
+org.apache.camel.component.hazelcast.multimap.springboot.customizer.HazelcastInstanceCustomizer,\
 
org.apache.camel.component.hazelcast.ringbuffer.springboot.HazelcastRingbufferComponentAutoConfiguration,\
+org.apache.camel.component.hazelcast.ringbuffer.springboot.customizer.HazelcastInstanceCustomizer,\
+org.apache.camel.component.hazelcast.instance.springboot.HazelcastInstanceComponentAutoConfiguration,\
+org.apache.camel.component.hazelcast.instance.springboot.customizer.HazelcastInstanceCustomizer,\
 
org.apache.camel.component.hazelcast.atomicnumber.springboot.HazelcastAtomicnumberComponentAutoConfiguration,\
-org.apache.camel.component.hazelcast.instance.springboot.HazelcastInstanceComponentAutoConfiguration
+org.apache.camel.component.hazelcast.atomicnumber.springboot.customizer.HazelcastInstanceCustomizer
+
 
 
 

Reply via email to