kettle的命名参数接口NamedParams实现与Job命名参数的传递和使用实现

kettle执行Job流程时可以设置命名参数(Parameters)。命名参数的接口为NamedParams,其默认实现为NamedParamsDefault类,Job类实现该接口,并委托NamedParamsDefault实现具体方法。

命名参数接口NamedParams的实现类:

默认实现类NamedParamsDefault:

默认实现类NamedParamsDefault中Map<String, OneNameParam>类型的params属性,是HashMap对象,用来保存变量(字符串键值对)。命名参数的操作比较简单就是对该Map属性的put,get和ketset的列出,合并的话就是查看Map的key不存在的就put。单个命名参数对象封装为OneNameParam对象包含四个属性(key,description,defaultValue,value)。

https://blog.csdn.net/shy_snow/article/details/105781793

Job实现了NamedParams接口,在内部保存一个NamedParamsDefault对象并将NamedParams接口的方法实现都调用该NamedParamsDefault对象的对应方法实现。

 

命名参数的设置和获取:

界面设置了命名参数并执行Job时,参数被设置到JobExecutionConfiguration对象中并和Job对象一起以Xml的形式发送到AddJobServlet流程增加接口。在从xml恢复成Job对象和JobExecutionConfiguration之后遍历命名参数并设置到流程元数据对象JobMeta中,并使用activateParameters方法激活命名参数(就是放到Variables里去,在environmentSubstitute变量解析的时候能获取到.参照另一篇kettle变量实现有解释https://blog.csdn.net/shy_snow/article/details/105564107)。

activateParameters方法没有做统一的实现, 在JobMeta中是覆盖了变量(Variables)的值。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值