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/04/03 16:15:17 UTC

[camel] branch main updated (889059474a1 -> 5483a4a31db)

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

orpiske pushed a change to branch main
in repository https://gitbox.apache.org/repos/asf/camel.git


    from 889059474a1 (chores) camel-base-engine: remove unused exception
     new 99408682b3b CAMEL-15105: make the DeferServiceFactory a plugin of the context
     new 5483a4a31db CAMEL-15105: make the AnnotationBasedProcessorFactory a plugin of the context

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../apache/camel/component/bean/MethodInfo.java    |  7 +++--
 .../apache/camel/component/bean/ProxyHelper.java   |  3 +-
 .../org/apache/camel/ExtendedCamelContext.java     | 22 --------------
 .../camel/impl/engine/AbstractCamelContext.java    |  4 +--
 .../impl/engine/CamelPostProcessorHelper.java      |  3 +-
 .../impl/engine/DefaultCamelContextExtension.java  | 34 ----------------------
 .../camel/impl/ExtendedCamelContextConfigurer.java | 12 --------
 .../impl/lw/LightweightCamelContextExtension.java  | 22 --------------
 .../org/apache/camel/support/PluginHelper.java     | 31 ++++++++++++++++++++
 9 files changed, 40 insertions(+), 98 deletions(-)


[camel] 01/02: CAMEL-15105: make the DeferServiceFactory a plugin of the context

Posted by or...@apache.org.
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 99408682b3b9c2f06176f62a0dbb3bbd123671d0
Author: Otavio Rodolfo Piske <an...@gmail.com>
AuthorDate: Mon Apr 3 16:08:38 2023 +0200

    CAMEL-15105: make the DeferServiceFactory a plugin of the context
---
 .../org/apache/camel/component/bean/ProxyHelper.java    |  3 ++-
 .../java/org/apache/camel/ExtendedCamelContext.java     | 11 -----------
 .../apache/camel/impl/engine/AbstractCamelContext.java  |  2 +-
 .../camel/impl/engine/CamelPostProcessorHelper.java     |  3 +--
 .../camel/impl/engine/DefaultCamelContextExtension.java | 17 -----------------
 .../camel/impl/ExtendedCamelContextConfigurer.java      |  6 ------
 .../camel/impl/lw/LightweightCamelContextExtension.java | 11 -----------
 .../java/org/apache/camel/support/PluginHelper.java     | 15 +++++++++++++++
 8 files changed, 19 insertions(+), 49 deletions(-)

diff --git a/components/camel-bean/src/main/java/org/apache/camel/component/bean/ProxyHelper.java b/components/camel-bean/src/main/java/org/apache/camel/component/bean/ProxyHelper.java
index c837dc58de0..4b1fc5fd61c 100644
--- a/components/camel-bean/src/main/java/org/apache/camel/component/bean/ProxyHelper.java
+++ b/components/camel-bean/src/main/java/org/apache/camel/component/bean/ProxyHelper.java
@@ -20,6 +20,7 @@ import java.lang.reflect.Proxy;
 
 import org.apache.camel.Endpoint;
 import org.apache.camel.Producer;
+import org.apache.camel.support.PluginHelper;
 
 /**
  * A helper class for creating proxies which delegate to Camel
@@ -58,7 +59,7 @@ public final class ProxyHelper {
     public static <T> T createProxy(
             Endpoint endpoint, boolean binding, ClassLoader cl, Class<T>[] interfaceClasses, MethodInfoCache methodCache)
             throws Exception {
-        Producer producer = endpoint.getCamelContext().getCamelContextExtension().getDeferServiceFactory()
+        Producer producer = PluginHelper.getDeferServiceFactory(endpoint.getCamelContext())
                 .createProducer(endpoint);
         return createProxyObject(endpoint, binding, producer, cl, interfaceClasses, methodCache);
     }
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 186e9ace06e..a3940f1f9b6 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
@@ -24,7 +24,6 @@ import java.util.function.Supplier;
 import org.apache.camel.catalog.RuntimeCamelCatalog;
 import org.apache.camel.spi.AnnotationBasedProcessorFactory;
 import org.apache.camel.spi.BootstrapCloseable;
-import org.apache.camel.spi.DeferServiceFactory;
 import org.apache.camel.spi.EndpointStrategy;
 import org.apache.camel.spi.EndpointUriFactory;
 import org.apache.camel.spi.ExchangeFactory;
@@ -304,16 +303,6 @@ public interface ExtendedCamelContext {
      */
     FactoryFinder getFactoryFinder(String path);
 
-    /**
-     * Gets the {@link DeferServiceFactory} to use.
-     */
-    DeferServiceFactory getDeferServiceFactory();
-
-    /**
-     * Sets a custom {@link DeferServiceFactory} to use.
-     */
-    void setDeferServiceFactory(DeferServiceFactory deferServiceFactory);
-
     /**
      * Gets the {@link AnnotationBasedProcessorFactory} to use.
      */
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 a6478540412..abce5f670db 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
@@ -204,7 +204,6 @@ public abstract class AbstractCamelContext extends BaseService
 
     final Object lock = new Object();
     final RouteController internalRouteController = new InternalRouteController(this);
-    volatile DeferServiceFactory deferServiceFactory;
     volatile AnnotationBasedProcessorFactory annotationBasedProcessorFactory;
     volatile ReactiveExecutor reactiveExecutor;
     volatile Registry registry;
@@ -379,6 +378,7 @@ public abstract class AbstractCamelContext extends BaseService
         camelContextExtension.lazyAddContextPlugin(ResourceLoader.class, this::createResourceLoader);
         camelContextExtension.lazyAddContextPlugin(BeanProcessorFactory.class, this::createBeanProcessorFactory);
         camelContextExtension.lazyAddContextPlugin(ModelToXMLDumper.class, this::createModelToXMLDumper);
+        camelContextExtension.lazyAddContextPlugin(DeferServiceFactory.class, this::createDeferServiceFactory);
 
         if (build) {
             try {
diff --git a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/CamelPostProcessorHelper.java b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/CamelPostProcessorHelper.java
index 9a80eac577d..de7fc2125a8 100644
--- a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/CamelPostProcessorHelper.java
+++ b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/CamelPostProcessorHelper.java
@@ -590,8 +590,7 @@ public class CamelPostProcessorHelper implements CamelContextAware {
      */
     protected Producer createInjectionProducer(Endpoint endpoint, Object bean, String beanName) {
         try {
-            return endpoint.getCamelContext().getCamelContextExtension().getDeferServiceFactory()
-                    .createProducer(endpoint);
+            return PluginHelper.getDeferServiceFactory(endpoint.getCamelContext()).createProducer(endpoint);
         } catch (Exception e) {
             throw RuntimeCamelException.wrapRuntimeCamelException(e);
         }
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 c9e023ef6ac..013254cf89f 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
@@ -39,7 +39,6 @@ import org.apache.camel.spi.AnnotationBasedProcessorFactory;
 import org.apache.camel.spi.BootstrapCloseable;
 import org.apache.camel.spi.Debugger;
 import org.apache.camel.spi.DebuggerFactory;
-import org.apache.camel.spi.DeferServiceFactory;
 import org.apache.camel.spi.EndpointStrategy;
 import org.apache.camel.spi.EndpointUriFactory;
 import org.apache.camel.spi.EventNotifier;
@@ -488,22 +487,6 @@ class DefaultCamelContextExtension implements ExtendedCamelContext {
         camelContext.reactiveExecutor = camelContext.getInternalServiceManager().addService(reactiveExecutor, false);
     }
 
-    @Override
-    public DeferServiceFactory getDeferServiceFactory() {
-        if (camelContext.deferServiceFactory == null) {
-            synchronized (camelContext.lock) {
-                if (camelContext.deferServiceFactory == null) {
-                    setDeferServiceFactory(camelContext.createDeferServiceFactory());
-                }
-            }
-        }
-        return camelContext.deferServiceFactory;
-    }
-
-    public void setDeferServiceFactory(DeferServiceFactory deferServiceFactory) {
-        camelContext.deferServiceFactory = deferServiceFactory;
-    }
-
     @Override
     public AnnotationBasedProcessorFactory getAnnotationBasedProcessorFactory() {
         if (camelContext.annotationBasedProcessorFactory == null) {
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 0bba3fec553..0f1916a275a 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
@@ -27,8 +27,6 @@ public class ExtendedCamelContextConfigurer extends org.apache.camel.support.com
         case "BasePackageScan": target.setBasePackageScan(property(camelContext, java.lang.String.class, value)); return true;
         case "bootstrapfactoryfinder":
         case "BootstrapFactoryFinder": target.setBootstrapFactoryFinder(property(camelContext, org.apache.camel.spi.FactoryFinder.class, value)); return true;
-        case "deferservicefactory":
-        case "DeferServiceFactory": target.setDeferServiceFactory(property(camelContext, org.apache.camel.spi.DeferServiceFactory.class, value)); return true;
         case "description":
         case "Description": target.setDescription(property(camelContext, java.lang.String.class, value)); return true;
         case "errorhandlerfactory":
@@ -66,8 +64,6 @@ public class ExtendedCamelContextConfigurer extends org.apache.camel.support.com
         case "BasePackageScan": return java.lang.String.class;
         case "bootstrapfactoryfinder":
         case "BootstrapFactoryFinder": return org.apache.camel.spi.FactoryFinder.class;
-        case "deferservicefactory":
-        case "DeferServiceFactory": return org.apache.camel.spi.DeferServiceFactory.class;
         case "description":
         case "Description": return java.lang.String.class;
         case "errorhandlerfactory":
@@ -106,8 +102,6 @@ public class ExtendedCamelContextConfigurer extends org.apache.camel.support.com
         case "BasePackageScan": return target.getBasePackageScan();
         case "bootstrapfactoryfinder":
         case "BootstrapFactoryFinder": return target.getBootstrapFactoryFinder();
-        case "deferservicefactory":
-        case "DeferServiceFactory": return target.getDeferServiceFactory();
         case "description":
         case "Description": return target.getDescription();
         case "errorhandlerfactory":
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 7d64d2a522f..d802ce22560 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
@@ -38,7 +38,6 @@ import org.apache.camel.Service;
 import org.apache.camel.ServiceStatus;
 import org.apache.camel.spi.AnnotationBasedProcessorFactory;
 import org.apache.camel.spi.BootstrapCloseable;
-import org.apache.camel.spi.DeferServiceFactory;
 import org.apache.camel.spi.EndpointStrategy;
 import org.apache.camel.spi.EndpointUriFactory;
 import org.apache.camel.spi.ExchangeFactory;
@@ -229,16 +228,6 @@ class LightweightCamelContextExtension implements ExtendedCamelContext {
         throw new UnsupportedOperationException();
     }
 
-    @Override
-    public DeferServiceFactory getDeferServiceFactory() {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public void setDeferServiceFactory(DeferServiceFactory deferServiceFactory) {
-        throw new UnsupportedOperationException();
-    }
-
     @Override
     public AnnotationBasedProcessorFactory getAnnotationBasedProcessorFactory() {
         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 bf525e42307..e9083557545 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
@@ -34,6 +34,7 @@ import org.apache.camel.spi.ComponentNameResolver;
 import org.apache.camel.spi.ComponentResolver;
 import org.apache.camel.spi.ConfigurerResolver;
 import org.apache.camel.spi.DataFormatResolver;
+import org.apache.camel.spi.DeferServiceFactory;
 import org.apache.camel.spi.FactoryFinderResolver;
 import org.apache.camel.spi.InterceptEndpointFactory;
 import org.apache.camel.spi.InternalProcessorFactory;
@@ -576,4 +577,18 @@ public final class PluginHelper {
     public static ModelToXMLDumper getModelToXMLDumper(ExtendedCamelContext extendedCamelContext) {
         return extendedCamelContext.getContextPlugin(ModelToXMLDumper.class);
     }
+
+    /**
+     * Gets the {@link DeferServiceFactory} to use.
+     */
+    public static DeferServiceFactory getDeferServiceFactory(CamelContext camelContext) {
+        return getDeferServiceFactory(camelContext.getCamelContextExtension());
+    }
+
+    /**
+     * Gets the {@link DeferServiceFactory} to use.
+     */
+    public static DeferServiceFactory getDeferServiceFactory(ExtendedCamelContext extendedCamelContext) {
+        return extendedCamelContext.getContextPlugin(DeferServiceFactory.class);
+    }
 }


[camel] 02/02: CAMEL-15105: make the AnnotationBasedProcessorFactory a plugin of the context

Posted by or...@apache.org.
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 5483a4a31dbc164546d1dbafe925724e19006e9d
Author: Otavio Rodolfo Piske <an...@gmail.com>
AuthorDate: Mon Apr 3 16:30:47 2023 +0200

    CAMEL-15105: make the AnnotationBasedProcessorFactory a plugin of the context
---
 .../org/apache/camel/component/bean/MethodInfo.java     |  7 ++++---
 .../java/org/apache/camel/ExtendedCamelContext.java     | 11 -----------
 .../apache/camel/impl/engine/AbstractCamelContext.java  |  2 +-
 .../camel/impl/engine/DefaultCamelContextExtension.java | 17 -----------------
 .../camel/impl/ExtendedCamelContextConfigurer.java      |  6 ------
 .../camel/impl/lw/LightweightCamelContextExtension.java | 11 -----------
 .../java/org/apache/camel/support/PluginHelper.java     | 16 ++++++++++++++++
 7 files changed, 21 insertions(+), 49 deletions(-)

diff --git a/components/camel-bean/src/main/java/org/apache/camel/component/bean/MethodInfo.java b/components/camel-bean/src/main/java/org/apache/camel/component/bean/MethodInfo.java
index 1cf57a77722..0a402f2e334 100644
--- a/components/camel-bean/src/main/java/org/apache/camel/component/bean/MethodInfo.java
+++ b/components/camel-bean/src/main/java/org/apache/camel/component/bean/MethodInfo.java
@@ -54,6 +54,7 @@ import org.apache.camel.support.ExchangeHelper;
 import org.apache.camel.support.ExpressionAdapter;
 import org.apache.camel.support.MessageHelper;
 import org.apache.camel.support.ObjectHelper;
+import org.apache.camel.support.PluginHelper;
 import org.apache.camel.support.service.ServiceHelper;
 import org.apache.camel.util.StringHelper;
 import org.apache.camel.util.StringQuoteHelper;
@@ -132,7 +133,7 @@ public class MethodInfo {
         org.apache.camel.RoutingSlip routingSlipAnnotation
                 = (org.apache.camel.RoutingSlip) collectedMethodAnnotation.get(org.apache.camel.RoutingSlip.class);
         if (routingSlipAnnotation != null) {
-            routingSlip = camelContext.getCamelContextExtension().getAnnotationBasedProcessorFactory()
+            routingSlip = PluginHelper.getAnnotationBasedProcessorFactory(camelContext)
                     .createRoutingSlip(camelContext, routingSlipAnnotation);
             // add created routingSlip as a service so we have its lifecycle managed
             try {
@@ -145,7 +146,7 @@ public class MethodInfo {
         org.apache.camel.DynamicRouter dynamicRouterAnnotation
                 = (org.apache.camel.DynamicRouter) collectedMethodAnnotation.get(org.apache.camel.DynamicRouter.class);
         if (dynamicRouterAnnotation != null) {
-            dynamicRouter = camelContext.getCamelContextExtension().getAnnotationBasedProcessorFactory()
+            dynamicRouter = PluginHelper.getAnnotationBasedProcessorFactory(camelContext)
                     .createDynamicRouter(camelContext, dynamicRouterAnnotation);
             // add created dynamicRouter as a service so we have its lifecycle managed
             try {
@@ -158,7 +159,7 @@ public class MethodInfo {
         org.apache.camel.RecipientList recipientListAnnotation
                 = (org.apache.camel.RecipientList) collectedMethodAnnotation.get(org.apache.camel.RecipientList.class);
         if (recipientListAnnotation != null) {
-            recipientList = camelContext.getCamelContextExtension().getAnnotationBasedProcessorFactory()
+            recipientList = PluginHelper.getAnnotationBasedProcessorFactory(camelContext)
                     .createRecipientList(camelContext, recipientListAnnotation);
             // add created recipientList as a service so we have its lifecycle managed
             try {
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 a3940f1f9b6..375b41825fc 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
@@ -22,7 +22,6 @@ import java.util.Set;
 import java.util.function.Supplier;
 
 import org.apache.camel.catalog.RuntimeCamelCatalog;
-import org.apache.camel.spi.AnnotationBasedProcessorFactory;
 import org.apache.camel.spi.BootstrapCloseable;
 import org.apache.camel.spi.EndpointStrategy;
 import org.apache.camel.spi.EndpointUriFactory;
@@ -303,16 +302,6 @@ public interface ExtendedCamelContext {
      */
     FactoryFinder getFactoryFinder(String path);
 
-    /**
-     * Gets the {@link AnnotationBasedProcessorFactory} to use.
-     */
-    AnnotationBasedProcessorFactory getAnnotationBasedProcessorFactory();
-
-    /**
-     * Sets a custom {@link AnnotationBasedProcessorFactory} to use.
-     */
-    void setAnnotationBasedProcessorFactory(AnnotationBasedProcessorFactory annotationBasedProcessorFactory);
-
     /**
      * Adds the given interceptor strategy
      *
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 abce5f670db..2f2580ce098 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
@@ -204,7 +204,6 @@ public abstract class AbstractCamelContext extends BaseService
 
     final Object lock = new Object();
     final RouteController internalRouteController = new InternalRouteController(this);
-    volatile AnnotationBasedProcessorFactory annotationBasedProcessorFactory;
     volatile ReactiveExecutor reactiveExecutor;
     volatile Registry registry;
     volatile ManagementStrategy managementStrategy;
@@ -379,6 +378,7 @@ public abstract class AbstractCamelContext extends BaseService
         camelContextExtension.lazyAddContextPlugin(BeanProcessorFactory.class, this::createBeanProcessorFactory);
         camelContextExtension.lazyAddContextPlugin(ModelToXMLDumper.class, this::createModelToXMLDumper);
         camelContextExtension.lazyAddContextPlugin(DeferServiceFactory.class, this::createDeferServiceFactory);
+        camelContextExtension.lazyAddContextPlugin(AnnotationBasedProcessorFactory.class, this::createAnnotationBasedProcessorFactory);
 
         if (build) {
             try {
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 013254cf89f..7854f12f610 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
@@ -35,7 +35,6 @@ import org.apache.camel.ResolveEndpointFailedException;
 import org.apache.camel.Route;
 import org.apache.camel.RuntimeCamelException;
 import org.apache.camel.Service;
-import org.apache.camel.spi.AnnotationBasedProcessorFactory;
 import org.apache.camel.spi.BootstrapCloseable;
 import org.apache.camel.spi.Debugger;
 import org.apache.camel.spi.DebuggerFactory;
@@ -487,22 +486,6 @@ class DefaultCamelContextExtension implements ExtendedCamelContext {
         camelContext.reactiveExecutor = camelContext.getInternalServiceManager().addService(reactiveExecutor, false);
     }
 
-    @Override
-    public AnnotationBasedProcessorFactory getAnnotationBasedProcessorFactory() {
-        if (camelContext.annotationBasedProcessorFactory == null) {
-            synchronized (camelContext.lock) {
-                if (camelContext.annotationBasedProcessorFactory == null) {
-                    setAnnotationBasedProcessorFactory(camelContext.createAnnotationBasedProcessorFactory());
-                }
-            }
-        }
-        return camelContext.annotationBasedProcessorFactory;
-    }
-
-    public void setAnnotationBasedProcessorFactory(AnnotationBasedProcessorFactory annotationBasedProcessorFactory) {
-        camelContext.annotationBasedProcessorFactory = annotationBasedProcessorFactory;
-    }
-
     @Override
     public RouteController getInternalRouteController() {
         return camelContext.internalRouteController;
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 0f1916a275a..91e4bd7b0f2 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
@@ -21,8 +21,6 @@ public class ExtendedCamelContextConfigurer extends org.apache.camel.support.com
     public boolean configure(CamelContext camelContext, Object obj, String name, Object value, boolean ignoreCase) {
         org.apache.camel.ExtendedCamelContext target = (org.apache.camel.ExtendedCamelContext) obj;
         switch (ignoreCase ? name.toLowerCase() : name) {
-        case "annotationbasedprocessorfactory":
-        case "AnnotationBasedProcessorFactory": target.setAnnotationBasedProcessorFactory(property(camelContext, org.apache.camel.spi.AnnotationBasedProcessorFactory.class, value)); return true;
         case "basepackagescan":
         case "BasePackageScan": target.setBasePackageScan(property(camelContext, java.lang.String.class, value)); return true;
         case "bootstrapfactoryfinder":
@@ -58,8 +56,6 @@ public class ExtendedCamelContextConfigurer extends org.apache.camel.support.com
     @Override
     public Class<?> getOptionType(String name, boolean ignoreCase) {
         switch (ignoreCase ? name.toLowerCase() : name) {
-        case "annotationbasedprocessorfactory":
-        case "AnnotationBasedProcessorFactory": return org.apache.camel.spi.AnnotationBasedProcessorFactory.class;
         case "basepackagescan":
         case "BasePackageScan": return java.lang.String.class;
         case "bootstrapfactoryfinder":
@@ -96,8 +92,6 @@ public class ExtendedCamelContextConfigurer extends org.apache.camel.support.com
     public Object getOptionValue(Object obj, String name, boolean ignoreCase) {
         org.apache.camel.ExtendedCamelContext target = (org.apache.camel.ExtendedCamelContext) obj;
         switch (ignoreCase ? name.toLowerCase() : name) {
-        case "annotationbasedprocessorfactory":
-        case "AnnotationBasedProcessorFactory": return target.getAnnotationBasedProcessorFactory();
         case "basepackagescan":
         case "BasePackageScan": return target.getBasePackageScan();
         case "bootstrapfactoryfinder":
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 d802ce22560..a93330ad9c9 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
@@ -36,7 +36,6 @@ import org.apache.camel.ResolveEndpointFailedException;
 import org.apache.camel.Route;
 import org.apache.camel.Service;
 import org.apache.camel.ServiceStatus;
-import org.apache.camel.spi.AnnotationBasedProcessorFactory;
 import org.apache.camel.spi.BootstrapCloseable;
 import org.apache.camel.spi.EndpointStrategy;
 import org.apache.camel.spi.EndpointUriFactory;
@@ -228,16 +227,6 @@ class LightweightCamelContextExtension implements ExtendedCamelContext {
         throw new UnsupportedOperationException();
     }
 
-    @Override
-    public AnnotationBasedProcessorFactory getAnnotationBasedProcessorFactory() {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public void setAnnotationBasedProcessorFactory(AnnotationBasedProcessorFactory annotationBasedProcessorFactory) {
-        throw new UnsupportedOperationException();
-    }
-
     @Override
     public List<InterceptStrategy> getInterceptStrategies() {
         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 e9083557545..37e6ac4679b 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
@@ -24,6 +24,7 @@ import org.apache.camel.ExtendedCamelContext;
 import org.apache.camel.catalog.RuntimeCamelCatalog;
 import org.apache.camel.console.DevConsoleResolver;
 import org.apache.camel.health.HealthCheckResolver;
+import org.apache.camel.spi.AnnotationBasedProcessorFactory;
 import org.apache.camel.spi.AsyncProcessorAwaitManager;
 import org.apache.camel.spi.BeanIntrospection;
 import org.apache.camel.spi.BeanProcessorFactory;
@@ -591,4 +592,19 @@ public final class PluginHelper {
     public static DeferServiceFactory getDeferServiceFactory(ExtendedCamelContext extendedCamelContext) {
         return extendedCamelContext.getContextPlugin(DeferServiceFactory.class);
     }
+
+    /**
+     * Gets the {@link AnnotationBasedProcessorFactory} to use.
+     */
+    public static AnnotationBasedProcessorFactory getAnnotationBasedProcessorFactory(CamelContext camelContext) {
+        return getAnnotationBasedProcessorFactory(camelContext.getCamelContextExtension());
+    }
+
+    /**
+     * Gets the {@link AnnotationBasedProcessorFactory} to use.
+     */
+    public static AnnotationBasedProcessorFactory getAnnotationBasedProcessorFactory(
+            ExtendedCamelContext extendedCamelContext) {
+        return extendedCamelContext.getContextPlugin(AnnotationBasedProcessorFactory.class);
+    }
 }