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)。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章