This is an automated email from the ASF dual-hosted git repository.
jamesnetherton pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel-quarkus.git
The following commit(s) were added to refs/heads/main by this push:
new 617900b322 Move RUNTIME_INIT CamelContext customizations to
CamelContextCustomizers
617900b322 is described below
commit 617900b322d872b8382d295631150a5c94bf10b6
Author: James Netherton <[email protected]>
AuthorDate: Mon Aug 18 14:01:02 2025 +0100
Move RUNTIME_INIT CamelContext customizations to CamelContextCustomizers
Fixes #7640
---
.../core/deployment/CamelContextProcessor.java | 7 ++--
.../camel/quarkus/core/CamelContextRecorder.java | 12 ++++---
.../component/ldap/deployment/LdapProcessor.java | 10 ++----
.../quarkus/component/ldap/CamelLdapRecorder.java | 38 ++++++++++++----------
4 files changed, 34 insertions(+), 33 deletions(-)
diff --git
a/extensions-core/core/deployment/src/main/java/org/apache/camel/quarkus/core/deployment/CamelContextProcessor.java
b/extensions-core/core/deployment/src/main/java/org/apache/camel/quarkus/core/deployment/CamelContextProcessor.java
index e00736df2b..9db50cf778 100644
---
a/extensions-core/core/deployment/src/main/java/org/apache/camel/quarkus/core/deployment/CamelContextProcessor.java
+++
b/extensions-core/core/deployment/src/main/java/org/apache/camel/quarkus/core/deployment/CamelContextProcessor.java
@@ -46,6 +46,7 @@ import
org.apache.camel.quarkus.core.deployment.spi.CamelModelToYAMLDumperBuildI
import
org.apache.camel.quarkus.core.deployment.spi.CamelPackageScanClassResolverBuildItem;
import org.apache.camel.quarkus.core.deployment.spi.CamelRegistryBuildItem;
import
org.apache.camel.quarkus.core.deployment.spi.CamelTypeConverterRegistryBuildItem;
+import
org.apache.camel.quarkus.core.deployment.spi.RuntimeCamelContextCustomizerBuildItem;
import org.apache.camel.quarkus.core.deployment.util.CamelSupport;
import org.apache.camel.spi.ModelJAXBContextFactory;
import org.apache.camel.spi.TypeConverterRegistry;
@@ -193,10 +194,8 @@ public class CamelContextProcessor {
@Record(ExecutionTime.RUNTIME_INIT)
@BuildStep
- void registerDataFormatLifecycleStrategy(
- CamelContextBuildItem camelContext,
- CamelContextRecorder recorder) {
-
recorder.registerDataFormatLifecycleStrategy(camelContext.getCamelContext());
+ RuntimeCamelContextCustomizerBuildItem
registerDataFormatLifecycleStrategy(CamelContextRecorder recorder) {
+ return new
RuntimeCamelContextCustomizerBuildItem(recorder.registerDataFormatLifecycleStrategy());
}
public static final class EventBridgeEnabled implements BooleanSupplier {
diff --git
a/extensions-core/core/runtime/src/main/java/org/apache/camel/quarkus/core/CamelContextRecorder.java
b/extensions-core/core/runtime/src/main/java/org/apache/camel/quarkus/core/CamelContextRecorder.java
index 3c759047a2..84fb280f3a 100644
---
a/extensions-core/core/runtime/src/main/java/org/apache/camel/quarkus/core/CamelContextRecorder.java
+++
b/extensions-core/core/runtime/src/main/java/org/apache/camel/quarkus/core/CamelContextRecorder.java
@@ -192,9 +192,13 @@ public class CamelContextRecorder {
return new RuntimeValue<>(clock);
}
- public void registerDataFormatLifecycleStrategy(RuntimeValue<CamelContext>
context) {
- CamelContext camelContext = context.getValue();
- camelContext.addLifecycleStrategy(
- new
CamelQuarkusDataFormatConfigLifecycleStrategy(camelContext,
dataFormatConfig.getValue()));
+ public RuntimeValue<CamelContextCustomizer>
registerDataFormatLifecycleStrategy() {
+ return new RuntimeValue<>(new CamelContextCustomizer() {
+ @Override
+ public void configure(CamelContext camelContext) {
+ camelContext.addLifecycleStrategy(
+ new
CamelQuarkusDataFormatConfigLifecycleStrategy(camelContext,
dataFormatConfig.getValue()));
+ }
+ });
}
}
diff --git
a/extensions/ldap/deployment/src/main/java/org/apache/camel/quarkus/component/ldap/deployment/LdapProcessor.java
b/extensions/ldap/deployment/src/main/java/org/apache/camel/quarkus/component/ldap/deployment/LdapProcessor.java
index b1575ccfca..8aaf1c9d4f 100644
---
a/extensions/ldap/deployment/src/main/java/org/apache/camel/quarkus/component/ldap/deployment/LdapProcessor.java
+++
b/extensions/ldap/deployment/src/main/java/org/apache/camel/quarkus/component/ldap/deployment/LdapProcessor.java
@@ -24,7 +24,7 @@ import io.quarkus.deployment.builditem.AllowJNDIBuildItem;
import io.quarkus.deployment.builditem.FeatureBuildItem;
import io.quarkus.deployment.builditem.nativeimage.ReflectiveClassBuildItem;
import org.apache.camel.quarkus.component.ldap.CamelLdapRecorder;
-import org.apache.camel.quarkus.core.deployment.spi.CamelContextBuildItem;
+import
org.apache.camel.quarkus.core.deployment.spi.RuntimeCamelContextCustomizerBuildItem;
class LdapProcessor {
@@ -50,11 +50,7 @@ class LdapProcessor {
@BuildStep
@Record(ExecutionTime.RUNTIME_INIT)
- void createDirContexts(
- CamelContextBuildItem context,
- CamelLdapRecorder camelLdapRecorder) {
-
- camelLdapRecorder.createDirContexts(context.getCamelContext());
+ RuntimeCamelContextCustomizerBuildItem
configureDirContexts(CamelLdapRecorder camelLdapRecorder) {
+ return new
RuntimeCamelContextCustomizerBuildItem(camelLdapRecorder.createDirContexts());
}
-
}
diff --git
a/extensions/ldap/runtime/src/main/java/org/apache/camel/quarkus/component/ldap/CamelLdapRecorder.java
b/extensions/ldap/runtime/src/main/java/org/apache/camel/quarkus/component/ldap/CamelLdapRecorder.java
index 31cef50a38..0fb6a451c8 100644
---
a/extensions/ldap/runtime/src/main/java/org/apache/camel/quarkus/component/ldap/CamelLdapRecorder.java
+++
b/extensions/ldap/runtime/src/main/java/org/apache/camel/quarkus/component/ldap/CamelLdapRecorder.java
@@ -23,6 +23,7 @@ import javax.naming.Context;
import io.quarkus.runtime.RuntimeValue;
import io.quarkus.runtime.annotations.Recorder;
import org.apache.camel.CamelContext;
+import org.apache.camel.spi.CamelContextCustomizer;
@Recorder
public class CamelLdapRecorder {
@@ -32,24 +33,25 @@ public class CamelLdapRecorder {
this.config = config;
}
- public void createDirContexts(RuntimeValue<CamelContext>
contextRuntimeValue) {
- CamelContext context = contextRuntimeValue.getValue();
-
- config.getValue().dirContexts().keySet().forEach(contextName -> {
-
- CamelLdapConfig.LdapDirContextConfig dirConfig =
config.getValue().dirContexts().get(contextName);
-
- Hashtable<String, Object> env = new Hashtable<String, Object>();
- dirConfig.initialContextFactory().ifPresent(v ->
env.put(Context.INITIAL_CONTEXT_FACTORY, v));
- dirConfig.providerUrl().ifPresent(v ->
env.put(Context.PROVIDER_URL, v));
- env.put(Context.SECURITY_AUTHENTICATION,
dirConfig.securityAuthentication());
- dirConfig.securityProtocol().ifPresent(v ->
env.put(Context.SECURITY_PROTOCOL, v));
- dirConfig.socketFactory().ifPresent(v ->
env.put("java.naming.ldap.factory.socket", v));
-
- //additional options
- dirConfig.additionalOptions().entrySet().forEach(e ->
env.put(e.getKey(), e.getValue()));
-
- context.getRegistry().bind(contextName, env);
+ public RuntimeValue<CamelContextCustomizer> createDirContexts() {
+ return new RuntimeValue<CamelContextCustomizer>(new
CamelContextCustomizer() {
+ public void configure(CamelContext camelContext) {
+ config.getValue().dirContexts().keySet().forEach(contextName
-> {
+ CamelLdapConfig.LdapDirContextConfig dirConfig =
config.getValue().dirContexts().get(contextName);
+
+ Hashtable<String, Object> env = new Hashtable<>();
+ dirConfig.initialContextFactory().ifPresent(v ->
env.put(Context.INITIAL_CONTEXT_FACTORY, v));
+ dirConfig.providerUrl().ifPresent(v ->
env.put(Context.PROVIDER_URL, v));
+ env.put(Context.SECURITY_AUTHENTICATION,
dirConfig.securityAuthentication());
+ dirConfig.securityProtocol().ifPresent(v ->
env.put(Context.SECURITY_PROTOCOL, v));
+ dirConfig.socketFactory().ifPresent(v ->
env.put("java.naming.ldap.factory.socket", v));
+
+ //additional options
+ env.putAll(dirConfig.additionalOptions());
+
+ camelContext.getRegistry().bind(contextName, env);
+ });
+ }
});
}
}