带条件和空值的Talend tLoop问题

时间:2019-09-19 19:45:52

标签: while-loop null amazon-redshift talend

我有一项工作,需要插入一行(到Redshift中),然后等待另一个过程更新其中一个字段中的值。该字段以 null 开始,只要保持为 null ,作业就会等待并每分钟轮询一次。当字段 更新时:如果为0,则结束-报告成功;如果不为0,则结束-报告失败。

我有插入,等待(使用tLoop和Thread.sleep)以及查询新行。

但是我不知道如何构建我的最后一步。我有一个tJavaRow,在其中检查return_code是否不为null并设置循环条件以结束循环。然后 else 子句执行睡眠操作,然后执行 continue 语句。

从tJavaRow中,我有三个输出:一个是到tJava(空,因为我必须有一个输出),然后是两个 if 条件(流),它们只是关闭RS连接(如果rc = 0)或tDie(如果rc!= 0)。

(当然)我得到了一个 NullPointerException ,但是我怀疑我的方法不可行。

我的问题:如何解决NullPointerExecption(如果这是真正的问题-可能不是),或者如何更改工作以完成所需的工作。我的意思是“ ...想要吗?”

工作图像: job current structure

1 个答案:

答案 0 :(得分:0)

关闭-如果是(rc != null && rc == 0) tDie-如果:(rc != null && rc != 0)

据我了解,我希望这可以解决。