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