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 2019/06/28 07:11:43 UTC
[camel] branch master updated: CAMEL-13686: camel-main - Added
option to log summary or not.
This is an automated email from the ASF dual-hosted git repository.
davsclaus pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git
The following commit(s) were added to refs/heads/master by this push:
new 948c93a CAMEL-13686: camel-main - Added option to log summary or not.
948c93a is described below
commit 948c93ab444a3cff67f66baf014bb0112d83ce4e
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Fri Jun 28 09:11:26 2019 +0200
CAMEL-13686: camel-main - Added option to log summary or not.
---
.../camel/main/MainConfigurationProperties.java | 26 +++++++++++++++++++++-
.../java/org/apache/camel/main/MainSupport.java | 13 ++++++-----
.../camel-main-configuration-metadata.json | 9 +++++++-
.../META-INF/spring-configuration-metadata.json | 9 +++++++-
.../META-INF/spring-configuration-metadata.json | 9 +++++++-
.../META-INF/spring-configuration-metadata.json | 9 +++++++-
6 files changed, 64 insertions(+), 11 deletions(-)
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 fe3aa8d..ffdca5d 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
@@ -24,6 +24,7 @@ public class MainConfigurationProperties extends DefaultConfigurationProperties<
private boolean autoConfigurationEnabled = true;
private boolean autoConfigurationEnvironmentVariablesEnabled = true;
private boolean autoConfigurationFailFast = true;
+ private boolean autoConfigurationLogSummary = true;
private boolean autowireComponentProperties = true;
private boolean autowireComponentPropertiesDeep;
private boolean autowireComponentPropertiesAllowPrivateSetter = true;
@@ -59,7 +60,7 @@ public class MainConfigurationProperties extends DefaultConfigurationProperties<
}
/**
- * Whether auto configuration of components/dataformats/languages is enabled or not.
+ * Whether auto configuration of components, dataformats, languages is enabled or not.
* When enabled the configuration parameters are loaded from the properties component
* and optionally from the classpath file META-INF/services/org/apache/camel/autowire.properties.
* You can prefix the parameters in the properties file with:
@@ -111,6 +112,19 @@ public class MainConfigurationProperties extends DefaultConfigurationProperties<
this.autoConfigurationFailFast = autoConfigurationFailFast;
}
+ public boolean isAutoConfigurationLogSummary() {
+ return autoConfigurationLogSummary;
+ }
+
+ /**
+ * Whether auto configuration should log a summary with the configured properties.
+ * <p/>
+ * This option is default enabled.
+ */
+ public void setAutoConfigurationLogSummary(boolean autoConfigurationLogSummary) {
+ this.autoConfigurationLogSummary = autoConfigurationLogSummary;
+ }
+
public boolean isAutowireComponentProperties() {
return autowireComponentProperties;
}
@@ -227,6 +241,16 @@ public class MainConfigurationProperties extends DefaultConfigurationProperties<
}
/**
+ * Whether auto configuration should log a summary with the configured properties.
+ * <p/>
+ * This option is default enabled.
+ */
+ public MainConfigurationProperties withAutoConfigurationLogSummary(boolean autoConfigurationLogSummary) {
+ this.autoConfigurationLogSummary = autoConfigurationLogSummary;
+ return this;
+ }
+
+ /**
* Whether autowiring components with properties that are of same type, which has been added to the Camel registry, as a singleton instance.
* This is used for convention over configuration to inject DataSource, AmazonLogin instances to the components.
* <p/>
diff --git a/core/camel-main/src/main/java/org/apache/camel/main/MainSupport.java b/core/camel-main/src/main/java/org/apache/camel/main/MainSupport.java
index 2a547f4..ec07882 100644
--- a/core/camel-main/src/main/java/org/apache/camel/main/MainSupport.java
+++ b/core/camel-main/src/main/java/org/apache/camel/main/MainSupport.java
@@ -721,7 +721,7 @@ public abstract class MainSupport extends ServiceSupport {
if (overrideProperties != null) {
pc.setOverrideProperties(overrideProperties);
}
- LOG.info("Using optional properties from classpath:application.properties");
+ LOG.info("Using properties from classpath:application.properties");
}
if (mainConfigurationProperties.getDurationMaxMessages() > 0 || mainConfigurationProperties.getDurationMaxIdleSeconds() > 0) {
@@ -733,6 +733,7 @@ public abstract class MainSupport extends ServiceSupport {
camelContext.getManagementStrategy().addEventNotifier(notifier);
}
+ // gathers the properties (key=value) that was auto-configured
final Map<String, String> autoConfiguredProperties = new LinkedHashMap<>();
// need to eager allow to auto-configure properties component
@@ -758,7 +759,7 @@ public abstract class MainSupport extends ServiceSupport {
}
// log summary of configurations
- if (!autoConfiguredProperties.isEmpty()) {
+ if (mainConfigurationProperties.isAutoConfigurationLogSummary() && !autoConfiguredProperties.isEmpty()) {
LOG.info("Auto-configuration summary:");
autoConfiguredProperties.forEach((k, v) -> {
boolean sensitive = k.toLowerCase(Locale.US).contains("password") || k.contains("secret") || k.contains("passphrase") || k.contains("token");
@@ -1087,7 +1088,7 @@ public abstract class MainSupport extends ServiceSupport {
}
String option = dot == -1 ? "" : key.substring(dot + 1);
String value = prop.getProperty(key, "");
- String prefix = dot == -1 ? "" : key.substring(0, dot);
+ String prefix = dot == -1 ? "" : key.substring(0, dot + 1);
validateOptionAndValue(key, option, value);
PropertyOptionKey pok = new PropertyOptionKey(key, component, prefix);
Map<String, Object> values = properties.getOrDefault(pok, new LinkedHashMap<>());
@@ -1106,7 +1107,7 @@ public abstract class MainSupport extends ServiceSupport {
}
String option = dot == -1 ? "" : key.substring(dot + 1);
String value = prop.getProperty(key, "");
- String prefix = dot == -1 ? "" : key.substring(0, dot);
+ String prefix = dot == -1 ? "" : key.substring(0, dot + 1);
validateOptionAndValue(key, option, value);
PropertyOptionKey pok = new PropertyOptionKey(key, dataformat, prefix);
Map<String, Object> values = properties.getOrDefault(pok, new LinkedHashMap<>());
@@ -1126,7 +1127,7 @@ public abstract class MainSupport extends ServiceSupport {
}
String option = dot == -1 ? "" : key.substring(dot + 1);
String value = prop.getProperty(key, "");
- String prefix = dot == -1 ? "" : key.substring(0, dot);
+ String prefix = dot == -1 ? "" : key.substring(0, dot + 1);
validateOptionAndValue(key, option, value);
PropertyOptionKey pok = new PropertyOptionKey(key, language, prefix);
Map<String, Object> values = properties.getOrDefault(pok, new LinkedHashMap<>());
@@ -1142,7 +1143,7 @@ public abstract class MainSupport extends ServiceSupport {
for (PropertyOptionKey pok : properties.keySet()) {
Map<String, Object> values = properties.get(pok);
- String optionKey = pok.getKey().substring(pok.getOptionPrefix().length() + 1);
+ String optionKey = pok.getKey().substring(pok.getOptionPrefix().length());
setPropertiesOnTarget(camelContext, pok.getInstance(), values, optionKey, pok.getOptionPrefix(),
mainConfigurationProperties.isAutoConfigurationFailFast(), true, autoConfiguredProperties);
}
diff --git a/core/camel-main/src/main/resources/META-INF/camel-main-configuration-metadata.json b/core/camel-main/src/main/resources/META-INF/camel-main-configuration-metadata.json
index 99336ac..2c18c42 100644
--- a/core/camel-main/src/main/resources/META-INF/camel-main-configuration-metadata.json
+++ b/core/camel-main/src/main/resources/META-INF/camel-main-configuration-metadata.json
@@ -27,7 +27,7 @@
"name":"camel.main.auto-configuration-enabled",
"type":"boolean",
"sourceType":"org.apache.camel.main.MainConfigurationProperties",
- "description":"Whether auto configuration of components\/dataformats\/languages is enabled or not. When enabled the configuration parameters are loaded from the properties component and optionally from the classpath file META-INF\/services\/org\/apache\/camel\/autowire.properties. You can prefix the parameters in the properties file with: - camel.component.name.option1=value1 - camel.component.name.option2=value2 - camel.dataformat.name.option1=value1 - camel.dataformat.name.option2=v [...]
+ "description":"Whether auto configuration of components, dataformats, languages is enabled or not. When enabled the configuration parameters are loaded from the properties component and optionally from the classpath file META-INF\/services\/org\/apache\/camel\/autowire.properties. You can prefix the parameters in the properties file with: - camel.component.name.option1=value1 - camel.component.name.option2=value2 - camel.dataformat.name.option1=value1 - camel.dataformat.name.option2=v [...]
"defaultValue":"true"
},
{
@@ -45,6 +45,13 @@
"defaultValue":"true"
},
{
+ "name":"camel.main.auto-configuration-log-summary",
+ "type":"boolean",
+ "sourceType":"org.apache.camel.main.MainConfigurationProperties",
+ "description":"Whether auto configuration should log a summary with the configured properties. This option is default enabled.",
+ "defaultValue":"true"
+ },
+ {
"name":"camel.main.auto-startup",
"type":"boolean",
"sourceType":"org.apache.camel.main.DefaultConfigurationProperties",
diff --git a/examples/camel-example-main-artemis/src/main/resources/META-INF/spring-configuration-metadata.json b/examples/camel-example-main-artemis/src/main/resources/META-INF/spring-configuration-metadata.json
index 4426d2f..e2830d0 100644
--- a/examples/camel-example-main-artemis/src/main/resources/META-INF/spring-configuration-metadata.json
+++ b/examples/camel-example-main-artemis/src/main/resources/META-INF/spring-configuration-metadata.json
@@ -167,7 +167,7 @@
"name":"camel.main.auto-configuration-enabled",
"type":"boolean",
"sourceType":"org.apache.camel.main.MainConfigurationProperties",
- "description":"Whether auto configuration of components\/dataformats\/languages is enabled or not. When enabled the configuration parameters are loaded from the properties component and optionally from the classpath file META-INF\/services\/org\/apache\/camel\/autowire.properties. You can prefix the parameters in the properties file with: - camel.component.name.option1=value1 - camel.component.name.option2=value2 - camel.dataformat.name.option1=value1 - camel.dataformat.name.option2=v [...]
+ "description":"Whether auto configuration of components, dataformats, languages is enabled or not. When enabled the configuration parameters are loaded from the properties component and optionally from the classpath file META-INF\/services\/org\/apache\/camel\/autowire.properties. You can prefix the parameters in the properties file with: - camel.component.name.option1=value1 - camel.component.name.option2=value2 - camel.dataformat.name.option1=value1 - camel.dataformat.name.option2=v [...]
"defaultValue":"true"
},
{
@@ -185,6 +185,13 @@
"defaultValue":"true"
},
{
+ "name":"camel.main.auto-configuration-log-summary",
+ "type":"boolean",
+ "sourceType":"org.apache.camel.main.MainConfigurationProperties",
+ "description":"Whether auto configuration should log a summary with the configured properties. This option is default enabled.",
+ "defaultValue":"true"
+ },
+ {
"name":"camel.main.auto-startup",
"type":"boolean",
"sourceType":"org.apache.camel.main.DefaultConfigurationProperties",
diff --git a/examples/camel-example-main-tiny/src/main/resources/META-INF/spring-configuration-metadata.json b/examples/camel-example-main-tiny/src/main/resources/META-INF/spring-configuration-metadata.json
index c10d80b..db38795 100644
--- a/examples/camel-example-main-tiny/src/main/resources/META-INF/spring-configuration-metadata.json
+++ b/examples/camel-example-main-tiny/src/main/resources/META-INF/spring-configuration-metadata.json
@@ -47,7 +47,7 @@
"name":"camel.main.auto-configuration-enabled",
"type":"boolean",
"sourceType":"org.apache.camel.main.MainConfigurationProperties",
- "description":"Whether auto configuration of components\/dataformats\/languages is enabled or not. When enabled the configuration parameters are loaded from the properties component and optionally from the classpath file META-INF\/services\/org\/apache\/camel\/autowire.properties. You can prefix the parameters in the properties file with: - camel.component.name.option1=value1 - camel.component.name.option2=value2 - camel.dataformat.name.option1=value1 - camel.dataformat.name.option2=v [...]
+ "description":"Whether auto configuration of components, dataformats, languages is enabled or not. When enabled the configuration parameters are loaded from the properties component and optionally from the classpath file META-INF\/services\/org\/apache\/camel\/autowire.properties. You can prefix the parameters in the properties file with: - camel.component.name.option1=value1 - camel.component.name.option2=value2 - camel.dataformat.name.option1=value1 - camel.dataformat.name.option2=v [...]
"defaultValue":"true"
},
{
@@ -65,6 +65,13 @@
"defaultValue":"true"
},
{
+ "name":"camel.main.auto-configuration-log-summary",
+ "type":"boolean",
+ "sourceType":"org.apache.camel.main.MainConfigurationProperties",
+ "description":"Whether auto configuration should log a summary with the configured properties. This option is default enabled.",
+ "defaultValue":"true"
+ },
+ {
"name":"camel.main.auto-startup",
"type":"boolean",
"sourceType":"org.apache.camel.main.DefaultConfigurationProperties",
diff --git a/examples/camel-example-main/src/main/resources/META-INF/spring-configuration-metadata.json b/examples/camel-example-main/src/main/resources/META-INF/spring-configuration-metadata.json
index c1e44b9..b0453f9 100644
--- a/examples/camel-example-main/src/main/resources/META-INF/spring-configuration-metadata.json
+++ b/examples/camel-example-main/src/main/resources/META-INF/spring-configuration-metadata.json
@@ -157,7 +157,7 @@
"name":"camel.main.auto-configuration-enabled",
"type":"boolean",
"sourceType":"org.apache.camel.main.MainConfigurationProperties",
- "description":"Whether auto configuration of components\/dataformats\/languages is enabled or not. When enabled the configuration parameters are loaded from the properties component and optionally from the classpath file META-INF\/services\/org\/apache\/camel\/autowire.properties. You can prefix the parameters in the properties file with: - camel.component.name.option1=value1 - camel.component.name.option2=value2 - camel.dataformat.name.option1=value1 - camel.dataformat.name.option2=v [...]
+ "description":"Whether auto configuration of components, dataformats, languages is enabled or not. When enabled the configuration parameters are loaded from the properties component and optionally from the classpath file META-INF\/services\/org\/apache\/camel\/autowire.properties. You can prefix the parameters in the properties file with: - camel.component.name.option1=value1 - camel.component.name.option2=value2 - camel.dataformat.name.option1=value1 - camel.dataformat.name.option2=v [...]
"defaultValue":"true"
},
{
@@ -175,6 +175,13 @@
"defaultValue":"true"
},
{
+ "name":"camel.main.auto-configuration-log-summary",
+ "type":"boolean",
+ "sourceType":"org.apache.camel.main.MainConfigurationProperties",
+ "description":"Whether auto configuration should log a summary with the configured properties. This option is default enabled.",
+ "defaultValue":"true"
+ },
+ {
"name":"camel.main.auto-startup",
"type":"boolean",
"sourceType":"org.apache.camel.main.DefaultConfigurationProperties",