使用 Java 停止运行 Kettle Job/Transformation

2024-01-06

我也在使用 Java 开发基于 Web 应用程序的 ETL(使用 Kettle 引擎)。

我在尝试停止正在运行的作业时遇到了问题。我不确定使用 CarteSingleton.java 是否正确。我正在使用自定义单例地图。

我的代码如下

Job job = new Job(null, jobMeta);
job.setLogLevel(LogLevel.DETAILED);
job.setGatheringMetrics(true);
job.start();

调用 job.start() 后,我尝试将该作业对象存储在自定义单例映射中,并检索存储在映射中的确切作业对象,并使用另一个 REST 调用 stopAll() (参见下面的代码)当作业的状态为 RUNNING 时调用以停止它。 但这并不能阻止正在运行的作业。 Kettle Engine 没有收到此通知!作业执行继续。 .kjb / .ktr 是使用 SPOON 创建的,尽管我没有使用 SPOON 来运行/停止执行。

我是否需要更改任何 Kettle API 配置才能使用

   same job object
   job.stopAll();

您能否了解一下 API 和示例示例(如果有的话)可以使用 Java 停止正在运行的作业或转换?

这里的任何指示或帮助都会很棒!再次感谢。

问候, 桑吉耶夫


看来你的做法是正确的。但是,请注意,不能保证立即停止 - 它只是设置一个标志,指示不应继续执行。

Job.stopAll()设置标志 https://github.com/pentaho/pentaho-kettle/blob/master/engine/src/org/pentaho/di/job/Job.java#L1307它是执行开始前检查 https://github.com/pentaho/pentaho-kettle/blob/master/engine/src/org/pentaho/di/job/Job.java#L662,但如果已经开始,它不会当场停止

Trans.stopAll()行为类似。它要求每一步停止 https://github.com/pentaho/pentaho-kettle/blob/master/engine/src/org/pentaho/di/trans/Trans.java#L1886-L1922还有那面旗帜里面被检查了 https://github.com/pentaho/pentaho-kettle/blob/master/engine/src/org/pentaho/di/trans/step/BaseStep.java steps.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Java 停止运行 Kettle Job/Transformation 的相关文章

  • 如何克服原语按值传递的事实

    我有一段很长的代码来计算两个值 doubles 对我来说 我在几个地方使用了这段代码 为了坚持 DRY 原则 我应该将这段代码重构为一个很好的单元测试方法 但是我不能让它返回两个双精度数 而双精度数是原始的 因此不能按值传递和操作 我能想到
  • Java中字符串中特殊字符的替换

    Java中如何替换字符串 E g String a adf sdf 如何替换和避免特殊字符 您可以删除除此之外的所有字符可打印的 ASCII 范围 http en wikipedia org wiki ASCII ASCII printab
  • 在文本文件中写入多行(java)

    下面的代码是运行命令cmd并使用命令行的输出生成一个文本文件 下面的代码在 Eclipse 的输出窗口中显示了正确的信息 但在文本文件中只打印了最后一行 谁能帮我这个 import java io public class TextFile
  • 插入最大日期(独立于数据库)

    在我的本地设置中 我使用一个简单的 H2 数据库 托管 解决方案将有另一个 类似但不相同 数据库 我需要将最大可能日期插入到日期时间列中 我尝试使用 Instant MAX 但是 这会导致列中出现 169104626 12 11 20 08
  • 是什么决定了从 lambda 创建哪个函数式接口?

    请考虑这个例子 import java util function Consumer public class Example public static void main String args Example example new
  • Java:如何从转义的 URL 获取文件?

    我收到了一个定位本地文件的 URL 事实上我收到的 URL 不在我的控制范围内 URL 按照 RFC2396 中的定义进行有效转义 如何将其转换为 Java File 对象 有趣的是 URL getFile 方法返回一个字符串 而不是文件
  • Hibernate.createBlob() 方法从 Hibernate 4.0.1 开始已弃用,并移至 Hibernate.getLobCreator(Session session).createBlob()

    Method Hibernate createBlob 已弃用自休眠4 0 1并搬到Hibernate getLobCreator Session session createBlob 任何解决方案我应该在方法内传递什么getLobCrea
  • 使用 AES SecretKey 的 Java KeyStore setEntry()

    我目前正在 Java 中开发一个密钥处理类 特别是使用 KeyStore 我正在尝试使用 AES 实例生成 SecretKey 然后使用 setEntry 方法将其放入 KeyStore 中 我已经包含了代码的相关部分 The KS Obj
  • Java 文件上传速度非常慢

    我构建了一个小型服务 它从 Android 设备接收图像并将其保存到 Amazon S3 存储桶中 代码非常简单 但是速度非常慢 事情是这样的 public synchronized static Response postCommentP
  • Calendar.getInstance(TimeZone.getTimeZone("UTC")) 不返回 UTC 时间

    我对得到的结果真的很困惑Calendar getInstance TimeZone getTimeZone UTC 方法调用 它返回 IST 时间 这是我使用的代码 Calendar cal Two Calendar getInstance
  • Java 8 流 - 合并共享相同 ID 的对象集合

    我有一系列发票 class Invoice int month BigDecimal amount 我想合并这些发票 这样我每个月都会收到一张发票 金额是本月发票金额的总和 例如 invoice 1 month 1 amount 1000
  • Javafx过滤表视图

    我正在尝试使用文本字段来过滤表视图 我想要一个文本字段 txtSearch 来搜索 nhs 号码 名字 姓氏 和 分类类别 我尝试过在线实施各种解决方案 但没有运气 我对这一切仍然很陌生 所以如果问得不好 我深表歉意 任何帮助将不胜感激 我
  • IntelliJ - 调试模式 - 在程序内存中搜索文本

    我正在与无证的第三方库合作 我知道有一定的String存储在库深处的某个字段中的某处 我可以预测的动态值 但我想从库的 API 中获取它 有没有一种方法可以通过以下方式进行搜索 类似于全文搜索 full程序内存处于调试模式并在某个断点处停止
  • Jersey 客户端请求中未设置 Content-Length-Header

    我正在使用 Jersey Client 访问网络服务 如下所示 response r accept MediaType TEXT PLAIN TYPE header content length 0 post String class 其中
  • 如何知道抛出了哪个异常

    我正在对我们的代码库进行审查 有很多这样的陈述 try doSomething catch Exception e 但我想要一种方法来知道 doSomething 抛出了哪个异常 在 doSomething 的实现中没有 throw 语句
  • java.lang.NumberFormatException: Invalid int: "3546504756",这个错误是什么意思?

    我正在创建一个 Android 应用程序 并且正在从文本文件中读取一些坐标 我在用着Integer parseInt xCoordinateStringFromFile 将 X 坐标转换为整数 Y 坐标的转换方法相同 当我运行该应用程序时
  • 具有特定参数的 Spring AOP 切入点

    我需要创建一个我觉得很难描述的方面 所以让我指出一下想法 com x y 包 或任何子包 中的任何方法 一个方法参数是接口 javax portlet PortletRequest 的实现 该方法中可能有更多参数 它们可以是任何顺序 我需要
  • 如何使用 JSch 将多行命令输出存储到变量中

    所以 我有一段很好的代码 我很难理解 它允许我向我的服务器发送命令 并获得一行响应 该代码有效 但我想从服务器返回多行 主要类是 JSch jSch new JSch MyUserInfo ui new MyUserInfo String
  • Trie 数据结构 - Java [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 是否有任何库或文档 链接提供了在 java 中实现 Trie 数据结构的更多信息 任何帮助都会很棒 Thanks 你可以阅读Java特里树
  • 调整添加的绘制组件的大小和奇怪的摆动行为

    这个问题困扰了我好几天 我正在制作一个特殊的绘画程序 我制作了一个 JPanel 并添加了使用 Paint 方法绘制的自定义 jComponent 问题是 每当我调整窗口大小时 所有添加的组件都会 消失 或者只是不绘制 因此我最终会得到一个

随机推荐

  • 删除动态数组的一部分并增加其他部分

    我需要一个动态数组 因此我需要通过指针分配必要的内存量 让我想知道哪个是一个好的解决方案 是 C 能够执行以下操作 int p new int 6 它分配必要的数组 我需要的是 之后我想增加这个数组的一些部分 一个 有缺陷的 例子 int
  • 代理网络充斥着未使用的 ActiveMQ.Advisory.TempQueue 消息

    我目前正在调查我的经纪商网络中的内存问题 根据 JConsole 的说法 当代理开始阻止消息时 ActiveMQ Advisory TempQueue 占用了 99 的配置内存 有关配置的一些细节 大部分情况下都是默认配置 一个开放的 st
  • 如何将Kafka数据导出到Prometheus?

    我在 kafka 主题中以时间序列的形式获得了 300K 指标 分钟 我想存储和查询数据 满足我需求的可视化工具是Grafana 为了有效地存储和查询 我正在考虑将这些时间序列存储在Prometheus中 具有大量时间序列的 Kafka 主
  • Excel 数据透视图线性时间刻度

    我有一个数据集 约 10000 行 其形式如下 DateTimeCreated Machine ProductName 2009 03 03 00 00 12 217 COMP001 Product001 我使用具有以下布局的数据透视表和图
  • 循环动画集会导致 StackOverflowError

    我正在删除一个 Android 应用程序 其中有一个无限重复的动画 导致 StackOverflowError 当同一对象上的另一个动画开始时 它会执行此操作 private fun pulse val randomGenerator Ra
  • “必须安装JRE 1.3或更高版本!” /“必须安装JDK 1.3或更高版本!”在 Windows 7 (x64) 上安装 JAI 1.1.3 时出错

    我收到这些错误 严重 必须安装JRE 1 3或更高版本 严重 必须安装JDK 1 3或更高版本 在 Windows 7 x64 上安装 JAI Java Advanced Imaging 1 1 3 时 JRE 7 1 7 安装在 C Pr
  • XUnit 使用 Cake 与 .NET Core 配合使用

    我有一个相对简单的解决方案 在 MSBuild 下一切正常 在 VS 2017 Mac 中 我正在创建一个 Cake 构建脚本 但我无法让单元测试正常工作 例子有很多 但似乎没有一个是有效的 有些人要求使用 DotnetCoreTest 大
  • MS 图表:获取真正的 InnerPlotPosition?

    使用 Microsoft Charts 创建图表时 我需要获取图表上网格的准确位置 This page http msdn microsoft com en us library dd456696 aspx says as I unders
  • 反编译Java项目并编译

    我在尝试着一个 java 项目 jar 文件 我可以从中获取 java 文件 现在我怎样才能把它编译回来呢 我可以将 java 文件作为单个文件添加到 Netbeans 中 但是如何将其添加为项目添加编译呢 该项目是一个JavaFX项目 所
  • 从 IntelliJ 调用 Maven 模块构建

    我想知道是否有人知道一种从 IntelliJ 调用特定 Maven 模块构建的方法 该模块还将构建 或使用已编译的类 它所依赖的模块 因此 例如 如果我只想构建图中的模块 模型 那么我单击其上的包步骤似乎是合理的 但它实际上做了什么 它调用
  • Promise 抛出“未处理的承诺拒绝”错误的奇怪行为

    当我使用 Node 运行此代码时 它会抛出一个Unhandled promise rejection控制台中出现错误 甚至显示error caught首先是文字 const promise new Promise resolve rejec
  • NetLogo BehaviourSpace - 使用报告器进行测量

    在我的 NetLogo 模型中 我的海龟被称为居民 每个居民都有自己的起始意见 initial opinion 和最终意见 final opinion 他们的意见是使用随机数计算的 因此当我更改某些参数时 我想运行模型至少 20 次 因此我
  • 如何在 Anaconda x64 上安装 Yandex CatBoost?

    我已经通过以下方式成功安装了 CatBoost pip install catboost 但是当我在 Jupiter Notebook 中尝试示例 python 脚本时出现错误 import numpy as np from catboos
  • 将双精度格式设置为分数[关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 是否有一个库可以将 Double 转换为带有整数 后跟小数的字符串 例如 1 125 1 1 8 我只
  • 检查方法参数的最佳方法是什么? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我知道两种方法来检查方法的参数并在需要时抛出异常 1 对每个参数进行检查 错误时抛出异常 public void Method object p
  • Redux for React 中 `Provider` 和 `connect` 之间的区别

    我发现 Redux 有两种将状态传递给 React 应用程序中的组件的方法 一种是抛出 Provider 组件 另一种是使用连接功能 但是 我想知道为什么有两种不同的方法 以及哪种方法的性能比另一种更好 它们并不相互排斥 实际上你几乎总是需
  • 分割字符串并仅获取第一个值

    我想知道是否可以使用 split 将字符串分割为用逗号分隔的多个部分 如下所示 title genre director actor 我只想要第一部分 每个字符串的标题而不是其余部分 string valueStr title genre
  • 如何修复 CLion 中对“__imp_WSACleanup”(Boost.Asio) 的未定义引用

    我的 C 项目包括Boost http www boost org and WebSocket https github com zaphoyd websocketpp库 我阅读了其他需要添加的主题 lws2 32到 gcc 命令 但我有
  • 如何打印列表中只出现一次的元素,而不进行计数

    如果我有一个字典 key a b c c d 并且我只想打印与每个键对应的唯一值 在本例中为 a b d 除了仅打印之外 最有效的方法是什么循环遍历每个元素并对其进行计数 如果元素按照您的示例进行排序 你可以用itertools group
  • 使用 Java 停止运行 Kettle Job/Transformation

    我也在使用 Java 开发基于 Web 应用程序的 ETL 使用 Kettle 引擎 我在尝试停止正在运行的作业时遇到了问题 我不确定使用 CarteSingleton java 是否正确 我正在使用自定义单例地图 我的代码如下 Job j