You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2022/02/01 17:39:11 UTC

[camel] 11/13: CAMEL-17571: camel-core - Add SPI for dependency injection annotations which allows to plugin custom behaviour.

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

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

commit 97e384adb50615c70cca1d43c91b90ae9d02702b
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Tue Feb 1 18:12:25 2022 +0100

    CAMEL-17571: camel-core - Add SPI for dependency injection annotations which allows to plugin custom behaviour.
---
 .../camel/spi/CamelDependencyInjectionAnnotationFactory.java |  3 ++-
 .../camel/impl/engine/DefaultCamelBeanPostProcessor.java     | 12 ++++++------
 .../engine/DefaultDependencyInjectionAnnotationFactory.java  |  5 +----
 3 files changed, 9 insertions(+), 11 deletions(-)

diff --git a/core/camel-api/src/main/java/org/apache/camel/spi/CamelDependencyInjectionAnnotationFactory.java b/core/camel-api/src/main/java/org/apache/camel/spi/CamelDependencyInjectionAnnotationFactory.java
index 8713a15..6e68dc6 100644
--- a/core/camel-api/src/main/java/org/apache/camel/spi/CamelDependencyInjectionAnnotationFactory.java
+++ b/core/camel-api/src/main/java/org/apache/camel/spi/CamelDependencyInjectionAnnotationFactory.java
@@ -31,7 +31,8 @@ public interface CamelDependencyInjectionAnnotationFactory {
      * @param bean            the bean instance
      * @param beanName        the bean name
      * @param beanPostProcess whether bean post processor should be performed
+     * @return the created task to use for binding the bean
      */
-    Supplier<Void> createBindToRegistryFactory(String id, Object bean, String beanName, boolean beanPostProcess);
+    Runnable createBindToRegistryFactory(String id, Object bean, String beanName, boolean beanPostProcess);
 
 }
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 24e02ee..37c863c 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
@@ -476,9 +476,9 @@ public class DefaultCamelBeanPostProcessor implements CamelBeanPostProcessor, Ca
         }
 
         // use dependency injection factory to perform the task of binding the bean to registry
-        Supplier<Void> task = getOrLookupCamelContext().adapt(ExtendedCamelContext.class)
+        Runnable task = getOrLookupCamelContext().adapt(ExtendedCamelContext.class)
                 .getDependencyInjectionAnnotationFactory().createBindToRegistryFactory(name, bean, beanName, beanPostProcess);
-        task.get();
+        task.run();
     }
 
     private void bindToRegistry(Field field, String name, Object bean, String beanName, boolean beanPostProcess) {
@@ -489,10 +489,10 @@ public class DefaultCamelBeanPostProcessor implements CamelBeanPostProcessor, Ca
 
         // use dependency injection factory to perform the task of binding the bean to registry
         if (value != null) {
-            Supplier<Void> task = getOrLookupCamelContext().adapt(ExtendedCamelContext.class)
+            Runnable task = getOrLookupCamelContext().adapt(ExtendedCamelContext.class)
                     .getDependencyInjectionAnnotationFactory()
                     .createBindToRegistryFactory(name, value, beanName, beanPostProcess);
-            task.get();
+            task.run();
         }
     }
 
@@ -516,10 +516,10 @@ public class DefaultCamelBeanPostProcessor implements CamelBeanPostProcessor, Ca
         }
         // use dependency injection factory to perform the task of binding the bean to registry
         if (value != null) {
-            Supplier<Void> task = getOrLookupCamelContext().adapt(ExtendedCamelContext.class)
+            Runnable task = getOrLookupCamelContext().adapt(ExtendedCamelContext.class)
                     .getDependencyInjectionAnnotationFactory()
                     .createBindToRegistryFactory(name, value, beanName, beanPostProcess);
-            task.get();
+            task.run();
         }
     }
 
diff --git a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultDependencyInjectionAnnotationFactory.java b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultDependencyInjectionAnnotationFactory.java
index 7687d38..f963430 100644
--- a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultDependencyInjectionAnnotationFactory.java
+++ b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultDependencyInjectionAnnotationFactory.java
@@ -16,8 +16,6 @@
  */
 package org.apache.camel.impl.engine;
 
-import java.util.function.Supplier;
-
 import org.apache.camel.CamelContext;
 import org.apache.camel.CamelContextAware;
 import org.apache.camel.ExtendedCamelContext;
@@ -47,7 +45,7 @@ public class DefaultDependencyInjectionAnnotationFactory
     }
 
     @Override
-    public Supplier<Void> createBindToRegistryFactory(String id, Object bean, String beanName, boolean beanPostProcess) {
+    public Runnable createBindToRegistryFactory(String id, Object bean, String beanName, boolean beanPostProcess) {
         return () -> {
             if (beanPostProcess) {
                 try {
@@ -61,7 +59,6 @@ public class DefaultDependencyInjectionAnnotationFactory
             }
             CamelContextAware.trySetCamelContext(bean, camelContext);
             camelContext.getRegistry().bind(id, bean);
-            return null;
         };
     }
 }