You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by or...@apache.org on 2023/03/31 11:05:42 UTC
[camel] 02/02: CAMEL-15105: make the ConfigurerResolver a plugin of the context
This is an automated email from the ASF dual-hosted git repository.
orpiske pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel.git
commit 6085a54dd8e6707945b26c88e1b2807a9fda8838
Author: Otavio Rodolfo Piske <an...@gmail.com>
AuthorDate: Fri Mar 31 11:46:26 2023 +0200
CAMEL-15105: make the ConfigurerResolver a plugin of the context
---
.../java/org/apache/camel/ExtendedCamelContext.java | 13 -------------
.../camel/impl/engine/AbstractCamelContext.java | 2 --
.../impl/engine/DefaultCamelContextExtension.java | 20 --------------------
.../engine/DefaultServiceBootstrapCloseable.java | 4 ++--
.../camel/impl/ExtendedCamelContextConfigurer.java | 6 ------
.../impl/lw/LightweightCamelContextExtension.java | 11 -----------
.../main/java/org/apache/camel/main/MainHelper.java | 3 +--
.../java/org/apache/camel/support/PluginHelper.java | 16 ++++++++++++++++
8 files changed, 19 insertions(+), 56 deletions(-)
diff --git a/core/camel-api/src/main/java/org/apache/camel/ExtendedCamelContext.java b/core/camel-api/src/main/java/org/apache/camel/ExtendedCamelContext.java
index 7d4b51aebfc..2afb5390787 100644
--- a/core/camel-api/src/main/java/org/apache/camel/ExtendedCamelContext.java
+++ b/core/camel-api/src/main/java/org/apache/camel/ExtendedCamelContext.java
@@ -29,7 +29,6 @@ import org.apache.camel.spi.BeanIntrospection;
import org.apache.camel.spi.BeanProcessorFactory;
import org.apache.camel.spi.BeanProxyFactory;
import org.apache.camel.spi.BootstrapCloseable;
-import org.apache.camel.spi.ConfigurerResolver;
import org.apache.camel.spi.DataFormatResolver;
import org.apache.camel.spi.DeferServiceFactory;
import org.apache.camel.spi.EndpointStrategy;
@@ -389,18 +388,6 @@ public interface ExtendedCamelContext {
*/
FactoryFinder getBootstrapFactoryFinder(String path);
- /**
- * Gets the bootstrap {@link ConfigurerResolver} to use. This bootstrap resolver is only intended to be used during
- * bootstrap (starting) CamelContext.
- */
- ConfigurerResolver getBootstrapConfigurerResolver();
-
- /**
- * sets the bootstrap {@link ConfigurerResolver} to use. This bootstrap resolver is only intended to be used during
- * bootstrap (starting) CamelContext.
- */
- void setBootstrapConfigurerResolver(ConfigurerResolver configurerResolver);
-
/**
* Gets the FactoryFinder which will be used for the loading the factory class from META-INF in the given path
*
diff --git a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/AbstractCamelContext.java b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/AbstractCamelContext.java
index 13e0ebdc8d2..5be02c3e266 100644
--- a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/AbstractCamelContext.java
+++ b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/AbstractCamelContext.java
@@ -203,7 +203,6 @@ public abstract class AbstractCamelContext extends BaseService
final List<BootstrapCloseable> bootstraps = new CopyOnWriteArrayList<>();
final Map<String, FactoryFinder> bootstrapFactories = new ConcurrentHashMap<>();
volatile FactoryFinder bootstrapFactoryFinder;
- volatile ConfigurerResolver bootstrapConfigurerResolver;
final Object lock = new Object();
final RouteController internalRouteController = new InternalRouteController(this);
volatile DeferServiceFactory deferServiceFactory;
@@ -3267,7 +3266,6 @@ public abstract class AbstractCamelContext extends BaseService
getTypeConverterRegistry();
getInjector();
camelContextExtension.getDefaultFactoryFinder();
- camelContextExtension.getBootstrapConfigurerResolver();
getPropertiesComponent();
camelContextExtension.getDataFormatResolver();
diff --git a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultCamelContextExtension.java b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultCamelContextExtension.java
index d2d6d6a21b3..2856c0acd3e 100644
--- a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultCamelContextExtension.java
+++ b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultCamelContextExtension.java
@@ -43,7 +43,6 @@ import org.apache.camel.spi.BeanIntrospection;
import org.apache.camel.spi.BeanProcessorFactory;
import org.apache.camel.spi.BeanProxyFactory;
import org.apache.camel.spi.BootstrapCloseable;
-import org.apache.camel.spi.ConfigurerResolver;
import org.apache.camel.spi.DataFormatResolver;
import org.apache.camel.spi.Debugger;
import org.apache.camel.spi.DebuggerFactory;
@@ -338,25 +337,6 @@ class DefaultCamelContextExtension implements ExtendedCamelContext {
return getFactoryFinder(FactoryFinder.DEFAULT_PATH);
}
- @Override
- public ConfigurerResolver getBootstrapConfigurerResolver() {
- if (camelContext.bootstrapConfigurerResolver == null) {
- synchronized (camelContext.lock) {
- if (camelContext.bootstrapConfigurerResolver == null) {
- camelContext.bootstrapConfigurerResolver = new BootstrapConfigurerResolver(
- getFactoryFinderResolver().resolveBootstrapFactoryFinder(camelContext.getClassResolver(),
- ConfigurerResolver.RESOURCE_PATH));
- }
- }
- }
- return camelContext.bootstrapConfigurerResolver;
- }
-
- @Override
- public void setBootstrapConfigurerResolver(ConfigurerResolver configurerResolver) {
- camelContext.bootstrapConfigurerResolver = configurerResolver;
- }
-
@Override
public FactoryFinder getBootstrapFactoryFinder() {
if (camelContext.bootstrapFactoryFinder == null) {
diff --git a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultServiceBootstrapCloseable.java b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultServiceBootstrapCloseable.java
index 11ace4e04d3..ff10d2c453c 100644
--- a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultServiceBootstrapCloseable.java
+++ b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultServiceBootstrapCloseable.java
@@ -27,6 +27,7 @@ import org.apache.camel.spi.ConfigurerResolver;
import org.apache.camel.spi.ConfigurerStrategy;
import org.apache.camel.spi.FactoryFinder;
import org.apache.camel.spi.ProcessorFactory;
+import org.apache.camel.support.PluginHelper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -68,7 +69,7 @@ public class DefaultServiceBootstrapCloseable implements BootstrapCloseable {
}
// clear bootstrap configurer resolver
- ConfigurerResolver cr = camelContextExtension.getBootstrapConfigurerResolver();
+ ConfigurerResolver cr = PluginHelper.getBootstrapConfigurerResolver(camelContextExtension);
if (cr instanceof BootstrapCloseable) {
try {
((BootstrapCloseable) cr).close();
@@ -76,7 +77,6 @@ public class DefaultServiceBootstrapCloseable implements BootstrapCloseable {
LOG.warn("Error during closing bootstrap service. This exception is ignored", e);
}
}
- camelContextExtension.setBootstrapConfigurerResolver(null);
// clear processor factory
ProcessorFactory pf = camelContextExtension.getProcessorFactory();
diff --git a/core/camel-core-engine/src/generated/java/org/apache/camel/impl/ExtendedCamelContextConfigurer.java b/core/camel-core-engine/src/generated/java/org/apache/camel/impl/ExtendedCamelContextConfigurer.java
index e335485b22b..e72e9d31d13 100644
--- a/core/camel-core-engine/src/generated/java/org/apache/camel/impl/ExtendedCamelContextConfigurer.java
+++ b/core/camel-core-engine/src/generated/java/org/apache/camel/impl/ExtendedCamelContextConfigurer.java
@@ -29,8 +29,6 @@ public class ExtendedCamelContextConfigurer extends org.apache.camel.support.com
case "BasePackageScan": target.setBasePackageScan(property(camelContext, java.lang.String.class, value)); return true;
case "beanintrospection":
case "BeanIntrospection": target.setBeanIntrospection(property(camelContext, org.apache.camel.spi.BeanIntrospection.class, value)); return true;
- case "bootstrapconfigurerresolver":
- case "BootstrapConfigurerResolver": target.setBootstrapConfigurerResolver(property(camelContext, org.apache.camel.spi.ConfigurerResolver.class, value)); return true;
case "bootstrapfactoryfinder":
case "BootstrapFactoryFinder": target.setBootstrapFactoryFinder(property(camelContext, org.apache.camel.spi.FactoryFinder.class, value)); return true;
case "dataformatresolver":
@@ -114,8 +112,6 @@ public class ExtendedCamelContextConfigurer extends org.apache.camel.support.com
case "BasePackageScan": return java.lang.String.class;
case "beanintrospection":
case "BeanIntrospection": return org.apache.camel.spi.BeanIntrospection.class;
- case "bootstrapconfigurerresolver":
- case "BootstrapConfigurerResolver": return org.apache.camel.spi.ConfigurerResolver.class;
case "bootstrapfactoryfinder":
case "BootstrapFactoryFinder": return org.apache.camel.spi.FactoryFinder.class;
case "dataformatresolver":
@@ -200,8 +196,6 @@ public class ExtendedCamelContextConfigurer extends org.apache.camel.support.com
case "BasePackageScan": return target.getBasePackageScan();
case "beanintrospection":
case "BeanIntrospection": return target.getBeanIntrospection();
- case "bootstrapconfigurerresolver":
- case "BootstrapConfigurerResolver": return target.getBootstrapConfigurerResolver();
case "bootstrapfactoryfinder":
case "BootstrapFactoryFinder": return target.getBootstrapFactoryFinder();
case "dataformatresolver":
diff --git a/core/camel-core-engine/src/main/java/org/apache/camel/impl/lw/LightweightCamelContextExtension.java b/core/camel-core-engine/src/main/java/org/apache/camel/impl/lw/LightweightCamelContextExtension.java
index 7eb7b2bbd2b..e7083ac83a1 100644
--- a/core/camel-core-engine/src/main/java/org/apache/camel/impl/lw/LightweightCamelContextExtension.java
+++ b/core/camel-core-engine/src/main/java/org/apache/camel/impl/lw/LightweightCamelContextExtension.java
@@ -44,7 +44,6 @@ import org.apache.camel.spi.BeanIntrospection;
import org.apache.camel.spi.BeanProcessorFactory;
import org.apache.camel.spi.BeanProxyFactory;
import org.apache.camel.spi.BootstrapCloseable;
-import org.apache.camel.spi.ConfigurerResolver;
import org.apache.camel.spi.DataFormatResolver;
import org.apache.camel.spi.DeferServiceFactory;
import org.apache.camel.spi.EndpointStrategy;
@@ -293,16 +292,6 @@ class LightweightCamelContextExtension implements ExtendedCamelContext {
throw new UnsupportedOperationException();
}
- @Override
- public ConfigurerResolver getBootstrapConfigurerResolver() {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public void setBootstrapConfigurerResolver(ConfigurerResolver configurerResolver) {
- throw new UnsupportedOperationException();
- }
-
@Override
public FactoryFinder getBootstrapFactoryFinder() {
throw new UnsupportedOperationException();
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 578419e8ff0..f0e41beee80 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
@@ -297,8 +297,7 @@ public final class MainHelper {
if (configurer == null) {
String name = target.getClass().getName();
// see if there is a configurer for it (use bootstrap)
- configurer = context.getCamelContextExtension()
- .getBootstrapConfigurerResolver().resolvePropertyConfigurer(name, context);
+ configurer = PluginHelper.getBootstrapConfigurerResolver(context).resolvePropertyConfigurer(name, context);
}
try {
diff --git a/core/camel-support/src/main/java/org/apache/camel/support/PluginHelper.java b/core/camel-support/src/main/java/org/apache/camel/support/PluginHelper.java
index 8ef62d0efd9..4dd6a259d05 100644
--- a/core/camel-support/src/main/java/org/apache/camel/support/PluginHelper.java
+++ b/core/camel-support/src/main/java/org/apache/camel/support/PluginHelper.java
@@ -151,4 +151,20 @@ public final class PluginHelper {
public static ScheduledExecutorService getErrorHandlerExecutorService(ExtendedCamelContext extendedCamelContext) {
return extendedCamelContext.getContextPlugin(ScheduledExecutorService.class);
}
+
+ /**
+ * Gets the bootstrap {@link ConfigurerResolver} to use. This bootstrap resolver is only intended to be used during
+ * bootstrap (starting) CamelContext.
+ */
+ public static ConfigurerResolver getBootstrapConfigurerResolver(CamelContext camelContext) {
+ return getBootstrapConfigurerResolver(camelContext.getCamelContextExtension());
+ }
+
+ /**
+ * Gets the bootstrap {@link ConfigurerResolver} to use. This bootstrap resolver is only intended to be used during
+ * bootstrap (starting) CamelContext.
+ */
+ public static ConfigurerResolver getBootstrapConfigurerResolver(ExtendedCamelContext extendedCamelContext) {
+ return extendedCamelContext.getContextPlugin(ConfigurerResolver.class);
+ }
}