2015-05-21 38 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