您可以从 Pentaho Kettle 访问 Java 系统属性吗?

Can You Access Java System Properties From Pentaho Kettle?

我们 运行 来自我们 Java 应用程序的水壶。它有自己的从远程区域加载配置的方式。此外,我们的 Java 应用程序设置并 运行 了 Kettle 核心。

我想知道是否可以将系统属性直接传递到 Kettle 引擎中,或者它们是否可以通过某种方式随时可用。系统属性中是否有简单读取传递的转换?

我没能找到转换或任何文档,也找不到任何试图这样做的人。

启动 kettle pdi,创建新转换添加 "Get variable" 步骤。按底部的 "Get variables" 按钮,您将看到所有不同的变量,包括一个当前的系统属性。

@simar 提到的 Get variable 在命名参数中读取了名为 kettle.property 的文件,该文件位于执行服务器的主目录中。这允许您 运行 在开发和生产中使用不同参数的 PDI,而无需在 java 级别调整应用程序。

另一种方法是 Get System Info 步骤,它为您提供一组令人印象深刻的系统参数。

其他人提到的获取变量步骤是可行的方法。但是请注意,虽然这适用于 Java 运行时变量,但它不适用于系统环境变量,例如您在控制面板(在 Windows 上)设置的系统环境变量或在 Linux 上使用导出。要将变量传递给 PDI,您可以在 kettle.properties 中设置它们,或者在调用 Java 或帮助菜单的“设置环境变量”菜单中使用“-Dname=value”传递它们。有关详细信息,请参阅 https://help.pentaho.com/Documentation/5.1/0L0/0Y0/090/020/000/000