描述
该处理器使用属性表达式语言,根据流文件的属性去计算然后进行路由。
在下面的列表中,必需属性的名称以粗体显示。任何其他属性(不是粗体)都被认为是可选的,并且指出属性默认值(如果有默认值),以及属性是否支持表达式语言。
属性名称 | 默认值 | 可选值 | 描述 |
---|---|---|---|
Routing Strategy | Route to Property name | Route to Property nameRoute to 'matched' if all matchRoute to 'matched' if any matches | 指定如何确定在计算表达式语言时使用哪个关系 |
指定如何确定在计算表达式语言时使用哪个关系
该处理器允许用户指定属性的名称和值。
属性名称 | 属性值 | 描述 |
---|---|---|
用户自由定义的属性名称(Relationship Name) | 用户自由定义的属性值(Attribute Expression Language) | 将其属性与动态属性值中指定的属性表达式语言相匹配的流文件路由到动态属性键中指定的关系.支持表达式语言:true |
名称 | 描述 |
---|---|
unmatched | 不匹配任何用户定义表达式的流文件将被路由到这里 |
可以根据用户配置处理器的方式创建动态连接关系。
Name | Description |
---|---|
动态属性的属性名 | 匹配动态属性的属性表达式语言的流文件 |
没有指定。
Name | Description |
---|---|
RouteOnAttribute.Route | 流文件路由到的关系 |
此组件不存储状态。
此组件不受限制。
此组件需要传入关系。
没有指定。
该处理器往往用于判断逻辑。
1:判断属性中多个值是否为空,不同判断结果执行不同逻辑
自定义paramError属性,
${lastest.pkName:isEmpty():or(${lastest.pkValue:isEmpty()}):or(${lastest.tsValue:isEmpty()}):or(${lastest.tsName:isEmpty()})}
//意思是四个流文件属性如果有一个为空,则返回true
输入流属性如下,要求非空的属性中有空值:
结果如下:路由到paramError关系
文章有帮助的话,小手一抖点击在看,并转发吧。谢谢支持哟 (*^__^*)