2

単純な変換(Aという名前)を開始する単純なジョブ(Aという名前)があります。変換にはダミー コンポーネントのみが含まれます。どちらも db リポジトリに格納されます。

キッチンからジョブを開始すると、すべて正常に実行されます。

./kitchen.sh -rep=spoon -user=<user> -pass=<pwd> -job A

次に、簡単な Java コードを作成しました。

JobMeta jobMeta = repository.loadJob(jobName, directory, null, null);
org.pentaho.di.job.Job job = new org.pentaho.di.job.Job(null, jobMeta);
job.getJobMeta().setInternalKettleVariables(job);
job.setLogLevel(LogLevel.ERROR);
job.setName(Thread.currentThread().getName());

job.start();
job.waitUntilFinished();

if (job.getResult() != null && job.getResult().getNrErrors() != 0) {
   ...
}
else {
   ...
}

問題は、Java プログラムを実行すると、常に次のエラーが発生することです。

A - Unable to open transformation: null
A - java.lang.NullPointerException
at org.pentaho.di.job.entries.trans.JobEntryTrans.execute(JobEntryTrans.java:698)
at org.pentaho.di.job.Job.execute(Job.java:589)
at org.pentaho.di.job.Job.execute(Job.java:728)
at org.pentaho.di.job.Job.execute(Job.java:443)
at org.pentaho.di.job.Job.run(Job.java:363)

私は成功せずにこのエラーをグーグルで検索しましたが、そこに行き詰まっています。

なにか提案を ?

4

1 に答える 1

0

解決策は行を置き換えるようです

org.pentaho.di.job.Job job = new org.pentaho.di.job.Job(null, jobMeta);

org.pentaho.di.job.Job job = new org.pentaho.di.job.Job(repository, jobMeta);

これが他の誰かに役立つことを願っています。

于 2013-04-19T15:16:55.317 に答える