2015-05-21 21 views
2

我有一个Talend作业,我正在创建一个ftp连接并下载一个文件。我想添加功能,如果ftphost没有响应,我可以在杀死作业前重试连接n次。我看着lLogCatcher和tLoop,但似乎没有达到目的。任何方向我应该采取指针将不胜感激。在Talend中捕获ftp异常并重试

回答

3

为了赶上例外,你可以使用含有tJavaFlex一个尝试,渔获物,然后用你可以使用tLoop条件下打球,因为我喜欢有挑战性的我已经开发了这个小的工作,其工作正常 enter image description here

  1. 我们需要2环境变量:

    • trynb:INT(最大尝试次数)
    • isitok:INT(默认为0,我们将使用它)
  2. tLoop设置,使用而类型:

enter image description here

  • tJava_1:它只是以产生不同的IP,所以我可以执行该测试,您可以将其移除以供处理。

  • tJavaFlex:捕捉异常,在开始代码框中输入try{,在结束代码框中输入}catch(Exception e){System.out.println("to the next try ");}。你必须使用迭代来连接下一个组件。

  • 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

  • +0

    该解决方案是写得很好,让我对如何处理这个问题的想法。非常感谢您的时间和建议。 – user1486984