java 调用KATTLE

/**
  * 调用Transformation
  * @param name
  * @param contract_no
  * @throws Exception
  */
 public void runTransformation(String name, String contract_no)
   throws Exception {
    try {
       if(!KettleEnvironment.isInitialized()){
           KettleEnvironment.init();
        }
      EnvUtil.environmentInit();
      TransMeta transMeta = new TransMeta(name);
      Trans trans = new Trans(transMeta);
      String[] param = { contract_no };
       trans.execute(param);
       trans.waitUntilFinished();
    } catch (KettleException e) {
      e.printStackTrace();
    }

 }
 
 /**
  * 调用job
  * @param name
  * @param contract_no
  * @throws Exception
  */
 public static void runJob(String jobname){  
  try {  
     if(!KettleEnvironment.isInitialized()){
       KettleEnvironment.init();  
     }
     //jobname 是Job脚本的路径及名称  
     JobMeta jobMeta = new JobMeta(jobname, null);  
     Job job = new Job(null, jobMeta);  
     //向Job 脚本传递参数,脚本中获取参数值:${参数名}  
     //  job.setVariable(paraname, paravalue);  
      job.start();  
      job.waitUntilFinished();  
      if (job.getErrors() > 0) {  
       System.out.println("decompress fail!");  
      }  
     } catch (KettleException e) {  
      System.out.println(e);  
     }  
  }

posted on 2013-06-07 14:05  264073578  阅读(279)  评论(1)    收藏  举报

导航