You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "Claus Ibsen (Jira)" <ji...@apache.org> on 2026/10/19 17:45:00 UTC

[jira] [Created] (CAMEL-25834) camel-core - dev mode: a properties file that fails to reload is not reported when another file changed in the same scan

Claus Ibsen created CAMEL-25834:
-----------------------------------

             Summary: camel-core - dev mode: a properties file that fails to reload is not reported when another file changed in the same scan
                 Key: CAMEL-25834
                 URL: https://issues.apache.org/jira/browse/CAMEL-25834
             Project: Camel
          Issue Type: Bug
          Components: camel-core
            Reporter: Claus Ibsen
             Fix For: 4.24.0


Since CAMEL-25041 (4.23.0), the files that change in one scan of the folder are reloaded together. {{RouteWatcherReloadStrategy.onReloadBatch}} applies the properties files first, and then reloads the routes once. When the batch fails, it logs the failure at DEBUG and reloads the files one at a time, so that the file that is wrong is named (CAMEL-24860).

That does not work for a properties file. Its reload fails after the properties component has taken the new values ({{PropertiesComponent.reloadProperties}}), when the configuration in it is applied ({{PropertiesReload.onReload}}). Reloaded on its own, the file has no changes left, so nothing happens and nothing fails. The failure is only in the DEBUG log: no WARN, no failed counter, no reload failure event. The routes reload as if all went well.

Reproduced with {{camel run --source-dir=. --dev}} and the camel launcher built from PR #28123 (CAMEL-25767, which creates the new beans of a reload), by appending to application.properties while the app runs:
{noformat}
camel.jbang.dependencies = com.github.javafaker:javafaker:1.0.2
camel.beans.faker = #class:com.github.javafaker.Faker
{noformat}
* Saved alone: {{WARN FileWatcherResourceReloadStrategy : Error reloading routes from file: application.properties due to: com.github.javafaker.Faker. This exception is ignored.}}, with the {{ClassNotFoundException}} (the class is not downloaded in a reload: CAMEL-25833).
* Saved together with a change to the route: only {{Reloading properties: file:application.properties}} and {{Routes reloaded summary}}. The bean is missing, and the log does not say why.

A coding agent often writes application.properties and a route one after the other, within one scan.

Proposal: in a batch, reload each properties file (and Groovy file) on its own, and report its failure as the reload of a single file does: WARN, failed counter, last error, and the reload failure event. The other files of the batch still reload. Reloading one at a time stays for the route files, where it finds the file that is wrong.

The LTS lines 4.18.x and 4.22.x do not have the batch reload.

Noted first in CAMEL-25833.

_Claude Code on behalf of davsclaus_



--
This message was sent by Atlassian Jira
(v8.20.10#820010)