一:新增组件的加载

在Web端使用二次开发的组件, 需要加载新开发组件路径:

System.setProperty("KETTLE_PLUGIN_BASE_FOLDERS",path);//插件地址加载信息

还要注意一下属性的设置方法,这个是一个全局属性。

System.setProperty("","");

二:JNDI的使用

Kettle数据源有多种,项目都有自己的特殊的需要。我们要求使用JNDI的方式。

1.使用kettle自己的Jndi,只需要指定Kettle 的Jndi的属性文件配置路径。

System.setProperty("KETTLE_JNDI_ROOT","");

data-integration\simple-jndi\jdbc.properties

ORA/type=javax.sql.DataSource

ORA/driver=oracle.jdbc.driver.OracleDriver

ORA/url=jdbc:oracle:thin:@localhost:1521:ORCL

ORA/user=abc

ORA/password=abc

这里对于Jndi的名称为 ORA,属性文件的名称等无特殊的要求。可以自己设计,具体可以查看:simple-jndi.jar

2.使用服务器自带的Jndi

KettleEnvironment.init(false);//false--不加载自带的JNDI true--需加载自带的JNDI

三:Kettle日志记录。

Web项目一般都会使用log4j作为项目的日志组件,由于项目的特殊性、日志的连贯行与可读性的考虑。使用原始的日志记录。

FileLoggingEventListener listener = new FileLoggingEventListener(path,true);//path日志路径

KettleLogStore.getAppender().addLoggingEventListener(listener);

也可以接入log4j的支持(项目下一步的方向)、可以考虑日志组件的开发。

其中kettle也自带对Job、step都有数据库日志的记录,可以依据项目情况进行选择。

四:kettle的性能监控

作为一个服务端的项目,对于数据处理的情况,都是作为一个特殊处理的情况。此性能监控只是对于单机情况。集群环境不适用。

由于转换执行的时候都会有自己的执行情况的“快照”,监控只需要去解析。基本上C/S上的UI上的日志信息都可以进行获取。

List list = trans.getSteps();

Map> snap = trans.getStepPerformanceSnapShots();

for (int j = 0; j 

StepMetaDataCombi combi = list.get(j);

StepInterface si = combi.step;

List lp = snap.get(si.toString());

......

只是提供大体的思路。

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐