java 整合Web调用kettle本地转换
2017-08-18 17:53
344 查看
@RequestMapping("/kettle")
public void kettle(HttpServletRequest request){
try {
String user_dir = System.getProperty("user.dir");
/*String kettleHome = this.getServletContext().getRealPath(File.separator + "WEB-INF");*/
String kettleHome = request.getSession().getServletContext().getRealPath(File.separator + "WEB-INF/kettle");
// Kettle初始化需要修改相应的配置路径
System.setProperty("user.dir", kettleHome);
System.setProperty("KETTLE_HOME", kettleHome);
KettleEnvironment.init();
} catch (KettleException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
String[] params = {"1","content","test.txt"};
runTransfer(params,"12.ktr");
}
private Object getServletContext() {
// TODO Auto-generated method stub
return null;
}
public void runTransfer(String[] params, String ktrPath) {
Trans trans = null;
try {
// // 初始化
// 转换元对象
/*if (!KettleEnvironment.isInitialized()) {
KettleEnvironment.init();
}*/
// 初始化
//EnvUtil.environmentInit();
//StepLoader.init();
TransMeta transMeta = new TransMeta(ktrPath);
//TransMeta transMeta = new TransMeta(System.getProperty("user.dir")+ktrPath);
// 转换
trans = new Trans(transMeta);
// 执行转换
trans.execute(params);
// 等待转换执行结束
trans.waitUntilFinished();
// 抛出异常
if (trans.getErrors() > 0) {
throw new Exception(
"There are errors during transformation exception!(传输过程中发生异常)");
}
} catch (Exception e) {
e.printStackTrace();
}
}
public void kettle(HttpServletRequest request){
try {
String user_dir = System.getProperty("user.dir");
/*String kettleHome = this.getServletContext().getRealPath(File.separator + "WEB-INF");*/
String kettleHome = request.getSession().getServletContext().getRealPath(File.separator + "WEB-INF/kettle");
// Kettle初始化需要修改相应的配置路径
System.setProperty("user.dir", kettleHome);
System.setProperty("KETTLE_HOME", kettleHome);
KettleEnvironment.init();
} catch (KettleException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
String[] params = {"1","content","test.txt"};
runTransfer(params,"12.ktr");
}
private Object getServletContext() {
// TODO Auto-generated method stub
return null;
}
public void runTransfer(String[] params, String ktrPath) {
Trans trans = null;
try {
// // 初始化
// 转换元对象
/*if (!KettleEnvironment.isInitialized()) {
KettleEnvironment.init();
}*/
// 初始化
//EnvUtil.environmentInit();
//StepLoader.init();
TransMeta transMeta = new TransMeta(ktrPath);
//TransMeta transMeta = new TransMeta(System.getProperty("user.dir")+ktrPath);
// 转换
trans = new Trans(transMeta);
// 执行转换
trans.execute(params);
// 等待转换执行结束
trans.waitUntilFinished();
// 抛出异常
if (trans.getErrors() > 0) {
throw new Exception(
"There are errors during transformation exception!(传输过程中发生异常)");
}
} catch (Exception e) {
e.printStackTrace();
}
}
相关文章推荐
- 使用Java程序调用本地转换盒作业,资源库中的转换和作业(kettle4.2)
- android webview 调用本地java代码失败解决方法
- Java调用Kettle执行任务或转换
- Java-动态传参调用kettle转换和作业
- Java调用Kettle执行任务或转换
- WebView本地java方法和js之间的调用
- java调用kettle向job(任务)和transformation(转换)传递参数实例
- WebView本地java方法和js之间的调用
- SSM整合时日期类型转换报错 java.lang.ClassCastException: org.springframework.web.servlet.support.JstlUtils$Sprin
- java通过kettle的API调用已经创建好的转换(transformation)或任务(job)
- BI:Java调用Kettle执行任务或转换
- java中调用kettle转换文件
- java中调用kettle转换文件
- Java项目中调用Kettle转换
- android4.2.2及以上webview调用java本地方法不执行解决办法
- java中调用kettle转换文件
- java中调用kettle转换文件
- java调用kettle向job(任务)和transformation(转换)传递参数实例
- Webview中js与本地java代码的互相调用
- Android Webview中调用本地java方法