分割符报文插件(SplitFilter)

插件配置

  • 配置声明在commons.xml中
<filter id="splitFilter" class="SplitFilter">
            <parameter name="split_strategy" value="|"/>
        </filter>
属性 说明
id 插件声明定义的id
class 声明的插件类名
  • 子节点parameter:配置参数项。用来指定分隔策略
属性 描述 值类型 示例
Name 标识 string split_strategy表示分隔策略
value string 当前字段的值

属性配置

filter属性

属性 描述 值类型 示例
ref 引用 string 引用已经定义好的filter对象
type 数据流向 string in、out

filed属性

filter中处理的操作单个数据域,用于从数据报中提取填充特定位置的数据。

属性 描述 值类型 示例
tag 标识 string filter中字段的标识,作为key存入上下文;
etag 特殊标志 string 变长有分隔符的etag表示第几个域,etag的值从0开始。
value string 当前字段的值;

使用规则

  • 子节点foreach、while、if、else、elseif之间支持多层嵌套使用。
  • 属性ref为必配项,其他为可选项,必须正确指定到filters中的定义的Splitfilter的id属性;
  • 此处引用的filter与filters中定义的filter在节点上存在明显差异,定义的filter只有parameter子节点(用来指定分隔策略),而此处无parameter子节点;
  • 需要特别注意数据流向的配置,in代表输入流,out代表输出流,针对in、out存在不同的处理;

组装变长有分隔符报文

  • Type为out指报文组包

1666073561960

输出:

1666073607557

解析变长有分隔符报文

  • 使用SplitFilter进行变长有分隔符字符串报文的组装和解析。需要指定分隔策略。
  • tips:变长有分隔符的etag表示第几个域,etag的值从0开始。

1666073976286

对测试数据:aaa|dd|cccgg进行解报

输出:

1666074062228

results matching ""

    No results matching ""