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

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

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

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

默认实现类NamedParamsDefault:

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

默认实现类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对象的对应方法实现。

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

 

命名参数的设置和获取:

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

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

 

相关文章:

  • 2021-09-06
  • 2022-12-23
  • 2021-09-16
  • 2022-12-23
  • 2021-08-18
  • 2022-12-23
  • 2021-08-05
  • 2022-12-23
猜你喜欢
  • 2021-07-09
  • 2022-01-11
  • 2022-12-23
  • 2021-10-10
  • 2021-10-31
  • 2021-12-29
  • 2022-12-23
相关资源
相似解决方案