Do not register languages and dataformats so that they can be used in parallel with conflicting configs
diff --git a/extensions/core/deployment/src/main/java/org/apache/camel/quarkus/core/deployment/BuildProcessor.java b/extensions/core/deployment/src/main/java/org/apache/camel/quarkus/core/deployment/BuildProcessor.java
index 63c6e8d..e4c2c46 100644
--- a/extensions/core/deployment/src/main/java/org/apache/camel/quarkus/core/deployment/BuildProcessor.java
+++ b/extensions/core/deployment/src/main/java/org/apache/camel/quarkus/core/deployment/BuildProcessor.java
@@ -133,9 +133,7 @@
services.produce(new CamelServicePatternBuildItem(
CamelServiceDestination.REGISTRY,
true,
- "META-INF/services/org/apache/camel/component/*",
- "META-INF/services/org/apache/camel/language/*",
- "META-INF/services/org/apache/camel/dataformat/*"));
+ "META-INF/services/org/apache/camel/component/*"));
services.produce(new CamelServicePatternBuildItem(
CamelServiceDestination.DISCOVERY,
@@ -143,7 +141,9 @@
"META-INF/services/org/apache/camel/*",
"META-INF/services/org/apache/camel/management/*",
"META-INF/services/org/apache/camel/model/*",
- "META-INF/services/org/apache/camel/configurer/*"));
+ "META-INF/services/org/apache/camel/configurer/*",
+ "META-INF/services/org/apache/camel/language/*",
+ "META-INF/services/org/apache/camel/dataformat/*"));
}
@BuildStep
diff --git a/extensions/core/runtime/src/main/java/org/apache/camel/quarkus/core/FastCamelContext.java b/extensions/core/runtime/src/main/java/org/apache/camel/quarkus/core/FastCamelContext.java
index 8e8ff03..1eb3d3d 100644
--- a/extensions/core/runtime/src/main/java/org/apache/camel/quarkus/core/FastCamelContext.java
+++ b/extensions/core/runtime/src/main/java/org/apache/camel/quarkus/core/FastCamelContext.java
@@ -21,10 +21,8 @@
import java.util.concurrent.ExecutorService;
import org.apache.camel.AsyncProcessor;
-import org.apache.camel.CamelContext;
import org.apache.camel.Component;
import org.apache.camel.Endpoint;
-import org.apache.camel.NoSuchLanguageException;
import org.apache.camel.PollingConsumer;
import org.apache.camel.Processor;
import org.apache.camel.Producer;
@@ -41,9 +39,11 @@
import org.apache.camel.impl.engine.DefaultCamelBeanPostProcessor;
import org.apache.camel.impl.engine.DefaultCamelContextNameStrategy;
import org.apache.camel.impl.engine.DefaultClassResolver;
+import org.apache.camel.impl.engine.DefaultDataFormatResolver;
import org.apache.camel.impl.engine.DefaultEndpointRegistry;
import org.apache.camel.impl.engine.DefaultInflightRepository;
import org.apache.camel.impl.engine.DefaultInjector;
+import org.apache.camel.impl.engine.DefaultLanguageResolver;
import org.apache.camel.impl.engine.DefaultMessageHistoryFactory;
import org.apache.camel.impl.engine.DefaultNodeIdFactory;
import org.apache.camel.impl.engine.DefaultPackageScanClassResolver;
@@ -74,7 +74,6 @@
import org.apache.camel.spi.CamelContextNameStrategy;
import org.apache.camel.spi.ClassResolver;
import org.apache.camel.spi.ComponentResolver;
-import org.apache.camel.spi.DataFormat;
import org.apache.camel.spi.DataFormatResolver;
import org.apache.camel.spi.EndpointRegistry;
import org.apache.camel.spi.ExecutorServiceManager;
@@ -82,7 +81,6 @@
import org.apache.camel.spi.HeadersMapFactory;
import org.apache.camel.spi.InflightRepository;
import org.apache.camel.spi.Injector;
-import org.apache.camel.spi.Language;
import org.apache.camel.spi.LanguageResolver;
import org.apache.camel.spi.ManagementNameStrategy;
import org.apache.camel.spi.MessageHistoryFactory;
@@ -174,35 +172,12 @@
@Override
protected LanguageResolver createLanguageResolver() {
- // languages are automatically discovered by build steps so we can reduce the
- // operations done by the standard resolver by looking them up directly from the
- // registry
- return (name, context) -> {
- Language answer = context.getRegistry().lookupByNameAndType(name, Language.class);
- if (answer == null) {
- throw new NoSuchLanguageException(name);
- }
-
- return answer;
- };
+ return new DefaultLanguageResolver();
}
@Override
protected DataFormatResolver createDataFormatResolver() {
- return new DataFormatResolver() {
- @Override
- public DataFormat resolveDataFormat(String name, CamelContext context) {
- return createDataFormat(name, context);
- }
-
- @Override
- public DataFormat createDataFormat(String name, CamelContext context) {
- // data formats are automatically discovered by build steps so we can reduce the
- // operations done by the standard resolver by looking them up directly from the
- // registry
- return context.getRegistry().lookupByNameAndType(name, DataFormat.class);
- }
- };
+ return new DefaultDataFormatResolver();
}
@Override