第一步:(前提将kett中lib下的所有jar包拷贝到java项目lib目录)创建并连接资源库,如果只用这一个工作空间,可以将此段代码放入静态代码块,代码如下:
KettleEnvironment.init();
//创建资源库对象,此时的对象还是一个空对象
KettleDatabaseRepository repository = new KettleDatabaseRepository();
//创建资源库数据库对象,类似我们在spoon里面创建资源库
//(数据库连接名称,数据库类型,连接方式,IP,数据库名,端口,用户名,密码)
DatabaseMeta dataMeta = new DatabaseMeta("数据库连接名","数据库类型(比如MSSQL)","连接方式(例如Native(JDBC))","IP","数据库名","端口号",
"用户名","密码");
//资源库元对象,选择资源库(ID,名称,描述)
KettleDatabaseRepositoryMeta kettleDatabaseMeta =new KettleDatabaseRepositoryMeta("资源库ID", "资源库名称", "这里是描述信息",dataMeta);
//给资源库赋值
repository.init(kettleDatabaseMeta);
//连接资源库
repository.connect("admin","admin");
第二步:启动并运行job:
directoryInterface = repository.loadRepositoryDirectoryTree();
JobMeta jobMeta = repository.loadJob(jobName,directoryInterface,null,null);//从资源库中加载一个job,jobName:job名
Job job = new Job(repository,jobMeta);
job.start();//启动job,默认是线程执行。
job.waitUntilFinished();//等待job执行结束
第三步:获取job状态或者停止job:
job.stopAll();//停止job
String status=job.getStatus();//获取运行状态。
至此,java调用job的基本功能已经实现,如果现在有需求是生成web service接口,提供四个方法供外界访问,分别是传入串job名并分别