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/03/13 11:51:33 UTC
[camel] 01/02: CAMEL-16345: camel-main - Auto generate list of
known components, dataformats, languages for ENV variable resolver.
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
commit 23e9c0678b0f066628b77ec10e49865415e6b96e
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Sat Mar 13 12:41:39 2021 +0100
CAMEL-16345: camel-main - Auto generate list of known components, dataformats, languages for ENV variable resolver.
---
.../src/main/java/org/apache/camel/main/BaseMainSupport.java | 3 +++
.../camel-main/src/main/java/org/apache/camel/main/MainHelper.java | 7 +++++++
2 files changed, 10 insertions(+)
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 025ca82..bb44dcb 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
@@ -417,6 +417,9 @@ public abstract class BaseMainSupport extends BaseService {
}
});
}
+
+ // we are now done with the main helper during bootstrap
+ camelContext.adapt(ExtendedCamelContext.class).addBootstrap(MainHelper::bootstrapDone);
}
protected void configureStartupRecorder(CamelContext camelContext) {
diff --git a/core/camel-main/src/main/java/org/apache/camel/main/MainHelper.java b/core/camel-main/src/main/java/org/apache/camel/main/MainHelper.java
index 00474b8..62c3cda 100644
--- a/core/camel-main/src/main/java/org/apache/camel/main/MainHelper.java
+++ b/core/camel-main/src/main/java/org/apache/camel/main/MainHelper.java
@@ -481,6 +481,13 @@ public final class MainHelper {
private MainHelper() {
}
+ public static void bootstrapDone() {
+ // after bootstrap then these maps are no longer needed
+ COMPONENT_ENV_NAMES.clear();
+ DATAFORMAT_ENV_NAMES.clear();
+ LANGUAGE_ENV_NAMES.clear();
+ }
+
public static String toEnvVar(String name) {
return name.toUpperCase(Locale.US).replaceAll("[^\\w]", "-").replace('-', '_');
}