This is an automated email from the ASF dual-hosted git repository.

davsclaus pushed a commit to branch camel-3.7.x
in repository https://gitbox.apache.org/repos/asf/camel.git


The following commit(s) were added to refs/heads/camel-3.7.x by this push:
     new a46f978  CAMEL-16196: camel-main - Configure via java only does not 
work for health check, circuit breaker, rest etc.
a46f978 is described below

commit a46f97869eeba4469795bbc24b4802db58a22664
Author: Claus Ibsen <[email protected]>
AuthorDate: Fri Feb 12 17:22:13 2021 +0100

    CAMEL-16196: camel-main - Configure via java only does not work for health 
check, circuit breaker, rest etc.
---
 .../org/apache/camel/main/BaseMainSupport.java     |  8 +--
 .../camel/main/MainConfigurationProperties.java    | 63 +++++++++++++++++++---
 .../camel/main/MainSupportModelConfigurer.java     |  6 +--
 3 files changed, 63 insertions(+), 14 deletions(-)

diff --git 
a/core/camel-main/src/main/java/org/apache/camel/main/BaseMainSupport.java 
b/core/camel-main/src/main/java/org/apache/camel/main/BaseMainSupport.java
index 1eb9f1d..9dd8b6e 100644
--- a/core/camel-main/src/main/java/org/apache/camel/main/BaseMainSupport.java
+++ b/core/camel-main/src/main/java/org/apache/camel/main/BaseMainSupport.java
@@ -669,7 +669,7 @@ public abstract class BaseMainSupport extends BaseService {
                     mainConfigurationProperties.isAutoConfigurationFailFast(), 
true, autoConfiguredProperties);
         }
 
-        if (!restProperties.isEmpty()) {
+        if (!restProperties.isEmpty() || 
mainConfigurationProperties.hasRestConfiguration()) {
             RestConfigurationProperties rest = 
mainConfigurationProperties.rest();
             LOG.debug("Auto-configuring Rest DSL from loaded properties: {}", 
restProperties.size());
             setPropertiesOnTarget(camelContext, rest, restProperties, 
"camel.rest.",
@@ -677,12 +677,12 @@ public abstract class BaseMainSupport extends BaseService 
{
             camelContext.setRestConfiguration(rest);
         }
 
-        if (!threadPoolProperties.isEmpty()) {
+        if (!threadPoolProperties.isEmpty() || 
mainConfigurationProperties.hasThreadPoolConfiguration()) {
             LOG.debug("Auto-configuring Thread Pool from loaded properties: 
{}", threadPoolProperties.size());
             MainSupportModelConfigurer.setThreadPoolProperties(camelContext, 
mainConfigurationProperties, threadPoolProperties,
                     mainConfigurationProperties.isAutoConfigurationFailFast(), 
autoConfiguredProperties);
         }
-        if (!healthProperties.isEmpty()) {
+        if (!healthProperties.isEmpty() || 
mainConfigurationProperties.hasHealthCheckConfiguration()) {
             LOG.debug("Auto-configuring HealthCheck from loaded properties: 
{}", healthProperties.size());
             setHealthCheckProperties(camelContext, healthProperties, 
mainConfigurationProperties.isAutoConfigurationFailFast(),
                     autoConfiguredProperties);
@@ -692,7 +692,7 @@ public abstract class BaseMainSupport extends BaseService {
             setRouteTemplateProperties(camelContext, routeTemplateProperties,
                     mainConfigurationProperties.isAutoConfigurationFailFast(), 
autoConfiguredProperties);
         }
-        if (!lraProperties.isEmpty()) {
+        if (!lraProperties.isEmpty() || 
mainConfigurationProperties.hasLraConfiguration()) {
             LOG.debug("Auto-configuring Saga LRA from loaded properties: {}", 
lraProperties.size());
             setLraCheckProperties(camelContext, lraProperties, 
mainConfigurationProperties.isAutoConfigurationFailFast(),
                     autoConfiguredProperties);
diff --git 
a/core/camel-main/src/main/java/org/apache/camel/main/MainConfigurationProperties.java
 
b/core/camel-main/src/main/java/org/apache/camel/main/MainConfigurationProperties.java
index b883d62..f883ea4 100644
--- 
a/core/camel-main/src/main/java/org/apache/camel/main/MainConfigurationProperties.java
+++ 
b/core/camel-main/src/main/java/org/apache/camel/main/MainConfigurationProperties.java
@@ -48,7 +48,7 @@ public class MainConfigurationProperties extends 
DefaultConfigurationProperties<
     // extended configuration
     private HealthConfigurationProperties healthConfigurationProperties;
     private LraConfigurationProperties lraConfigurationProperties;
-    private ThreadPoolConfigurationProperties threadPool;
+    private ThreadPoolConfigurationProperties threadPoolProperties;
     private HystrixConfigurationProperties hystrixConfigurationProperties;
     private Resilience4jConfigurationProperties 
resilience4jConfigurationProperties;
     private FaultToleranceConfigurationProperties 
faultToleranceConfigurationProperties;
@@ -64,9 +64,9 @@ public class MainConfigurationProperties extends 
DefaultConfigurationProperties<
             lraConfigurationProperties.close();
             lraConfigurationProperties = null;
         }
-        if (threadPool != null) {
-            threadPool.close();
-            threadPool = null;
+        if (threadPoolProperties != null) {
+            threadPoolProperties.close();
+            threadPoolProperties = null;
         }
         if (hystrixConfigurationProperties != null) {
             hystrixConfigurationProperties.close();
@@ -104,6 +104,13 @@ public class MainConfigurationProperties extends 
DefaultConfigurationProperties<
     }
 
     /**
+     * Whether there has been any health check configuration specified
+     */
+    public boolean hasHealthCheckConfiguration() {
+        return healthConfigurationProperties != null;
+    }
+
+    /**
      * To configure Saga LRA
      */
     public LraConfigurationProperties lra() {
@@ -114,13 +121,27 @@ public class MainConfigurationProperties extends 
DefaultConfigurationProperties<
     }
 
     /**
+     * Whether there has been any Saga LRA configuration specified
+     */
+    public boolean hasLraConfiguration() {
+        return lraConfigurationProperties != null;
+    }
+
+    /**
      * To configure thread pools
      */
     public ThreadPoolConfigurationProperties threadPool() {
-        if (threadPool == null) {
-            threadPool = new ThreadPoolConfigurationProperties(this);
+        if (threadPoolProperties == null) {
+            threadPoolProperties = new ThreadPoolConfigurationProperties(this);
         }
-        return threadPool;
+        return threadPoolProperties;
+    }
+
+    /**
+     * Whether there has been any thread pool configuration specified
+     */
+    public boolean hasThreadPoolConfiguration() {
+        return threadPoolProperties != null;
     }
 
     /**
@@ -135,6 +156,13 @@ public class MainConfigurationProperties extends 
DefaultConfigurationProperties<
     }
 
     /**
+     * Whether there has been any Hystrix EIP configuration specified
+     */
+    public boolean hasHystrixConfiguration() {
+        return hystrixConfigurationProperties != null;
+    }
+
+    /**
      * To configure Circuit Breaker EIP with Resilience4j
      */
     public Resilience4jConfigurationProperties resilience4j() {
@@ -145,6 +173,13 @@ public class MainConfigurationProperties extends 
DefaultConfigurationProperties<
     }
 
     /**
+     * Whether there has been any Resilience4j EIP configuration specified
+     */
+    public boolean hasResilience4jConfiguration() {
+        return resilience4jConfigurationProperties != null;
+    }
+
+    /**
      * To configure Circuit Breaker EIP with MicroProfile Fault Tolerance
      */
     public FaultToleranceConfigurationProperties faultTolerance() {
@@ -155,6 +190,13 @@ public class MainConfigurationProperties extends 
DefaultConfigurationProperties<
     }
 
     /**
+     * Whether there has been any MicroProfile Fault Tolerance EIP 
configuration specified
+     */
+    public boolean hasFaultToleranceConfiguration() {
+        return faultToleranceConfigurationProperties != null;
+    }
+
+    /**
      * To configure Rest DSL
      */
     public RestConfigurationProperties rest() {
@@ -164,6 +206,13 @@ public class MainConfigurationProperties extends 
DefaultConfigurationProperties<
         return restConfigurationProperties;
     }
 
+    /**
+     * Whether there has been any rest configuration specified
+     */
+    public boolean hasRestConfiguration() {
+        return restConfigurationProperties != null;
+    }
+
     // getter and setters
     // --------------------------------------------------------------
 
diff --git 
a/core/camel-main/src/main/java/org/apache/camel/main/MainSupportModelConfigurer.java
 
b/core/camel-main/src/main/java/org/apache/camel/main/MainSupportModelConfigurer.java
index 40d3909..0c5ce12 100644
--- 
a/core/camel-main/src/main/java/org/apache/camel/main/MainSupportModelConfigurer.java
+++ 
b/core/camel-main/src/main/java/org/apache/camel/main/MainSupportModelConfigurer.java
@@ -54,7 +54,7 @@ public final class MainSupportModelConfigurer {
 
         ModelCamelContext model = camelContext.adapt(ModelCamelContext.class);
 
-        if (!hystrixProperties.isEmpty()) {
+        if (!hystrixProperties.isEmpty() || 
mainConfigurationProperties.hasHystrixConfiguration()) {
             HystrixConfigurationProperties hystrix = 
mainConfigurationProperties.hystrix();
             LOG.debug("Auto-configuring Hystrix Circuit Breaker EIP from 
loaded properties: {}", hystrixProperties.size());
             setPropertiesOnTarget(camelContext, hystrix, hystrixProperties, 
"camel.hystrix.",
@@ -69,7 +69,7 @@ public final class MainSupportModelConfigurer {
             }
         }
 
-        if (!resilience4jProperties.isEmpty()) {
+        if (!resilience4jProperties.isEmpty() || 
mainConfigurationProperties.hasResilience4jConfiguration()) {
             Resilience4jConfigurationProperties resilience4j = 
mainConfigurationProperties.resilience4j();
             LOG.debug("Auto-configuring Resilience4j Circuit Breaker EIP from 
loaded properties: {}",
                     resilience4jProperties.size());
@@ -83,7 +83,7 @@ public final class MainSupportModelConfigurer {
             setPropertiesOnTarget(camelContext, resilience4jModel, 
resilience4j);
         }
 
-        if (!faultToleranceProperties.isEmpty()) {
+        if (!faultToleranceProperties.isEmpty() || 
mainConfigurationProperties.hasFaultToleranceConfiguration()) {
             FaultToleranceConfigurationProperties faultTolerance = 
mainConfigurationProperties.faultTolerance();
             LOG.debug("Auto-configuring MicroProfile Fault Tolerance Circuit 
Breaker EIP from loaded properties: {}",
                     faultToleranceProperties.size());

Reply via email to