• 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和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    全代码实现ios-4
    集训第一次周赛题目及题解
    网站登录时密码忘记,通过向邮箱发送验证链接实现重置密码的实现方法
    hdu 1861-游船出租
    c#获取或修改配置文件
    今天做php经典实例,发现,我是对的,面试官给我说错了
    HDU 4637 Rain on your Fat brother 线段与半圆和线段交 简单题
    Qt之图标切分与合并
    标准容器的共性及举例
    如何提高数据库update更新的速度
  • 原文地址:https://www.cnblogs.com/growithus/p/11012316.html
Copyright © 2020-2023  润新知