PublicFilter
该插件一般用于非特定需求,用于常规赋值、函数调用和日志打印等,并可以配合其他插件进行使用,对报文进行常规处理后再交给其他插件进行特殊处理(譬如解析xml需求,则需要使用XmlFilter插件等)。
插件配置
- PublicFilter插件所在位置:lib==>be-esb-core-2.0.jar==>com==>brilliance==>eibs==>core==>service==>instance==>impl==>PublicFilter
- PublicFilter插件需要继承插件共有的父类AbsFilter
- 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即可 |
示例
赋值、函数调用和日志打印
<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>
测试结果展示