我有一个Talend工作,我正在建立一个ftp连接并下载文件。我想添加功能,如果ftphost没有响应,我可以在杀死作业之前重试连接n次。我看了lLogCatcher和tLoop,但这似乎没有达到目的。关于我应该采取哪些方向的任何指示都将不胜感激。
答案 0 :(得分:4)
要捕获Exception,你可以使用包含try和catch的tJavaFlex,然后通过玩条件你可以使用tLoop,我开发了这个小工作,因为我喜欢挑战,它的工作正常
我们需要2个上下文变量:
tLoop设置,使用时输入:
tJava_1:它只是生成不同的ip所以我可以执行测试,你可以根据你的情况删除它。
tJavaFlex:要捕获异常,请在开始代码框中写try{
,在结束代码框中写}catch(Exception e){System.out.println("to the next try ");}
。您必须使用iterate连接下一个组件。
tFTPConnection:您的FTP设置。
tJava_2:如果tFTPConnection没问题,我们需要通过改变上下文变量来进行tLoop中断循环,写下这一行:
context.isitok=1;
tJava_3:只是为了确保编排,它没有代码。
如果(订单:1):((Integer)globalMap.get("tLoop_1_CURRENT_ITERATION")) < context.trynb
如果(订单:2):((Integer)globalMap.get("tLoop_1_CURRENT_ITERATION")) >= context.trynb