定长报文插件(FixedFilter)

插件配置

  • 配置声明在commons.xml中
<filter id="fixedFilter" class="FixedFilter"/><!-- 数据处理类 -->
属性 说明
id 插件声明定义的id
class 声明的插件类名

属性配置

filter的属性配置

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

field的属性配置

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

属性 描述 值类型 示例
tag 标识 string filter中字段的标识,作为key存入上下文;
etag 特殊标志 string 定长分隔符的etag解报时表示每个域的长度,组报时表示报文组报位置。
value string 当前字段的值;
type 数据类型 string String 、int、Number(a,b)
size 数据长度 int 数字

使用规则

  • 子节点foreach、while、if、else、elseif之间支持多层嵌套使用。
  • 属性ref为必配项,其他为可选项,必须正确指定到filters中的定义的FixedFilter插件指定的id值。
  • 需要特别注意数据流向的配置,in代表输入流,out代表输出流,针对in、out存在不同的处理;

组装定长无分隔报文

  • 使用FixedFilter进行定长无分隔符字符串报文的组装和解析。
  • 定长报文组装实际长度不够时,对于字符串类型,默认是右补空格;对于数值类型,默认是左补0。field操作域需要size属性。

1666062460245

输出:

1666062535431

解析定长无分隔符报文

  • 注意etag表长度,长度不能超过报文长度。

1666063026115

结果:

1666063108599

results matching ""

    No results matching ""