public void executeJobToResorce() throws KettleException {
//初始化
EnvUtil.environmentInit();
JobEntryLoader.init();
StepLoader.init();
//日志
LogWriter log=LogWriter.getInstance("KettleTest.log", true, LogWriter.LOG_LEVEL_DETAILED);
//用户
UserInfo userInfo=new UserInfo();
userInfo.setLogin("admin");
userInfo.setName("admin");
//数据库连接元对象
/**
* Construct a new database connections. Note that not all these parameters are not always mandatory.
*
* @param name The database name
* @param type The type of database
* @param access The type of database access
* @param host The hostname or IP address
* @param db The database name
* @param port The port on which the database listens.
* @param user The username
* @param pass The password
*/
DatabaseMeta connection=new DatabaseMeta("10.207.6.109-sspa", "Oracle", "Native", "10.207.6.109", "orcl", "1521", "sspa", "sspa");
//资源库元对象
RepositoryMeta repinfo=new RepositoryMeta();
repinfo.setConnection(connection);
//资源库
Repository rep=new Repository(log, repinfo, userInfo);
//连接资源库
rep.connect("");
//资源库目录对象
RepositoryDirectory dir=new RepositoryDirectory(rep);
//步骤加载对象
StepLoader steploader=StepLoader.getInstance();
//Job元对象
JobMeta jobMeta=new JobMeta(log, rep,"ceshiJob", dir);
//Job
Job job=new Job(log, steploader, rep, jobMeta);
//执行Job
job.execute();
//job.run();
//System.out.println("--------------------------"+job.getStatus());
//等待Job执行结束
job.waitUntilFinished();
}
现在不知道如何停止这个Job,希望有知道的人士帮帮忙。首先声明,我试过使用job.stopAll()方法,但是发现无法停止Job。
3 个解决方案
#1
问题已经解决了,原因并非Kettle造成的,而是由于自己在停止时创建了一个新的Job,而不是传入之前执行的Job,所以就没有将任务停止。等过些时间,有空啦将代码传上来。以供童鞋们学习。
#2
该怎么停止啊?跪求。。。
#3
求代码啊,怎么结束啊
#1
问题已经解决了,原因并非Kettle造成的,而是由于自己在停止时创建了一个新的Job,而不是传入之前执行的Job,所以就没有将任务停止。等过些时间,有空啦将代码传上来。以供童鞋们学习。
#2
该怎么停止啊?跪求。。。
#3
求代码啊,怎么结束啊