Claus Ibsen created CAMEL-26320:
-----------------------------------
Summary: camel-main - a properties file that changed in dev mode
applies its camel.resilience4j and camel.faulttolerance keys
Key: CAMEL-26320
URL: https://issues.apache.org/jira/browse/CAMEL-26320
Project: Camel
Issue Type: Improvement
Components: camel-main
Reporter: Claus Ibsen
Assignee: Claus Ibsen
Fix For: 4.24.0
With live reloading (camel run --dev), a change to application.properties
applies its camel.component.*, camel.dataformat.*, camel.language.* and new
camel.beans.* keys (CAMEL-25767), but not the defaults of the circuit breakers:
camel.resilience4j.* and camel.faulttolerance.* were read only when the
application started. Settings such as slidingWindowSize, minimumNumberOfCalls,
failureRateThreshold and waitDurationInOpenState are hard to get right without
trying them, and a restart for each try slows this down.
A properties reload already creates the routes again after it applies the
configuration, and a circuit breaker reads the defaults when its route is
created (it also removes its breaker from the registry when it stops). So the
reload now binds the camel.resilience4j.* and camel.faulttolerance.* keys that
are new or changed onto the default configurations of the model, as at startup,
and the circuit breakers of the re-created routes use them.
Checked with camel run --dev: a circuit breaker that always fails, started with
minimumNumberOfCalls=1000, stays CLOSED. After application.properties is saved
with minimumNumberOfCalls=2, it opens without a restart. Before this change it
stayed CLOSED.
A key that is removed from the file keeps its value until a restart, as a
reload passes the keys that are new or changed.
This came up in the local-model benchmark of Oct 25-26 2026, where models wrote
these keys to application.properties to configure a circuit breaker
(CAMEL-26316).
_Filed by Claude Code on behalf of davsclaus_
--
This message was sent by Atlassian Jira
(v10.3.26#10030026)