This is an automated email from the ASF dual-hosted git repository.
davsclaus pushed a commit to branch camel-4.18.x
in repository https://gitbox.apache.org/repos/asf/camel.git
The following commit(s) were added to refs/heads/camel-4.18.x by this push:
new 0da0d53278cf CAMEL-23547: camel-core - Properties component should
eager start custom functions resolver. Same for jbang that has a custom
resolver. (#23303)
0da0d53278cf is described below
commit 0da0d53278cfb7cd18084bc8dfc738d9d26324e9
Author: Claus Ibsen <[email protected]>
AuthorDate: Mon May 18 18:51:03 2026 +0200
CAMEL-23547: camel-core - Properties component should eager start custom
functions resolver. Same for jbang that has a custom resolver. (#23303)
---
.../properties/DefaultPropertiesFunctionResolver.java | 6 ++++++
.../src/main/java/org/apache/camel/main/KameletMain.java | 11 ++++++++---
2 files changed, 14 insertions(+), 3 deletions(-)
diff --git
a/core/camel-base/src/main/java/org/apache/camel/component/properties/DefaultPropertiesFunctionResolver.java
b/core/camel-base/src/main/java/org/apache/camel/component/properties/DefaultPropertiesFunctionResolver.java
index a88f42816b02..77bc55be887b 100644
---
a/core/camel-base/src/main/java/org/apache/camel/component/properties/DefaultPropertiesFunctionResolver.java
+++
b/core/camel-base/src/main/java/org/apache/camel/component/properties/DefaultPropertiesFunctionResolver.java
@@ -122,6 +122,12 @@ public class DefaultPropertiesFunctionResolver extends
ServiceSupport
return factoryFinder.findClass(name).orElse(null);
}
+ @Override
+ protected void doBuild() throws Exception {
+ super.doBuild();
+ ServiceHelper.buildService(functions.values());
+ }
+
@Override
protected void doInit() throws Exception {
functions.values().forEach(f ->
CamelContextAware.trySetCamelContext(f, camelContext));
diff --git
a/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/KameletMain.java
b/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/KameletMain.java
index 4aa9561ff965..20ac4c79f1fa 100644
---
a/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/KameletMain.java
+++
b/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/KameletMain.java
@@ -450,7 +450,10 @@ public class KameletMain extends MainCommandLineSupport {
setupExport(answer, export);
} else {
PropertiesComponent pc = (PropertiesComponent)
answer.getPropertiesComponent();
- pc.setPropertiesFunctionResolver(new
DependencyDownloaderPropertiesFunctionResolver(answer, false));
+ // create resolver that can download dependencies for known
functions
+ var resolver = new
DependencyDownloaderPropertiesFunctionResolver(answer, false);
+ resolver.start();
+ pc.setPropertiesFunctionResolver(resolver);
}
// groovy scripts
@@ -788,8 +791,10 @@ public class KameletMain extends MainCommandLineSupport {
addInitialProperty("camel.component.properties.ignore-missing-location",
"true");
PropertiesComponent pc = (PropertiesComponent)
answer.getPropertiesComponent();
pc.setPropertiesParser(new ExportPropertiesParser(answer));
- pc.setPropertiesFunctionResolver(new
DependencyDownloaderPropertiesFunctionResolver(answer, export));
-
+ // create resolver that can download dependencies for known functions
+ var resolver = new
DependencyDownloaderPropertiesFunctionResolver(answer, export);
+ resolver.start();
+ pc.setPropertiesFunctionResolver(resolver);
// override default type converters with our export converter that is
more flexible during exporting
ExportTypeConverter ec = new ExportTypeConverter();
answer.getTypeConverterRegistry().setTypeConverterExists(TypeConverterExists.Override);