You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ji...@apache.org on 2024/01/15 08:41:50 UTC

(camel-quarkus) 03/11: Added initialization of VariableRepositoryFactory (CAMEL-19749)

This is an automated email from the ASF dual-hosted git repository.

jiriondrusek pushed a commit to branch camel-main
in repository https://gitbox.apache.org/repos/asf/camel-quarkus.git

commit 1e05d23340945fea4121285f0679f5d34b7bc58e
Author: JiriOndrusek <on...@gmail.com>
AuthorDate: Wed Jan 3 10:01:38 2024 +0100

    Added initialization of VariableRepositoryFactory (CAMEL-19749)
---
 .../java/org/apache/camel/quarkus/core/CamelContextRecorder.java    | 4 ++++
 .../main/java/org/apache/camel/quarkus/core/FastCamelContext.java   | 6 ++++++
 2 files changed, 10 insertions(+)

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 1341696ffe..269c372412 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
@@ -33,6 +33,7 @@ import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.builder.endpoint.EndpointRouteBuilder;
 import org.apache.camel.builder.endpoint.LambdaEndpointRouteBuilder;
 import org.apache.camel.catalog.RuntimeCamelCatalog;
+import org.apache.camel.impl.engine.DefaultVariableRepositoryFactory;
 import org.apache.camel.spi.CamelContextCustomizer;
 import org.apache.camel.spi.ComponentNameResolver;
 import org.apache.camel.spi.FactoryFinderResolver;
@@ -42,6 +43,7 @@ import org.apache.camel.spi.ModelToYAMLDumper;
 import org.apache.camel.spi.PackageScanClassResolver;
 import org.apache.camel.spi.Registry;
 import org.apache.camel.spi.TypeConverterRegistry;
+import org.apache.camel.spi.VariableRepositoryFactory;
 
 @Recorder
 public class CamelContextRecorder {
@@ -69,6 +71,8 @@ public class CamelContextRecorder {
         context.setApplicationContextClassLoader(tccl);
         extendedCamelContext.addContextPlugin(FactoryFinderResolver.class, factoryFinderResolver.getValue());
         extendedCamelContext.addContextPlugin(RuntimeCamelCatalog.class, new CamelRuntimeCatalog(config.runtimeCatalog));
+        //variable repository factory depends on factoryFinder and classLoader, therefore has to be initialized afterwards
+        extendedCamelContext.addContextPlugin(VariableRepositoryFactory.class, new DefaultVariableRepositoryFactory(context));
         extendedCamelContext.setRegistry(registry.getValue());
 
         TypeConverterRegistry typeConverterRegistryValue = typeConverterRegistry.getValue();
diff --git a/extensions-core/core/runtime/src/main/java/org/apache/camel/quarkus/core/FastCamelContext.java b/extensions-core/core/runtime/src/main/java/org/apache/camel/quarkus/core/FastCamelContext.java
index 465f7c9110..57969c0422 100644
--- a/extensions-core/core/runtime/src/main/java/org/apache/camel/quarkus/core/FastCamelContext.java
+++ b/extensions-core/core/runtime/src/main/java/org/apache/camel/quarkus/core/FastCamelContext.java
@@ -47,6 +47,7 @@ import org.apache.camel.spi.PropertiesComponent;
 import org.apache.camel.spi.Registry;
 import org.apache.camel.spi.ShutdownStrategy;
 import org.apache.camel.spi.TypeConverterRegistry;
+import org.apache.camel.spi.VariableRepositoryFactory;
 import org.apache.camel.util.IOHelper;
 
 public class FastCamelContext extends DefaultCamelContext implements CatalogCamelContext, ModelCamelContext {
@@ -171,6 +172,11 @@ public class FastCamelContext extends DefaultCamelContext implements CatalogCame
         return new CamelQuarkusPackageScanResourceResolver();
     }
 
+    protected VariableRepositoryFactory createVariableRepositoryFactory() {
+        // VariableRepositoryFactory is initialized at build time
+        return null;
+    }
+
     @Override
     public void doInit() throws Exception {
         super.doInit();