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

时间:2017-08-11 18:59:13

标签: java kettle

我们从Java应用程序运行Kettle。它有自己的方法从远程区域加载配置。此外,我们的Java应用程序设置并运行Kettle Core。

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

我无法找到关于此的转换或任何文档,或任何尝试执行此操作的人。

3 个答案:

答案 0 :(得分:2)

启动水壶pdi,创建新的转换添加“获取变量”步骤。按下底部的“获取变量”按钮,您将看到所有不同的变量,包括一个当前系统属性。

enter image description here

答案 1 :(得分:0)

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

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

答案 2 :(得分:0)

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