PublicFilter

该插件一般用于非特定需求,用于常规赋值、函数调用和日志打印等,并可以配合其他插件进行使用,对报文进行常规处理后再交给其他插件进行特殊处理(譬如解析xml需求,则需要使用XmlFilter插件等)。

插件配置

  • PublicFilter插件所在位置:lib==>be-esb-core-2.0.jar==>com==>brilliance==>eibs==>core==>service==>instance==>impl==>PublicFilter
  • PublicFilter插件需要继承插件共有的父类AbsFilter

1666057252910

  • commons.xml的filters中注册该插件,该插件无parameter属性
<filter id="publicFilter" class="PublicFilter"/>
属性 说明
id 注册时指定的id命名属性,后续在使用时通过该名称进行插件的调用
class 声明插件时映射的插件类的位置,指向该插件的类文件,注意插件存放的包结构必须严格保持一致才可生效(com.brilliance.eibs.core.service.instance.impl)

属性配置

属性 描述 是否必须 示例
ref 引用插件名称 引用commons.xml注册的PublicFilter插件指定的id值
type 指定插件功能类型 type属性值in和out效果一样,一般设置为in即可

示例

赋值、函数调用和日志打印

<!--测试publicfilter功能Demo-->
        <transaction id="testpublicfilter" version="2.0">
            <step id="1">
                <filter ref="publicFilter" type="in">
                    <field tag="arg1" value="hello world"/>
                    <log value="日志打印${arg1}"/>
                    <field tag="d1" type="${new Date()}"/>
                    <field tag="d2" type="${new Date()}"/>
                    <log value="调用日期函数${d1}"/>
                    <log value="调用日期函数${d2}"/>
                    <field value="${__this.compare(d1,d2)}" scope="this"/>
                    <log value="${this}"/>
                </filter>
            </step>
        </transaction>

测试结果展示

1666059082059

results matching ""

    No results matching ""