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

Luigi De Masi updated CAMEL-23790:
----------------------------------
    Component/s: camel-spring-boot

>  Add Camel Spring Boot integration for YAML deserializer resolver provider SPI
> ------------------------------------------------------------------------------
>
>                 Key: CAMEL-23790
>                 URL: https://issues.apache.org/jira/browse/CAMEL-23790
>             Project: Camel
>          Issue Type: Improvement
>          Components: camel-spring-boot, camel-yaml-dsl, dsl
>            Reporter: Luigi De Masi
>            Assignee: Luigi De Masi
>            Priority: Major
>
> CAMEL-23775 adds a generic YAML DSL extension mechanism based on 
> {{YamlDeserializerResolver}} and {{YamlDeserializerResolverProvider}}.
>   The default YAML DSL behavior still works for normal Camel Spring Boot 
> applications because the default provider keeps classpath-based resolver 
> discovery.
>   However, Camel Spring Boot does not currently provide a Spring 
> Boot-specific integration point for configuring or replacing the resolver 
> provider.
>   This follow-up should add Camel Spring Boot integration for the new 
> provider SPI.
>   h3. Goal
>   Allow Spring Boot applications and starters to configure YAML deserializer 
> resolver discovery through normal Spring Boot mechanisms, while ensuring the
>   provider is installed before YAML routes are parsed.
>   h3. Implementation notes
>    * If a Spring bean of type {{YamlDeserializerResolverProvider}} is 
> available, Camel Spring Boot should install it as a Camel context plugin.
>    * The installation should happen early enough, before YAML route 
> parsing/route collection.
>    * {{CamelContextCustomizer}} is likely the appropriate integration point 
> because it is applied during Camel context configuration before routes are 
> loaded.
>    * {{CamelContextConfiguration.beforeApplicationStart}} should not be used 
> for this because it runs after route configuration.
>    * The default behavior should remain unchanged when no custom provider 
> bean is present.
>    * Spring Boot native/AOT implications should be evaluated. If needed, this 
> issue may add runtime hints or document how applications/starters should 
> provide
>    hints for custom resolver implementations.
>   h3. Acceptance criteria
>    * A Spring Boot application can provide a 
> {{YamlDeserializerResolverProvider}} bean.
>    * Camel Spring Boot installs that provider as a Camel context plugin 
> before YAML routes are parsed.
>    * Custom YAML route step deserializers provided through the provider can 
> be used by YAML routes.
>    * Existing classpath-based resolver discovery continues to work when no 
> provider bean is configured.
>    * Existing registry-based {{YamlDeserializerResolver}} lookup continues to 
> work.
>    * Tests cover provider bean registration and YAML route parsing with a 
> custom step.
>    * Native/AOT behavior is either supported with appropriate hints or 
> explicitly documented.
>   h3. Related
>    * CAMEL-23775



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

Reply via email to