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 2024/08/29 14:20:39 UTC

(camel) branch init-destroy updated: CAMEL-21140: camel-core - Add init/destroy method support for registry bind

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

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


The following commit(s) were added to refs/heads/init-destroy by this push:
     new dbae4e4d971 CAMEL-21140: camel-core - Add init/destroy method support for registry bind
dbae4e4d971 is described below

commit dbae4e4d971c936a9ffd4915fb7fac5449b80919
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Thu Aug 29 16:19:54 2024 +0200

    CAMEL-21140: camel-core - Add init/destroy method support for registry bind
---
 .../camel/impl/engine/DefaultDependencyInjectionAnnotationFactory.java | 1 -
 .../src/main/java/org/apache/camel/support/DefaultRegistry.java        | 3 ++-
 2 files changed, 2 insertions(+), 2 deletions(-)

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 fe6899f5b48..6344ae89373 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
@@ -64,7 +64,6 @@ public class DefaultDependencyInjectionAnnotationFactory
             }
             CamelContextAware.trySetCamelContext(bean, camelContext);
             if (bean instanceof Supplier) {
-                // TODO: supplier/lazy does not support init/destroy
                 // must be Supplier<Object> to ensure correct binding
                 Supplier<Object> sup = (Supplier<Object>) bean;
                 camelContext.getRegistry().bind(id, beanType, sup);
diff --git a/core/camel-support/src/main/java/org/apache/camel/support/DefaultRegistry.java b/core/camel-support/src/main/java/org/apache/camel/support/DefaultRegistry.java
index b9036124e6e..598a5900534 100644
--- a/core/camel-support/src/main/java/org/apache/camel/support/DefaultRegistry.java
+++ b/core/camel-support/src/main/java/org/apache/camel/support/DefaultRegistry.java
@@ -224,6 +224,7 @@ public class DefaultRegistry extends ServiceSupport implements Registry, LocalBe
     public void unbind(String id) {
         supplierRegistry.unbind(id);
         fallbackRegistry.unbind(id);
+        // destroy on unbind
         destroyBean(id, true);
     }
 
@@ -429,7 +430,7 @@ public class DefaultRegistry extends ServiceSupport implements Registry, LocalBe
             IOHelper.close(closeable);
         }
         ServiceHelper.stopAndShutdownServices(supplierRegistry, fallbackRegistry);
-        // beans should trigger destroy methods on shutdown
+        // destroy beans on shutdown
         for (String name : beansToDestroy.keySet()) {
             destroyBean(name, false);
         }