zoukankan      html  css  js  c++  java
  • java 调用kettle4 的transaction和job

    项目中要用到用Java代码调用Kettle脚本,于是找kettle官方资料,用他们提供的jar包,通过java代码来运行kettle脚本。发现官方提供的实例都只能用于kettle3.0版的脚本,4.0的根本不支持。反复搜索,终于在Matt的新书的附件中找到了Kettle 4.0 API的相关资料,该地址是:ftp://download:download@mediaftp.wiley.com/product_ancillary/77/04706351/DOWNLOAD/635179_downloads.zip。大家可以去下载。

     
     
    调用JOB的示例:
    “public void runJob(String jobname){
      try {
       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);
      }
     }”
       调用Transformation示例:
    “ public void runTrans(String filename) throws Exception {
        KettleEnvironment.init();
        TransMeta transMeta = new TransMeta(filename);
        Trans trans = new Trans(transMeta);
        trans.prepareExecution(null);
        trans.startThreads();
        trans.waitUntilFinished();
        
        if (trans.getErrors()!=0) {
          System.out.println("Error");
        }
      }”                                                                   
    

    来自于  http://kettleking.iteye.com/blog/1108451

    java api调用 kettle job时,报如下异常

    INFO  09-02 16:33:53,703 - Job1 - 开始执行任务
    INFO  09-02 16:33:53,718 - Job1 - 开始项[Transformation]
    ERROR 09-02 16:33:53,718 - Transformation - Unable to open transformation: null
    ERROR 09-02 16:33:53,718 - Transformation - java.lang.NullPointerException
    	at org.pentaho.di.job.entries.trans.JobEntryTrans.execute(JobEntryTrans.java:688)
    	at org.pentaho.di.job.Job.execute(Job.java:503)
    	at org.pentaho.di.job.Job.execute(Job.java:642)
    	at org.pentaho.di.job.Job.execute(Job.java:368)
    	at org.pentaho.di.job.Job.run(Job.java:288)
    
    INFO  09-02 16:33:53,718 - Job1 - 完成作业项[Transformation] (结果=[false])
    INFO  09-02 16:33:53,734 - Job1 - 任务执行完毕
    

     此异常一直未解决,还望用过的朋友回复一下。

    手机扫一扫,欢迎关注公众号

    关注程序员成长

    成长的乐趣,在于分享!
    大龄程序员,一路走来,感慨颇多。闲暇时写写字,希望能给同行人一点帮助。
    本文版权归作者growithus和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    将方法作为方法的参数
    远程桌面无响应解决方案(转)
    QQ通信机制(转)
    电脑管家禁止程序修改文档后如何恢复权限
    SQL Sever——远程过程调用失败(0x800706be)
    JavaScript学习笔记之JavaScript调用C#编写的COM组件
    kendoUI 免费部分开发部分经验。
    mongoDB连接信息及生成对应的collection生成代码
    写个匹配某段html dom代码某属性的正则匹配方法
    微信获取用户支付共享地址
  • 原文地址:https://www.cnblogs.com/growithus/p/11012316.html
Copyright © 2011-2022 走看看