第 94 章 YAML DSL
从 Camel 3.9 开始
YAML DSL 提供了在 YAML 中定义 Camel 路由、路由模板和 REST DSL 配置的功能。
94.1. 定义路由 复制链接链接已复制到粘贴板!
路由是定义的一组元素,如下所示:
其中,
每个步骤代表一个 YAML 映射,它只有一个条目,其中字段名称是 EIP 名称。
作为常规规则,每个步骤提供相关定义声明的所有参数,但有一些次要区别/授权:
- 输出 Aware Steps
当交换与 过滤器
表达式或
分割表达式匹配时,一些步骤(如 filter 和 split )具有自己的管道。您可以在 steps
字段中定义这些管道:
- 表达式感知步骤
有些 EIP (如 filter
和 split
)支持通过 expression 字段定义 表达式
:
explicit Expression 字段
filter: expression: simple: "${in.header.continue} == true"
filter:
expression:
simple: "${in.header.continue} == true"
要使 DSL 更详细,您可以省略 expression
字段。
隐式表达式字段
filter: simple: "${in.header.continue} == true"
filter:
simple: "${in.header.continue} == true"
通常,可以内联定义表达式,如上例中所示,但是如果您需要提供更多信息,您可以"取消注册"表达式定义并配置表达式定义并配置表达式定义。
完整的表达式定义
filter: tokenize: token: "<" end-token: ">"
filter:
tokenize:
token: "<"
end-token: ">"
- 数据格式 Aware 步骤
EIP marshal
和 unmarshal
支持数据格式的定义:
marshal: json: library: Gson
marshal:
json:
library: Gson
如果要使用 data-format 的默认设置,则需要将空块作为数据格式参数放置,如 json: {}