You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "Guillaume Nodet (Jira)" <ji...@apache.org> on 2026/10/08 06:07:00 UTC
[jira] [Work started] (CAMEL-25428) camel-jbang - dev mode reload keeps the old instance of a bean whose Java source changed
[ https://issues.apache.org/jira/browse/CAMEL-25428?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Work on CAMEL-25428 started by Guillaume Nodet.
-----------------------------------------------
> camel-jbang - dev mode reload keeps the old instance of a bean whose Java source changed
> ----------------------------------------------------------------------------------------
>
> Key: CAMEL-25428
> URL: https://issues.apache.org/jira/browse/CAMEL-25428
> Project: Camel
> Issue Type: Bug
> Components: camel-jbang
> Reporter: Claus Ibsen
> Assignee: Guillaume Nodet
> Priority: Major
>
> In dev mode (camel run --dev) a Java bean declared in a YAML beans file is recompiled when its source changes, and the routes reload, but the routes keep calling the old bean instance, so the change never takes effect.
> Reproduce with the quick-start/routes example of camel-jbang-examples (routes.camel.yaml, beans.yaml, Greeter.java, application.properties):
> {noformat}
> camel run routes.camel.yaml beans.yaml Greeter.java application.properties --dev
> {noformat}
> beans.yaml declares the bean:
> {noformat}
> - beans:
> - name: greeter
> type: "camel.example.Greeter"
> properties:
> greeting: "{{greeter.greeting}}"
> {noformat}
> Change the return statement of Greeter.java, e.g. to {{return greeting + ", " + name + "!!! CHANGED";}}. The log says:
> {noformat}
> RouteWatcherReloadStrategy : Routes reloaded summary (total:1 started:1)
> RouteWatcherReloadStrategy : Started greeting (timer://greet) (source: routes.camel.yaml:4)
> {noformat}
> but the route goes on logging "Hello, Camel!" from the old Greeter. Nothing says the bean was not replaced.
> Expected: a bean of the beans file whose class changed is created again from the new class on reload (or, if that cannot be done, the reload says that a restart is needed). Verified on 4.23.0-SNAPSHOT.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)