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

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


The following commit(s) were added to refs/heads/camel-3.18.x by this push:
     new 23b02f9e497 camel-jbang - Hot reload of beans in yaml-dsl
23b02f9e497 is described below

commit 23b02f9e4974dfd0d4f32728de8d06a2fd8b33d6
Author: Claus Ibsen <[email protected]>
AuthorDate: Wed Aug 3 13:14:55 2022 +0200

    camel-jbang - Hot reload of beans in yaml-dsl
---
 .../org/apache/camel/dsl/yaml/deserializers/BeansDeserializer.java   | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git 
a/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/src/main/java/org/apache/camel/dsl/yaml/deserializers/BeansDeserializer.java
 
b/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/src/main/java/org/apache/camel/dsl/yaml/deserializers/BeansDeserializer.java
index 7432d2f38e7..c29a6fc66d7 100644
--- 
a/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/src/main/java/org/apache/camel/dsl/yaml/deserializers/BeansDeserializer.java
+++ 
b/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/src/main/java/org/apache/camel/dsl/yaml/deserializers/BeansDeserializer.java
@@ -60,8 +60,11 @@ public class BeansDeserializer extends 
YamlDeserializerSupport implements Constr
                 @Override
                 public void configure(CamelContext camelContext) {
                     try {
+                        // to support hot reloading of beans then we need to 
unbind old existing first
+                        String name = bean.getName();
+                        camelContext.getRegistry().unbind(name);
                         camelContext.getRegistry().bind(
-                                bean.getName(),
+                                name,
                                 bean.newInstance(camelContext));
                     } catch (Exception e) {
                         throw new RuntimeException(e);

Reply via email to