标签: talend
请查看图片。
这是一个流程,其中第一个组件执行数据库查询以找到QAR_ID(单行),如果找到了,那么就很好了。我正在尝试对此进行错误处理。如果未找到任何行,它将定向到tJava_11,它将引发Java异常并由另一个tJava组件记录。
我面临的问题是,当涉及到错误处理流程时,它会记录错误并仅转到“职位”部分。但是,我希望Talend采取OnSubJobOk路线,以便它继续其他步骤,而不是直接跳到“职位”部分。
我知道使用子作业是可能的,但是我不想继续创建n个子作业。
在同一工作中有什么方法可以做到吗?
答案 0 :(得分:0)
您可以删除runif并将get_QAR_ID中的两种情况都处理到上下文组件中。例如,查询数据库组件的NB_LINE变量后,如果它小于1则引发错误,否则设置该值。然后,您的工作将流到onSubjobOk。
答案 1 :(得分:0)
您可以执行以下操作:
在tJava_1中,如果查询未返回任何行,则记录错误,然后继续下一个子作业。无需在此处引发异常即可在之后立即捕获它。
tJava_1
如果发现任何行,则使用If触发器继续到下一个子作业(tJava_2)。
tJava_2