[
https://issues.apache.org/jira/browse/CAMEL-23897?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18093593#comment-18093593
]
Claus Ibsen commented on CAMEL-23897:
-------------------------------------
quarkus ticket: https://github.com/apache/camel-quarkus/issues/8825
> PropertiesDevConsole should show application properties from all runtimes
> (Spring Boot, Quarkus)
> ------------------------------------------------------------------------------------------------
>
> Key: CAMEL-23897
> URL: https://issues.apache.org/jira/browse/CAMEL-23897
> Project: Camel
> Issue Type: Improvement
> Components: camel-spring-boot
> Reporter: Claus Ibsen
> Priority: Major
> Fix For: 4.22.0
>
>
> The PropertiesDevConsole (Configuration tab in camel-tui) is empty for Spring
> Boot and Quarkus apps because PropertiesComponent.loadProperties() only
> returns properties from Camel own sources (initialProperties, .properties
> files, overrideProperties). Application properties live in Spring Environment
> / SmallRye Config and are not enumerable through Camel PropertiesComponent.
> For JBang/standalone Camel, all properties go through Camel
> PropertiesComponent so the dev console works fine.
> h3. Constraints
> *Cannot register a LoadablePropertiesSource wrapping the runtime
> environment:* DefaultPropertiesLookup iterates all sources for placeholder
> resolution, so it would conflict with SpringPropertiesParser / SmallRye and
> cause double-resolution or precedence issues.
> *Cannot override the dev console:* DefaultDevConsoleRegistry.register()
> rejects duplicates (returns false if a console with the same ID exists).
> *Unregister+register per runtime is messy:* Would need the same dance in both
> camel-spring-boot and camel-quarkus auto configuration.
> h3. Recommended approach
> Add an SPI in camel-api, e.g. PropertiesEnumerator, that runtimes can
> implement to contribute additional properties for display purposes only.
> PropertiesDevConsole would query all PropertiesEnumerator instances from the
> CamelContext registry alongside loadProperties(). Each runtime just registers
> one bean:
> * camel-spring-boot: enumerates EnumerablePropertySource entries from
> ConfigurableEnvironment
> * camel-quarkus: enumerates SmallRye Config properties
> No console replacement or override needed. The SPI is read-only and does not
> affect placeholder resolution.
> The console should show ALL application properties (not just camel.*),
> matching what the standalone Camel dev console already does.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)