You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2021/02/12 16:24:51 UTC
[camel] branch camel-3.7.x updated: CAMEL-16196: camel-main -
Configure via java only does not work for health check, circuit breaker,
rest etc.
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 <cl...@gmail.com>
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());