You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "Luigi De Masi (Jira)" <ji...@apache.org> on 2026/06/16 17:11:00 UTC
[jira] [Created] (CAMEL-23775) Add YAML DSL extension point for component-provided route step deserializers
Luigi De Masi created CAMEL-23775:
-------------------------------------
Summary: Add YAML DSL extension point for component-provided route step deserializers
Key: CAMEL-23775
URL: https://issues.apache.org/jira/browse/CAMEL-23775
Project: Camel
Issue Type: Improvement
Components: dsl
Reporter: Luigi De Masi
Assignee: Luigi De Masi
Camel YAML DSL currently supports built-in route model deserializers and custom resolvers registered in the Camel registry. However, optional Camel modules do not have a simple generic way to contribute YAML route step deserializers automatically when the module is present on the classpath.
This makes it difficult for an optional module to expose a custom YAML route step without requiring changes in the YAML DSL module itself or requiring users to manually register YAML resolver beans before route parsing.
This improvement proposes adding a YAML-only extension point that allows optional modules to provide YAML route step deserializers in a discoverable way.
The goal is to let an optional module contribute support for a custom YAML step name, map that YAML node to a Camel route model definition, and then rely on the existing model/reifier/ProcessorFactory mechanisms for runtime behavior.
The implementation should:
* allow optional modules to contribute `YamlDeserializerResolver` implementations;
* discover those resolvers before YAML routes are parsed;
* preserve the existing built-in YAML DSL behavior;
* preserve existing registry-based resolver lookup;
* support ordering or precedence when multiple resolvers are available;
* allow custom YAML steps to contain nested steps when the target model definition supports them;
* avoid hard-coding component-specific step names in the YAML DSL module.
Acceptance criteria:
* A test or sample optional module can provide a custom YAML route step deserializer.
* The custom YAML step is discovered automatically when the module is available.
* The custom YAML step can be parsed into a Camel route model definition.
* Nested YAML `steps` are supported when the custom model definition supports child outputs.
* Existing YAML routes and built-in EIPs continue to parse unchanged.
* Resolver ordering/precedence is deterministic.
* The extension mechanism is documented for component authors.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)