Luigi De Masi created CAMEL-23791:
-------------------------------------
Summary: 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-yaml-dsl
Reporter: Luigi De Masi
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)