You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by lb...@apache.org on 2017/08/08 11:30:37 UTC

[03/10] camel git commit: CAMEL-11581: SupervisingRouteController should have spring-boot auto configuration

CAMEL-11581: SupervisingRouteController should have spring-boot auto configuration


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

Branch: refs/heads/master
Commit: b354cba3f9af46490754ceb8668e6f7259a38183
Parents: 6893a37
Author: lburgazzoli <lb...@gmail.com>
Authored: Fri Aug 4 18:03:50 2017 +0200
Committer: lburgazzoli <lb...@gmail.com>
Committed: Tue Aug 8 13:29:27 2017 +0200

----------------------------------------------------------------------
 ...rvisingRouteControllerAutoConfiguration.java |  78 +++++++++++++
 ...SupervisingRouteControllerConfiguration.java | 109 +++++++++++++++++++
 .../main/resources/META-INF/spring.factories    |   1 +
 ...rvisingRouteControllerAutoConfiguration.java |  79 --------------
 ...SupervisingRouteControllerConfiguration.java | 109 -------------------
 .../main/resources/META-INF/spring.factories    |   1 -
 6 files changed, 188 insertions(+), 189 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/b354cba3/components/camel-spring-boot/src/main/java/org/apache/camel/spring/boot/SupervisingRouteControllerAutoConfiguration.java
----------------------------------------------------------------------
diff --git a/components/camel-spring-boot/src/main/java/org/apache/camel/spring/boot/SupervisingRouteControllerAutoConfiguration.java b/components/camel-spring-boot/src/main/java/org/apache/camel/spring/boot/SupervisingRouteControllerAutoConfiguration.java
new file mode 100644
index 0000000..7382c6f
--- /dev/null
+++ b/components/camel-spring-boot/src/main/java/org/apache/camel/spring/boot/SupervisingRouteControllerAutoConfiguration.java
@@ -0,0 +1,78 @@
+/**
+ * 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.spring.boot;
+
+import java.util.Map;
+import java.util.Optional;
+
+import org.apache.camel.converter.TimePatternConverter;
+import org.apache.camel.impl.SupervisingRouteController;
+import org.apache.camel.spi.RouteController;
+import org.apache.camel.spring.boot.SupervisingRouteControllerConfiguration.BackOffConfiguration;
+import org.apache.camel.spring.boot.SupervisingRouteControllerConfiguration.RouteConfiguration;
+import org.apache.camel.util.backoff.BackOff;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.config.ConfigurableBeanFactory;
+import org.springframework.boot.autoconfigure.AutoConfigureBefore;
+import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
+import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
+import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.Scope;
+
+@Configuration
+@AutoConfigureBefore(CamelAutoConfiguration.class)
+@ConditionalOnProperty(prefix = "camel.supervising.controller", name = "enabled")
+@EnableConfigurationProperties(SupervisingRouteControllerConfiguration.class)
+public class SupervisingRouteControllerAutoConfiguration {
+    @Autowired
+    private SupervisingRouteControllerConfiguration configuration;
+
+    @Bean
+    @Scope(ConfigurableBeanFactory.SCOPE_SINGLETON)
+    @ConditionalOnMissingBean
+    public RouteController routeController() {
+        SupervisingRouteController controller = new SupervisingRouteController();
+
+        controller.setDefaultBackOff(configureBackOff(Optional.empty(), configuration.getBackOff()));
+
+        for (Map.Entry<String, RouteConfiguration> entry: configuration.getRoutes().entrySet()) {
+            controller.setBackOff(
+                entry.getKey(),
+                configureBackOff(
+                    Optional.ofNullable(controller.getDefaultBackOff()),
+                    entry.getValue().getBackOff()
+                )
+            );
+        }
+
+        return controller;
+    }
+
+    private BackOff configureBackOff(Optional<BackOff> template, BackOffConfiguration conf) {
+        final BackOff.Builder builder = template.map(t -> BackOff.builder().read(t)).orElseGet(BackOff::builder);
+
+        Optional.ofNullable(conf.getDelay()).map(TimePatternConverter::toMilliSeconds).ifPresent(builder::delay);
+        Optional.ofNullable(conf.getMaxDelay()).map(TimePatternConverter::toMilliSeconds).ifPresent(builder::maxDelay);
+        Optional.ofNullable(conf.getMaxElapsedTime()).map(TimePatternConverter::toMilliSeconds).ifPresent(builder::maxElapsedTime);
+        Optional.ofNullable(conf.getMaxAttempts()).ifPresent(builder::maxAttempts);
+        Optional.ofNullable(conf.getMultiplier()).ifPresent(builder::multiplier);
+
+        return builder.build();
+    }
+}

http://git-wip-us.apache.org/repos/asf/camel/blob/b354cba3/components/camel-spring-boot/src/main/java/org/apache/camel/spring/boot/SupervisingRouteControllerConfiguration.java
----------------------------------------------------------------------
diff --git a/components/camel-spring-boot/src/main/java/org/apache/camel/spring/boot/SupervisingRouteControllerConfiguration.java b/components/camel-spring-boot/src/main/java/org/apache/camel/spring/boot/SupervisingRouteControllerConfiguration.java
new file mode 100644
index 0000000..01c2d0e
--- /dev/null
+++ b/components/camel-spring-boot/src/main/java/org/apache/camel/spring/boot/SupervisingRouteControllerConfiguration.java
@@ -0,0 +1,109 @@
+/**
+ * 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.spring.boot;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import org.springframework.boot.context.properties.ConfigurationProperties;
+
+@ConfigurationProperties(prefix = "camel.supervising.controller")
+public class SupervisingRouteControllerConfiguration {
+    private boolean enabled;
+    private BackOffConfiguration backOff = new BackOffConfiguration();
+    private Map<String, RouteConfiguration> routes = new HashMap<>();
+
+    public boolean isEnabled() {
+        return enabled;
+    }
+
+    public void setEnabled(boolean enabled) {
+        this.enabled = enabled;
+    }
+
+    public BackOffConfiguration getBackOff() {
+        return backOff;
+    }
+
+    public Map<String, RouteConfiguration> getRoutes() {
+        return routes;
+    }
+
+    // *****************************************
+    // Configuration Classes
+    // *****************************************
+
+    public static class RouteConfiguration {
+        private BackOffConfiguration backOff;
+
+        public BackOffConfiguration getBackOff() {
+            return backOff;
+        }
+
+        public void setBackOff(BackOffConfiguration backOff) {
+            this.backOff = backOff;
+        }
+    }
+
+    public static class BackOffConfiguration {
+        private String delay;
+        private String maxDelay;
+        private String maxElapsedTime;
+        private Long maxAttempts;
+        private Double multiplier;
+
+        public String getDelay() {
+            return delay;
+        }
+
+        public void setDelay(String delay) {
+            this.delay = delay;
+        }
+
+        public String getMaxDelay() {
+            return maxDelay;
+        }
+
+        public void setMaxDelay(String maxDelay) {
+            this.maxDelay = maxDelay;
+        }
+
+        public String getMaxElapsedTime() {
+            return maxElapsedTime;
+        }
+
+        public void setMaxElapsedTime(String maxElapsedTime) {
+            this.maxElapsedTime = maxElapsedTime;
+        }
+
+        public Long getMaxAttempts() {
+            return maxAttempts;
+        }
+
+        public void setMaxAttempts(Long maxAttempts) {
+            this.maxAttempts = maxAttempts;
+        }
+
+        public Double getMultiplier() {
+            return multiplier;
+        }
+
+        public void setMultiplier(Double multiplier) {
+            this.multiplier = multiplier;
+        }
+    }
+}

http://git-wip-us.apache.org/repos/asf/camel/blob/b354cba3/components/camel-spring-boot/src/main/resources/META-INF/spring.factories
----------------------------------------------------------------------
diff --git a/components/camel-spring-boot/src/main/resources/META-INF/spring.factories b/components/camel-spring-boot/src/main/resources/META-INF/spring.factories
index 15dd1a7..8550060 100644
--- a/components/camel-spring-boot/src/main/resources/META-INF/spring.factories
+++ b/components/camel-spring-boot/src/main/resources/META-INF/spring.factories
@@ -17,6 +17,7 @@
 
 org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
 org.apache.camel.spring.boot.CamelAutoConfiguration,\
+org.apache.camel.spring.boot.SupervisingRouteControllerAutoConfiguration,\
 org.apache.camel.spring.boot.actuate.endpoint.CamelRoutesEndpointAutoConfiguration,\
 org.apache.camel.spring.boot.actuate.health.CamelHealthAutoConfiguration,\
 org.apache.camel.spring.boot.cloud.CamelCloudAutoConfiguration,\

http://git-wip-us.apache.org/repos/asf/camel/blob/b354cba3/platforms/spring-boot/components-starter/camel-core-starter/src/main/java/org/apache/camel/impl/springboot/SupervisingRouteControllerAutoConfiguration.java
----------------------------------------------------------------------
diff --git a/platforms/spring-boot/components-starter/camel-core-starter/src/main/java/org/apache/camel/impl/springboot/SupervisingRouteControllerAutoConfiguration.java b/platforms/spring-boot/components-starter/camel-core-starter/src/main/java/org/apache/camel/impl/springboot/SupervisingRouteControllerAutoConfiguration.java
deleted file mode 100644
index d872ec3..0000000
--- a/platforms/spring-boot/components-starter/camel-core-starter/src/main/java/org/apache/camel/impl/springboot/SupervisingRouteControllerAutoConfiguration.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.impl.springboot;
-
-import java.util.Map;
-import java.util.Optional;
-
-import org.apache.camel.converter.TimePatternConverter;
-import org.apache.camel.impl.SupervisingRouteController;
-import org.apache.camel.impl.springboot.SupervisingRouteControllerConfiguration.BackOffConfiguration;
-import org.apache.camel.impl.springboot.SupervisingRouteControllerConfiguration.RouteConfiguration;
-import org.apache.camel.spi.RouteController;
-import org.apache.camel.spring.boot.CamelAutoConfiguration;
-import org.apache.camel.util.backoff.BackOff;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.config.ConfigurableBeanFactory;
-import org.springframework.boot.autoconfigure.AutoConfigureBefore;
-import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
-import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
-import org.springframework.boot.context.properties.EnableConfigurationProperties;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.context.annotation.Scope;
-
-@Configuration
-@AutoConfigureBefore(CamelAutoConfiguration.class)
-@ConditionalOnProperty(prefix = "camel.supervising.controller", name = "enabled")
-@EnableConfigurationProperties(SupervisingRouteControllerConfiguration.class)
-public class SupervisingRouteControllerAutoConfiguration {
-    @Autowired
-    private SupervisingRouteControllerConfiguration configuration;
-
-    @Bean
-    @Scope(ConfigurableBeanFactory.SCOPE_SINGLETON)
-    @ConditionalOnMissingBean
-    public RouteController routeController() {
-        SupervisingRouteController controller = new SupervisingRouteController();
-
-        controller.setDefaultBackOff(configureBackOff(Optional.empty(), configuration.getBackOff()));
-
-        for (Map.Entry<String, RouteConfiguration> entry: configuration.getRoutes().entrySet()) {
-            controller.setBackOff(
-                entry.getKey(),
-                configureBackOff(
-                    Optional.ofNullable(controller.getDefaultBackOff()),
-                    entry.getValue().getBackOff()
-                )
-            );
-        }
-
-        return controller;
-    }
-
-    private BackOff configureBackOff(Optional<BackOff> template, BackOffConfiguration conf) {
-        final BackOff.Builder builder = template.map(t -> BackOff.builder().read(t)).orElseGet(BackOff::builder);
-
-        Optional.ofNullable(conf.getDelay()).map(TimePatternConverter::toMilliSeconds).ifPresent(builder::delay);
-        Optional.ofNullable(conf.getMaxDelay()).map(TimePatternConverter::toMilliSeconds).ifPresent(builder::maxDelay);
-        Optional.ofNullable(conf.getMaxElapsedTime()).map(TimePatternConverter::toMilliSeconds).ifPresent(builder::maxElapsedTime);
-        Optional.ofNullable(conf.getMaxAttempts()).ifPresent(builder::maxAttempts);
-        Optional.ofNullable(conf.getMultiplier()).ifPresent(builder::multiplier);
-
-        return builder.build();
-    }
-}

http://git-wip-us.apache.org/repos/asf/camel/blob/b354cba3/platforms/spring-boot/components-starter/camel-core-starter/src/main/java/org/apache/camel/impl/springboot/SupervisingRouteControllerConfiguration.java
----------------------------------------------------------------------
diff --git a/platforms/spring-boot/components-starter/camel-core-starter/src/main/java/org/apache/camel/impl/springboot/SupervisingRouteControllerConfiguration.java b/platforms/spring-boot/components-starter/camel-core-starter/src/main/java/org/apache/camel/impl/springboot/SupervisingRouteControllerConfiguration.java
deleted file mode 100644
index 4460671..0000000
--- a/platforms/spring-boot/components-starter/camel-core-starter/src/main/java/org/apache/camel/impl/springboot/SupervisingRouteControllerConfiguration.java
+++ /dev/null
@@ -1,109 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.impl.springboot;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.springframework.boot.context.properties.ConfigurationProperties;
-
-@ConfigurationProperties(prefix = "camel.supervising.controller")
-public class SupervisingRouteControllerConfiguration {
-    private boolean enabled;
-    private BackOffConfiguration backOff = new BackOffConfiguration();
-    private Map<String, RouteConfiguration> routes = new HashMap<>();
-
-    public boolean isEnabled() {
-        return enabled;
-    }
-
-    public void setEnabled(boolean enabled) {
-        this.enabled = enabled;
-    }
-
-    public BackOffConfiguration getBackOff() {
-        return backOff;
-    }
-
-    public Map<String, RouteConfiguration> getRoutes() {
-        return routes;
-    }
-
-    // *****************************************
-    // Configuration Classes
-    // *****************************************
-
-    public static class RouteConfiguration {
-        private BackOffConfiguration backOff;
-
-        public BackOffConfiguration getBackOff() {
-            return backOff;
-        }
-
-        public void setBackOff(BackOffConfiguration backOff) {
-            this.backOff = backOff;
-        }
-    }
-
-    public static class BackOffConfiguration {
-        private String delay;
-        private String maxDelay;
-        private String maxElapsedTime;
-        private Long maxAttempts;
-        private Double multiplier;
-
-        public String getDelay() {
-            return delay;
-        }
-
-        public void setDelay(String delay) {
-            this.delay = delay;
-        }
-
-        public String getMaxDelay() {
-            return maxDelay;
-        }
-
-        public void setMaxDelay(String maxDelay) {
-            this.maxDelay = maxDelay;
-        }
-
-        public String getMaxElapsedTime() {
-            return maxElapsedTime;
-        }
-
-        public void setMaxElapsedTime(String maxElapsedTime) {
-            this.maxElapsedTime = maxElapsedTime;
-        }
-
-        public Long getMaxAttempts() {
-            return maxAttempts;
-        }
-
-        public void setMaxAttempts(Long maxAttempts) {
-            this.maxAttempts = maxAttempts;
-        }
-
-        public Double getMultiplier() {
-            return multiplier;
-        }
-
-        public void setMultiplier(Double multiplier) {
-            this.multiplier = multiplier;
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/camel/blob/b354cba3/platforms/spring-boot/components-starter/camel-core-starter/src/main/resources/META-INF/spring.factories
----------------------------------------------------------------------
diff --git a/platforms/spring-boot/components-starter/camel-core-starter/src/main/resources/META-INF/spring.factories b/platforms/spring-boot/components-starter/camel-core-starter/src/main/resources/META-INF/spring.factories
index 656661c..253b608 100644
--- a/platforms/spring-boot/components-starter/camel-core-starter/src/main/resources/META-INF/spring.factories
+++ b/platforms/spring-boot/components-starter/camel-core-starter/src/main/resources/META-INF/spring.factories
@@ -29,7 +29,6 @@ org.apache.camel.impl.springboot.StringDataFormatAutoConfiguration,\
 org.apache.camel.impl.springboot.ZipDataFormatAutoConfiguration,\
 org.apache.camel.impl.springboot.GzipDataFormatAutoConfiguration,\
 org.apache.camel.impl.springboot.SerializationDataFormatAutoConfiguration,\
-org.apache.camel.impl.springboot.SupervisingRouteControllerAutoConfiguration,\
 org.apache.camel.language.constant.springboot.ConstantLanguageAutoConfiguration,\
 org.apache.camel.language.simple.springboot.SimpleLanguageAutoConfiguration,\
 org.apache.camel.language.ref.springboot.RefLanguageAutoConfiguration,\