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 07:13:50 UTC
[camel] 04/06: CAMEL-15105: make the CamelDependencyInjectionAnnotationFactory 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 138d6712f56d882500894deebd95e468de05d580
Author: Otavio Rodolfo Piske <an...@gmail.com>
AuthorDate: Thu Mar 30 18:09:45 2023 +0200
CAMEL-15105: make the CamelDependencyInjectionAnnotationFactory a plugin of the context
---
.../java/org/apache/camel/ExtendedCamelContext.java | 11 -----------
.../camel/impl/engine/AbstractCamelContext.java | 3 ++-
.../impl/engine/DefaultCamelBeanPostProcessor.java | 11 +++++------
.../impl/engine/DefaultCamelContextExtension.java | 19 -------------------
.../camel/impl/ExtendedCamelContextConfigurer.java | 6 ------
.../impl/lw/LightweightCamelContextExtension.java | 11 -----------
.../java/org/apache/camel/support/PluginHelper.java | 17 +++++++++++++++++
7 files changed, 24 insertions(+), 54 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 a0f73453a80..e2317dc9fed 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
@@ -30,7 +30,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.CamelDependencyInjectionAnnotationFactory;
import org.apache.camel.spi.ComponentNameResolver;
import org.apache.camel.spi.ComponentResolver;
import org.apache.camel.spi.ConfigurerResolver;
@@ -269,16 +268,6 @@ public interface ExtendedCamelContext {
*/
void setProcessorExchangeFactory(ProcessorExchangeFactory processorExchangeFactory);
- /**
- * Returns the annotation dependency injection factory.
- */
- CamelDependencyInjectionAnnotationFactory getDependencyInjectionAnnotationFactory();
-
- /**
- * Sets a custom annotation dependency injection factory.
- */
- void setDependencyInjectionAnnotationFactory(CamelDependencyInjectionAnnotationFactory factory);
-
/**
* Returns the management mbean assembler
*
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 1b61b6019f1..aa3b4cdd64c 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
@@ -212,7 +212,6 @@ public abstract class AbstractCamelContext extends BaseService
volatile ProcessorExchangeFactory processorExchangeFactory;
volatile ReactiveExecutor reactiveExecutor;
volatile Registry registry;
- volatile CamelDependencyInjectionAnnotationFactory dependencyInjectionAnnotationFactory;
volatile ComponentResolver componentResolver;
volatile ComponentNameResolver componentNameResolver;
volatile LanguageResolver languageResolver;
@@ -384,6 +383,8 @@ public abstract class AbstractCamelContext extends BaseService
this.internalServiceManager = new InternalServiceManager(this, internalRouteStartupManager, startupListeners);
camelContextExtension.addContextPlugin(CamelBeanPostProcessor.class, createBeanPostProcessor());
+ camelContextExtension.addContextPlugin(CamelDependencyInjectionAnnotationFactory.class,
+ createDependencyInjectionAnnotationFactory());
if (build) {
try {
diff --git a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultCamelBeanPostProcessor.java b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultCamelBeanPostProcessor.java
index fcc6f914473..d2e717ad575 100644
--- a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultCamelBeanPostProcessor.java
+++ b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultCamelBeanPostProcessor.java
@@ -35,6 +35,7 @@ import org.apache.camel.PropertyInject;
import org.apache.camel.spi.CamelBeanPostProcessor;
import org.apache.camel.spi.CamelBeanPostProcessorInjector;
import org.apache.camel.support.DefaultEndpoint;
+import org.apache.camel.support.PluginHelper;
import org.apache.camel.util.ReflectionHelper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -493,8 +494,8 @@ public class DefaultCamelBeanPostProcessor implements CamelBeanPostProcessor, Ca
getOrLookupCamelContext().getRegistry().unbind(name);
}
// use dependency injection factory to perform the task of binding the bean to registry
- Runnable task = getOrLookupCamelContext().getCamelContextExtension()
- .getDependencyInjectionAnnotationFactory().createBindToRegistryFactory(name, bean, beanName, beanPostProcess);
+ Runnable task = PluginHelper.getDependencyInjectionAnnotationFactory(getOrLookupCamelContext())
+ .createBindToRegistryFactory(name, bean, beanName, beanPostProcess);
task.run();
}
@@ -509,8 +510,7 @@ public class DefaultCamelBeanPostProcessor implements CamelBeanPostProcessor, Ca
getOrLookupCamelContext().getRegistry().unbind(name);
}
// use dependency injection factory to perform the task of binding the bean to registry
- Runnable task = getOrLookupCamelContext().getCamelContextExtension()
- .getDependencyInjectionAnnotationFactory()
+ Runnable task = PluginHelper.getDependencyInjectionAnnotationFactory(getOrLookupCamelContext())
.createBindToRegistryFactory(name, value, beanName, beanPostProcess);
task.run();
}
@@ -528,8 +528,7 @@ public class DefaultCamelBeanPostProcessor implements CamelBeanPostProcessor, Ca
getOrLookupCamelContext().getRegistry().unbind(name);
}
// use dependency injection factory to perform the task of binding the bean to registry
- Runnable task = getOrLookupCamelContext().getCamelContextExtension()
- .getDependencyInjectionAnnotationFactory()
+ Runnable task = PluginHelper.getDependencyInjectionAnnotationFactory(getOrLookupCamelContext())
.createBindToRegistryFactory(name, value, beanName, beanPostProcess);
task.run();
}
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 957a688daf9..380d702235c 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
@@ -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.CamelDependencyInjectionAnnotationFactory;
import org.apache.camel.spi.ComponentNameResolver;
import org.apache.camel.spi.ComponentResolver;
import org.apache.camel.spi.ConfigurerResolver;
@@ -245,24 +244,6 @@ class DefaultCamelContextExtension implements ExtendedCamelContext {
return text;
}
- @Override
- public CamelDependencyInjectionAnnotationFactory getDependencyInjectionAnnotationFactory() {
- if (camelContext.dependencyInjectionAnnotationFactory == null) {
- synchronized (camelContext.lock) {
- if (camelContext.dependencyInjectionAnnotationFactory == null) {
- setDependencyInjectionAnnotationFactory(camelContext.createDependencyInjectionAnnotationFactory());
- }
- }
- }
- return camelContext.dependencyInjectionAnnotationFactory;
- }
-
- @Override
- public void setDependencyInjectionAnnotationFactory(
- CamelDependencyInjectionAnnotationFactory dependencyInjectionAnnotationFactory) {
- camelContext.dependencyInjectionAnnotationFactory = dependencyInjectionAnnotationFactory;
- }
-
@Override
public ManagementMBeanAssembler getManagementMBeanAssembler() {
return camelContext.managementMBeanAssembler;
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 b31d6e5e66e..a584868bc90 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
@@ -43,8 +43,6 @@ public class ExtendedCamelContextConfigurer extends org.apache.camel.support.com
case "DataFormatResolver": target.setDataFormatResolver(property(camelContext, org.apache.camel.spi.DataFormatResolver.class, value)); return true;
case "deferservicefactory":
case "DeferServiceFactory": target.setDeferServiceFactory(property(camelContext, org.apache.camel.spi.DeferServiceFactory.class, value)); return true;
- case "dependencyinjectionannotationfactory":
- case "DependencyInjectionAnnotationFactory": target.setDependencyInjectionAnnotationFactory(property(camelContext, org.apache.camel.spi.CamelDependencyInjectionAnnotationFactory.class, value)); return true;
case "description":
case "Description": target.setDescription(property(camelContext, java.lang.String.class, value)); return true;
case "devconsoleresolver":
@@ -140,8 +138,6 @@ public class ExtendedCamelContextConfigurer extends org.apache.camel.support.com
case "DataFormatResolver": return org.apache.camel.spi.DataFormatResolver.class;
case "deferservicefactory":
case "DeferServiceFactory": return org.apache.camel.spi.DeferServiceFactory.class;
- case "dependencyinjectionannotationfactory":
- case "DependencyInjectionAnnotationFactory": return org.apache.camel.spi.CamelDependencyInjectionAnnotationFactory.class;
case "description":
case "Description": return java.lang.String.class;
case "devconsoleresolver":
@@ -238,8 +234,6 @@ public class ExtendedCamelContextConfigurer extends org.apache.camel.support.com
case "DataFormatResolver": return target.getDataFormatResolver();
case "deferservicefactory":
case "DeferServiceFactory": return target.getDeferServiceFactory();
- case "dependencyinjectionannotationfactory":
- case "DependencyInjectionAnnotationFactory": return target.getDependencyInjectionAnnotationFactory();
case "description":
case "Description": return target.getDescription();
case "devconsoleresolver":
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 b6141635ab2..bd9e016d4b8 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
@@ -45,7 +45,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.CamelDependencyInjectionAnnotationFactory;
import org.apache.camel.spi.ComponentNameResolver;
import org.apache.camel.spi.ComponentResolver;
import org.apache.camel.spi.ConfigurerResolver;
@@ -289,16 +288,6 @@ class LightweightCamelContextExtension implements ExtendedCamelContext {
throw new UnsupportedOperationException();
}
- @Override
- public CamelDependencyInjectionAnnotationFactory getDependencyInjectionAnnotationFactory() {
- return camelContext.getCamelContextExtension().getDependencyInjectionAnnotationFactory();
- }
-
- @Override
- public void setDependencyInjectionAnnotationFactory(CamelDependencyInjectionAnnotationFactory factory) {
- throw new UnsupportedOperationException();
- }
-
@Override
public ManagementMBeanAssembler getManagementMBeanAssembler() {
throw new UnsupportedOperationException();
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 c9713d823d5..b18a6312719 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
@@ -20,6 +20,7 @@ package org.apache.camel.support;
import org.apache.camel.CamelContext;
import org.apache.camel.ExtendedCamelContext;
import org.apache.camel.spi.CamelBeanPostProcessor;
+import org.apache.camel.spi.CamelDependencyInjectionAnnotationFactory;
public final class PluginHelper {
private PluginHelper() {
@@ -43,4 +44,20 @@ public final class PluginHelper {
public static CamelBeanPostProcessor getBeanPostProcessor(ExtendedCamelContext extendedCamelContext) {
return extendedCamelContext.getContextPlugin(CamelBeanPostProcessor.class);
}
+
+ /**
+ * Returns the annotation dependency injection factory.
+ */
+ public static CamelDependencyInjectionAnnotationFactory getDependencyInjectionAnnotationFactory(CamelContext camelContext) {
+ return getDependencyInjectionAnnotationFactory(camelContext.getCamelContextExtension());
+
+ }
+
+ /**
+ * Returns the annotation dependency injection factory.
+ */
+ public static CamelDependencyInjectionAnnotationFactory getDependencyInjectionAnnotationFactory(
+ ExtendedCamelContext extendedCamelContext) {
+ return extendedCamelContext.getContextPlugin(CamelDependencyInjectionAnnotationFactory.class);
+ }
}