我用java写的多线程调用kettle的ktr文件,之前是写成bat文件,bat里放ktr文件路径,直接调用bat,是没问题的,后来,我改成在java里直接调用ktr文件,报java内存溢出java.lang.OutOfM...
我用java写的多线程调用kettle的ktr文件,之前是写成bat文件,bat里放ktr文件路径,直接调用bat,是没问题的,
后来,我改成在java里直接调用ktr文件,报java内存溢出 java.lang.OutOfMemoryError:GC overhead limit exceeded
我后台调用ktr代码是这样写的,
public static boolean execute(String filename, String[] params) {
boolean status = true;
try {
System.out.println("进入kettle执行......");
KettleEnvironment.init();// 初始化kettle环境
TransMeta transMeta = new TransMeta(filename);// 转换元对象
Trans trans = new Trans(transMeta);// 转换
// trans.prepareExecution(null);// 异常处理
trans.execute(params);
// 等待转换执行结束
trans.waitUntilFinished();
if (trans.getErrors() > 0) {