Repository: camel
Updated Branches:
  refs/heads/master 6888a8c45 -> 75902f639


CAMEL-11434: camel-hazelcast: auto discovery of hazelcast instances in 
spring-boot


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

Branch: refs/heads/master
Commit: 75902f6391363c6b5160dbf3fbd10147292f2d5f
Parents: 6888a8c
Author: lburgazzoli <lburgazz...@gmail.com>
Authored: Thu Jun 22 09:46:06 2017 +0200
Committer: lburgazzoli <lburgazz...@gmail.com>
Committed: Thu Jun 22 09:46:42 2017 +0200

----------------------------------------------------------------------
 .../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 ++++++
 .../AbstractHazelcastInstanceCustomizer.java    | 70 +++++++++++++++
 ...azelcastInstanceCustomizerConfiguration.java | 46 ++++++++++
 .../customizer/HazelcastInstanceCustomizer.java | 42 +++++++++
 ...azelcastInstanceCustomizerConfiguration.java | 24 ++++++
 .../main/resources/META-INF/spring.factories    | 13 ++-
 .../HazelcastInstanceCustomizerTest.java        | 91 ++++++++++++++++++++
 .../src/test/resources/application.properties   |  1 +
 .../src/test/resources/logback.xml              | 52 +++++++++++
 28 files changed, 998 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/75902f63/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/75902f63/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/75902f63/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/75902f63/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/75902f63/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/75902f63/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/75902f63/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/75902f63/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/75902f63/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/75902f63/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/75902f63/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/75902f63/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/75902f63/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/75902f63/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/75902f63/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/75902f63/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/75902f63/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/75902f63/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/75902f63/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/75902f63/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/75902f63/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/75902f63/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/75902f63/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/75902f63/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/75902f63/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 7e358e7..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
@@ -17,16 +17,27 @@
 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.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.atomicnumber.springboot.HazelcastAtomicnumberComponentAutoConfiguration
+org.apache.camel.component.hazelcast.instance.springboot.customizer.HazelcastInstanceCustomizer,\
+org.apache.camel.component.hazelcast.atomicnumber.springboot.HazelcastAtomicnumberComponentAutoConfiguration,\
+org.apache.camel.component.hazelcast.atomicnumber.springboot.customizer.HazelcastInstanceCustomizer
 
 
 

http://git-wip-us.apache.org/repos/asf/camel/blob/75902f63/platforms/spring-boot/components-starter/camel-hazelcast-starter/src/test/java/org/apache/camel/component/hazelcast/springboot/customizer/HazelcastInstanceCustomizerTest.java
----------------------------------------------------------------------
diff --git 
a/platforms/spring-boot/components-starter/camel-hazelcast-starter/src/test/java/org/apache/camel/component/hazelcast/springboot/customizer/HazelcastInstanceCustomizerTest.java
 
b/platforms/spring-boot/components-starter/camel-hazelcast-starter/src/test/java/org/apache/camel/component/hazelcast/springboot/customizer/HazelcastInstanceCustomizerTest.java
new file mode 100644
index 0000000..8bc3e93
--- /dev/null
+++ 
b/platforms/spring-boot/components-starter/camel-hazelcast-starter/src/test/java/org/apache/camel/component/hazelcast/springboot/customizer/HazelcastInstanceCustomizerTest.java
@@ -0,0 +1,91 @@
+/**
+ * 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 java.util.List;
+
+import com.hazelcast.core.Hazelcast;
+import com.hazelcast.core.HazelcastInstance;
+import org.apache.camel.component.hazelcast.HazelcastComponent;
+import org.apache.camel.component.hazelcast.list.HazelcastListComponent;
+import org.apache.camel.component.hazelcast.set.HazelcastSetComponent;
+import org.apache.camel.component.hazelcast.topic.HazelcastTopicComponent;
+import org.apache.camel.spi.ComponentCustomizer;
+import org.junit.Assert;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.test.annotation.DirtiesContext;
+import org.springframework.test.context.junit4.SpringRunner;
+
+@RunWith(SpringRunner.class)
+@DirtiesContext
+@SpringBootApplication
+@SpringBootTest(
+    classes = {
+        HazelcastInstanceCustomizerTest.TestConfiguration.class
+    },
+    properties = {
+        "debug=false",
+        "camel.component.customizer.enabled=false",
+        "camel.component.hazelcast.customizer.enabled=true",
+        "camel.component.hazelcast-set.customizer.enabled=true",
+        "camel.component.hazelcast-topic.customizer.enabled=true"
+    })
+public class HazelcastInstanceCustomizerTest {
+    @Autowired
+    HazelcastInstance instance;
+    @Autowired
+    HazelcastTopicComponent topicComponent;
+    @Autowired
+    List<ComponentCustomizer<HazelcastTopicComponent>> topicCustomizers;
+    @Autowired
+    HazelcastSetComponent setComponent;
+    @Autowired
+    List<ComponentCustomizer<HazelcastSetComponent>> setCustomizers;
+    @Autowired
+    HazelcastListComponent listComponent;
+
+    @Test
+    public void testInstanceCustomizer() throws Exception {
+        Assert.assertNotNull(instance);
+
+        Assert.assertNotNull(topicComponent);
+        Assert.assertEquals(1, topicCustomizers.size());
+        Assert.assertEquals(instance, topicComponent.getHazelcastInstance());
+
+        Assert.assertNotNull(setComponent);
+        Assert.assertEquals(1, setCustomizers.size());
+        Assert.assertEquals(instance, setComponent.getHazelcastInstance());
+
+        Assert.assertNotNull(listComponent);
+        Assert.assertNull(listComponent.getHazelcastInstance());
+    }
+
+    @Configuration
+    public static class TestConfiguration {
+        @Bean(destroyMethod = "shutdown")
+        public HazelcastInstance hazelcastInstance() {
+            return Hazelcast.newHazelcastInstance();
+        }
+    }
+}

http://git-wip-us.apache.org/repos/asf/camel/blob/75902f63/platforms/spring-boot/components-starter/camel-hazelcast-starter/src/test/resources/application.properties
----------------------------------------------------------------------
diff --git 
a/platforms/spring-boot/components-starter/camel-hazelcast-starter/src/test/resources/application.properties
 
b/platforms/spring-boot/components-starter/camel-hazelcast-starter/src/test/resources/application.properties
new file mode 100644
index 0000000..3a5de5b
--- /dev/null
+++ 
b/platforms/spring-boot/components-starter/camel-hazelcast-starter/src/test/resources/application.properties
@@ -0,0 +1 @@
+spring.main.banner-mode = off

http://git-wip-us.apache.org/repos/asf/camel/blob/75902f63/platforms/spring-boot/components-starter/camel-hazelcast-starter/src/test/resources/logback.xml
----------------------------------------------------------------------
diff --git 
a/platforms/spring-boot/components-starter/camel-hazelcast-starter/src/test/resources/logback.xml
 
b/platforms/spring-boot/components-starter/camel-hazelcast-starter/src/test/resources/logback.xml
new file mode 100644
index 0000000..41d68d9
--- /dev/null
+++ 
b/platforms/spring-boot/components-starter/camel-hazelcast-starter/src/test/resources/logback.xml
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+    Licensed to the Apache Software Foundation (ASF) under one or more
+    contributor license agreements.  See the NOTICE file distributed with
+    this work for additional information regarding copyright ownership.
+    The ASF licenses this file to You under the Apache License, Version 2.0
+    (the "License"); you may not use this file except in compliance with
+    the License.  You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+
+-->
+<configuration>
+
+  <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
+    <encoder>
+      <pattern>%d{HH:mm:ss.SSS} [%-15.15thread] %-5level %-30.30logger - 
%msg%n</pattern>
+    </encoder>
+  </appender>
+
+  <appender name="FILE" class="ch.qos.logback.core.FileAppender">
+    <encoder>
+      <pattern>%d{HH:mm:ss.SSS} [%-15.15thread] %-5level %-30.30logger - 
%msg%n</pattern>
+    </encoder>
+    <file>target/camel-hazelcast-starter-test.log</file>
+  </appender>
+
+  <logger name="org.apache.camel.component.hazelcast.atomicnumber.springboot" 
level="DEBUG"/>
+  <logger name="org.apache.camel.component.hazelcast.instance.springboot" 
level="DEBUG"/>
+  <logger name="org.apache.camel.component.hazelcast.list.springboot" 
level="DEBUG"/>
+  <logger name="org.apache.camel.component.hazelcast.map.springboot" 
level="DEBUG"/>
+  <logger name="org.apache.camel.component.hazelcast.multimap.springboot" 
level="DEBUG"/>
+  <logger name="org.apache.camel.component.hazelcast.queue.springboot" 
level="DEBUG"/>
+  <logger name="org.apache.camel.component.hazelcast.replicatedmap.springboot" 
level="DEBUG"/>
+  <logger name="org.apache.camel.component.hazelcast.ringbuffer.springboot" 
level="DEBUG"/>
+  <logger name="org.apache.camel.component.hazelcast.seda.springboot" 
level="DEBUG"/>
+  <logger name="org.apache.camel.component.hazelcast.set.springboot" 
level="DEBUG"/>
+  <logger name="org.apache.camel.component.hazelcast.springboot" 
level="DEBUG"/>
+  <logger name="org.apache.camel.component.hazelcast.topic.springboot" 
level="DEBUG"/>
+
+  <root level="INFO">
+    <appender-ref ref="FILE"/>
+  </root>
+
+</configuration>
\ No newline at end of file

Reply via email to