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)

Reply via email to