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);
}