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

Luigi De Masi updated CAMEL-23791:
----------------------------------
    Component/s: camel-quarkus
                 dsl

> Add Camel Quarkus integration for YAML deserializer resolver provider SPI
> -------------------------------------------------------------------------
>
>                 Key: CAMEL-23791
>                 URL: https://issues.apache.org/jira/browse/CAMEL-23791
>             Project: Camel
>          Issue Type: Improvement
>          Components: camel-quarkus, camel-yaml-dsl, dsl
>            Reporter: Luigi De Masi
>            Priority: Major
>
> CAMEL-23775 adds a generic YAML DSL extension mechanism based on 
> {{YamlDeserializerResolver}} and {{YamlDeserializerResolverProvider}}.
>   The default provider preserves classpath-based discovery for plain Camel 
> usage. In Camel Quarkus, however, runtime classpath scanning is not ideal and 
> is
>   usually unnecessary because extensions can discover and configure metadata 
> at build time.
>   This follow-up should integrate the new YAML deserializer resolver provider 
> SPI with Camel Quarkus.
>   h3. Goal
>   Allow Camel Quarkus to provide YAML deserializer resolvers through a 
> Quarkus-friendly mechanism, avoiding runtime classpath resolver discovery 
> where
>   possible.
>   h3. Implementation notes
>    * Discover available {{YamlDeserializerResolver}} implementations at build 
> time where appropriate.
>    * Register a Camel context plugin of type 
> {{YamlDeserializerResolverProvider}} so YAML DSL uses the Quarkus-provided 
> resolver set instead of the default
>    runtime classpath provider.
>    * Preserve existing behavior for built-in YAML DSL deserializers.
>    * Preserve registry-based resolver lookup where applicable.
>    * Ensure the solution works in JVM mode and native mode.
>    * Avoid adding a generic on/off switch for classpath scanning if the 
> provider SPI can cleanly replace discovery.
>   h3. Acceptance criteria
>    * Camel Quarkus installs a {{YamlDeserializerResolverProvider}} when YAML 
> DSL support is active.
>    * YAML route step deserializers contributed by Camel modules/extensions 
> are available during YAML route parsing.
>    * Runtime classpath scanning for YAML deserializer resolvers is avoided 
> when the Quarkus provider is installed.
>    * Existing YAML routes and built-in EIPs continue to parse unchanged.
>    * Registry-provided {{YamlDeserializerResolver}} instances continue to 
> work where supported.
>    * Tests cover JVM mode.
>    * Tests or native-image coverage verify the integration works in native 
> mode.
>    * No user-facing configuration switch is required for the common Quarkus 
> path.
>   h3. Related
>    * CAMEL-23775



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

Reply via email to