我正在使用Java开发基于Kettle引擎的Web应用程序ETL工具。
我在尝试停止运行中的作业时遇到了问题。我不确定是否正确使用CarteSingleton.java。我正在使用自定义的单例映射。
我的代码如下:
Job job = new Job(null, jobMeta);
job.setLogLevel(LogLevel.DETAILED);
job.setGatheringMetrics(true);
job.start();
一旦执行 job.start() 后,我试图将该 job 对象存储在自定义的单例映射中,并在 stopAll() 的调用中检索在映射中存储的确切 Job 对象。但是,在 Job 的状态为 RUNNING 时停止,不会停止正在运行的作业。Kettle 引擎没有收到通知!任务继续执行。.kjb / .ktr 是使用 SPOON 创建的,尽管我没有使用 SPOON 来运行/停止执行。是否有任何 Kettle API 配置需要更改,以便能够使用?
same job object
job.stopAll();
您好,能否请您提供使用Java停止正在运行的作业或转换的API和示例?
非常感谢您在这方面给予任何指导或帮助!再次感谢。
祝好, Sanjeev
Job
是从Thread
派生而来,转换步骤通常在单独的线程中执行,因此也没有立即停止它们的方法。 - Andrey Khayrutdinov