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)

Reply via email to