如何通过java集成kettle实现远程调用kettle集群
package com.hry;
import org.pentaho.di.cluster.SlaveServer;
import org.pentaho.di.core.KettleEnvironment;
import org.pentaho.di.core.Result;
import org.pentaho.di.core.database.DatabaseMeta;
import org.pentaho.di.core.exception.KettleException;
import org.pentaho.di.job.Job;
import org.pentaho.di.job.JobExecutionConfiguration;
import org.pentaho.di.job.JobMeta;
import org.pentaho.di.repository.Repository;
import org.pentaho.di.repository.RepositoryDirectoryInterface;
import org.pentaho.di.repository.kdr.KettleDatabaseRepository;
import org.pentaho.di.repository.kdr.KettleDatabaseRepositoryMeta;
import org.pentaho.di.www.SlaveServerJobStatus;
public class CallJob {
// private void run(String hostname, int port) throws Exception {
// SlaveServerConfig config = new SlaveServerConfig(hostname, port, false);
// Carte.runCarte(config);
//
//
// }
private Repository repository;
private SlaveServer remoteSlaveServer;
private boolean remoteFlag = false;
private String lastCarteObjectId;
private JobMeta jobMeta;
private Job job;
/**
*
* @param oracle资源库信息
*
* 初始化对象,初始化kettle环境和资源库
*/
public CallJob(DBRepositoryInfo rposInfo) {
// TODO Auto-generated constructor stub
try {
// 初始化
KettleEnvironment.init();
this.initRepository(rposInfo);
} catch (KettleException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public SlaveServer getRemoteSlaveServer() {
return