在过滤器的列表中我们可以看到有以下三种:DatabaseMessage Extraction、Database MessageExtraction、Generic Code Translation,对于前两种想必大家已经有了一定的了解,那下面就让我们一起来看看第三种Generic Code Translation过滤器的使用吧。 Generic Code Translation 翻译为一般代码转换,顾名思义这个过滤器是用来进行代码转换的,通过实际配置我们看一下实际的效果,配置表如下: Database、Host、Port、Database Name、JDBCDriver、 DatabaseURL、Username、Password、Database Table用来设置数据库的相应信息,其中Database Table用来设置需要查询的表。Key Field Mappings 用来设置查询的条件,Substitute Field Mappings 用来设置需要查询的字段以及需要替换的节点。 通过配置以上信息后经过改过滤器实际上回运行的SQL语句如下:select remark from dict where id= `/message/a` 然后将查询出来的remark值把原有消息体中的/message/b中的值替换掉。 输入: 输出: 由上诉结果也可以得知 查出来的remark值为Z。 备注:当KeyField Mappings 中设置为多个时,SQL中的操作符为 AND,如果查询出来有多条数据的话会把查询出来的第一条作为操作的对象,如果查询出来没有结果的话,则原消息体不会有任何变化(也不会报错),当Substitute Field Mappings设置多个时,将进行多个替换。
|