[
https://issues.apache.org/jira/browse/CAMEL-25834?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Claus Ibsen reassigned CAMEL-25834:
-----------------------------------
Assignee: Claus Ibsen
> 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
> Assignee: Claus Ibsen
> Priority: Minor
> 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)