![](/img/trans.png)
[英]Sample program for transformation and job in pentaho kettle-spoon using Java (eclipse)
[英]Stop running Kettle Job/Transformation using Java
我正在使用Java开发基于Web应用程序的ETL(使用Kettle引擎)。
我在试图阻止正在运行的Job时遇到问题。 我不确定使用CarteSingleton.java是否正确。 我正在使用自定义单例映射。
我的代码如下
Job job = new Job(null, jobMeta);
job.setLogLevel(LogLevel.DETAILED);
job.setGatheringMetrics(true);
job.start();
调用job.start()后,我试图将该作业对象存储在自定义单例映射中,并检索存储在映射中的确切Job对象,以及使用另一个REST调用stopAll()(请参阅下面的代码)在Job的状态为RUNNING时调用,以阻止它。 但这并不能阻止正在运行的工作。 Kettle Engine没有得到通知! 工作执行继续。 .kjb / .ktr正在使用SPOON创建,尽管我没有使用SPOON来运行/停止执行。
是否有任何Kettle API配置我要更改,以便能够使用
same job object
job.stopAll();
您能否请教一下API和示例示例,如果有的话要停止正在运行的JOB或使用Java进行转换?
任何指针或帮助都会很棒! 再次感谢。
此致,Sanjeev
你的方法似乎是正确的。 但请注意,无法保证立即停止 - 它只是设置一个标志,指示执行不应继续。
Job.stopAll()
设置标志并在执行开始之前进行检查 ,但如果它已经开始,它将不会在现场停止
Trans.stopAll()
行为类似。 它要求每个步骤停止,并在步骤内检查该标志。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.