kettle环境初始化

本文详细介绍了Kettle启动时的初始化流程,包括创建.kettle目录、读取kettle.properties文件、初始化日志配置、注册插件类型等内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

背景

程序启动时会初始化kettle的运行环境,例如,spoon启动时main方法就会调用KettleEnvironment.init()来为spoon的运行环境作初始化。通过KettleEnvironment.init()来初始化环境时,会读取属性文件、注册插件等,以init()方法为切入点,调试了一下源码,大概整理了一下脉络,并简单记录下来:

步骤

  1. 调用KettleClientEnvironment.init()方法初始化客户端环境,具体的子流程以下:
  2. 创建.kettle目录,并在该目录下创建一个默认的kttle.properties文件—createKettleHome()
  3. 读取kettle.properties文件,把内容设置到系统变量中—EnvUtil.environmentInit()
  4. 初始化一些日志配置
  5. 注册插件类型(5种类型)并进行初始化—PluginRegistry.init( true )
  6. 如果运行在一个standalone model(例如spoon,kitche,carte),则会初始化JNDI,具体细节查看JndiUtil.initJNDI()
  7. 把本地插件类型RowDistributionPluginType,StepPluginType,PartitionerPluginType,JobEntryPluginType,LogTablePluginType, RepositoryPluginType,LifecyclePluginTypeKettleLifecyclePluginType,ImportRulePluginType,CartePluginType,CompressionPluginType, AuthenticationProviderPluginType,AuthenticationConsumerPluginType添加到PluginRestry类的**pluginTypes:List**中
  8. 调用PluginRegistry.init()进行初始化插件
  9. 初始化kettle变量,其实是解析kettle-variables.xml并保存里面的配置到List里—KettleVariablesList.init()
  10. 初始化生命周期监听器—initLifecycleListeners()
  11. 初始化日志插件—initLoggingPlugins()

流程图

Created with Raphaël 2.3.0 KettleEnvironment.init()方法 调用KettleClientEnvironment.init()方法初始化客户端环境 JndiUtil.initJNDI():初始化JNDI,当运行在一个standalone model(spoon,kitche,carte) 注册本地插件类型(13种,如StepPluginType等),并进行初始化PluginRegistry.init() KettleVariablesList.init():初始化kettle变量,其实是解析kettle-variables.xml并保存里面的配置到List里 initLifecycleListeners():初始化生命周期监听器;initLoggingPlugins():初始化日志插件 结束
Created with Raphaël 2.3.0 调用KettleClientEnvironment.init()方法初始化客户端环境 createKettleHome:创建.kettle目录,并在该目录下创建一个默认的kttle.properties文件 EnvUtil.environmentInit():读取kettle.properties文件,把内容设置到系统变量中 初始化一些日志配置 注册插件类型(5种类型)并进行初始化:PluginRegistry.init( true ); 结束
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值