[
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)