[ 
https://issues.apache.org/jira/browse/CAMEL-24000?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Work on CAMEL-24000 started by Federico Mariani.
------------------------------------------------
> camel-spring-boot - Align core auto-configuration with Spring Boot 4 idioms
> ---------------------------------------------------------------------------
>
>                 Key: CAMEL-24000
>                 URL: https://issues.apache.org/jira/browse/CAMEL-24000
>             Project: Camel
>          Issue Type: Improvement
>          Components: camel-spring-boot
>            Reporter: Federico Mariani
>            Assignee: Federico Mariani
>            Priority: Major
>             Fix For: 4.22.0
>
>
> Modernization of {{core/camel-spring-boot}} following a review against Spring 
> Boot 4.1.x best practices:
> * *MainListener notified exactly once with run controller enabled*: with 
> {{camel.main.run-controller=true}}, {{MainListener}} beans received 
> {{beforeStart}}/{{afterStart}} (and stop callbacks) twice, once from the 
> controller created by {{CamelAutoConfiguration}} (CAMEL-21359) and once from 
> the run controller's internal {{Main}}. The run controller no longer 
> registers the listener beans; a test asserts exactly-once delivery for all 
> seven callbacks.
> * *Remove dead code*: unused {{HierarchicalCondition}} and 
> {{CompositeConversionService}}, unbindable 
> {{ClusteredRouteControllerConfiguration.clusterServiceRef}}, unused import in 
> {{CamelDevConsoleAutoConfiguration}}.
> * *Do not mutate shared @ConfigurationProperties beans*: the trace, error 
> registry and security policy auto-configurations applied dev/prod profile 
> defaults by mutating the injected properties singleton; effective values are 
> now computed locally.
> * *Use @ConditionalOnBooleanProperty* (Spring Boot 3.4+) for the supervising 
> and clustered route controller auto-configurations, dropping the redundant 
> in-method enabled re-check and null @Bean return.
> * *Consolidate the eight vault auto-configurations*: replace hand-written 
> per-field copy chains with {{BeanUtils.copyProperties}} and add a reflection 
> test guarding against drift with the Camel core vault configurations. The 
> test immediately found missing options: {{camel.vault.ibm.refresh-enabled}} 
> and {{camel.vault.ibm.secrets}} were not configurable from Spring Boot; both 
> added.
> * *Bind duration properties as java.time.Duration* with 
> {{@DurationUnit(MILLIS)}} for the supervising route controller delays and 
> startup condition interval/timeout. Plain numeric values keep meaning 
> milliseconds; values such as {{5s}} are now supported. Note: the getters of 
> the affected properties classes change type from {{long}}/{{int}} to 
> {{Duration}}.
> _Claude Code on behalf of Federico Mariani._



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

Reply via email to