gpt4 book ai didi

java - 如何在达到所需条件时结束 tLoop

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:46:40 26 4
gpt4 key购买 nike

这是我的过程:

Job Layout and tJava_1 configuration

您可以在tJava_1 中看到Java 代码。它从文件中解析出数据,如果它到达最后一个搜索页面,它会将一个值设置为 true。这意味着 tLoop_1 的停止标准,如下所示:

tLoop configuration

我是否处理了 Talend 变量错误?达到 Java 代码中的条件后,如何停止循环运行?

最佳答案

您不需要“声明”或“迭代”值。您想要的是“条件”中的一个变量,它是一个 boolean 值,计算结果为 true 并在您想要结束循环时设置为 false

最佳实践表明,您应该将上下文变量用于在运行时或启动子作业时提供给作业的实际上下文,然后将 globalMap 用于单个作业中的全局可用变量。

因此在这种情况下,您应该将一个 boolean 型 globalMap 变量初始化为 true(您可以在 tJava 组件中使用 globalMap.put("loop",true) 或使用 tSetGlobalVar 组件执行此操作)然后在您的 tJavaRow 中,您可以使用 globalMap.put("loop",false) 将 globalMap 变量设置为 false。

如果您要使用“循环”作为您的 globalMap 变量,那么您将在 tLoop 的“条件”中使用 ((Boolean)globalMap.get("loop"))

一个有效的简单示例如下所示:

While loop job layout

首先,我们将循环变量设置为 true,因为我们希望它至少开始!

tSetGlobalVar configuration

然后我们将 while 循环的条件设置为 boolean 全局变量:

tLoop configuration

然后最后我们在 tJava 组件中运行一些代码来执行某些操作并有条件地将全局变量设置为 false,结束循环:

if (((Integer)globalMap.get("tLoop_2_CURRENT_ITERATION")) == 3) {
globalMap.put("loop", false);
} else {
System.out.println(((Integer)globalMap.get("tLoop_2_CURRENT_ITERATION")));
};

关于java - 如何在达到所需条件时结束 tLoop,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25041657/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com