一:新增组件的加载
在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());
......
只是提供大体的思路。