1. 程式人生 > >JAVA下FTPClient操作卡死問題分析解決

JAVA下FTPClient操作卡死問題分析解決

    最近在做一個FTP資料下載功能,FTP Server由公司另一個專案組提供,本人開發的時候全是基於內網的,FTP Server並非直接使用提供方的,而是本人自己本地搭建的FTP Server,因此無法完全模擬實際情況。測試環境中程式一切正常,但在部署到生產環境的時候發現FTP操作出現不規律的卡死現象,程式執行到 FTPClient.listFiles()就停止不動,程式捕獲不到任務異常,就一直卡著,導致輪訓工作癱瘓。

         為了解決這個問題,我對FTPClient設定了ConnectTimeout、DataTimeout、DefaultTimeout,但是在生產環境中問題依舊存在。又經過一翻研究之後發現,FTPClent需要使用被動模式,在呼叫FTPClient.listFiles()或FTPClient.retrieveFile()這兩個方法之前,呼叫FTPClient.enterLocalPassiveMode();這個方法的意思就是每次資料連線之前,FTPClient告訴FTPServer開通一個埠來傳輸資料。為什麼要這樣做呢,因為FTPServer可能每次開啟不同的埠來傳輸資料,但是在linux上,由於安全限制,可能某些埠沒有開啟,所以就出現阻塞。OK,問題解決。

相關推薦

JAVAFTPClient操作問題分析解決

    最近在做一個FTP資料下載功能,FTP Server由公司另一個專案組提供,本人開發的時候全是基於內網的,FTP Server並非直接使用提供方的,而是本人自己本地搭建的FTP Server,因此無法完全模擬實際情況。測試環境中程式一切正常,但在部署到生產環境的時候

[JAVA]Apache FTPClient操作”問題的分析解決

1 import org.apache.commons.net.ftp.FTP; 2 import org.apache.commons.net.ftp.FTPClient; 3 import org.apache.commons.net.ftp.FTPFile; 4 import org.a

JAVA]Apache FTPClient操作”問題的分析解決

最近在和一個第三方的合作中不得已需要使用FTP檔案介面。由於FTP Server由對方提供,而且雙方背後各自的網路環境環境都很不單純等等原因,造成測試環境無法模擬實際情況。測試環境中程式一切正常,但是在部署到生產環境之後發現FTP操作不規律性出現“卡死”現象:程式捕獲不到任何

java查詢資料庫表解決方法

        五一回來上班,像往常一樣開啟電腦啟動eclipse執行專案,一切都很正常……         言歸正傳,先說說發生的現象,專案啟動一直卡死,設定的tomcat啟動超時時間120,不會是因為這個啟動失敗,環境用了好幾個月一直正常;        後來檢視日誌發

MapReduce配置遇到的問題和ubuntu 16.04使用eclipse建立工程時解決方法

1、左邊欄的Project Explorer裡一直不出現DFS Locations.   發現在把hadoop-eclipse-plugin-2.6.0.jar放到eclipse下的pluins資料夾下並且eclipse -clean之後依舊不顯示,後來找到問題所在。   在Linux虛擬機器裡換了新的E

webview裡面的頁面不能往拉(解決

webview裡面的頁面不能往下下拉解決     是不是存在固定div的頁面?如下面: 固定div  常用是: margin-left:0; margin-bottom: 0; posit

Ant 在Myeclipse8+ 編譯java解決方案

在Myeclipse中經常用到ant工具來編譯java工程。 選擇ant工具的步驟如下: Windows->Shown view->Ant 這樣就出項了ant檢視框。在ant檢視框中單擊右鍵,選擇addBuilderfile新增ant編譯檔案。 新增好

AMD cpu Pytorch 多並行問題解決

修改 res 錯誤 一個bug 問題解決 div 網絡 pytorch code dataparallel not working on nvidia gpus and amd cpus https://github.com/pytorch/pytorch/issu

【轉載】Remote System Explorer Operation總是運行後臺服務,eclipse解決辦法

free ons down 地址 log system ack star rdquo 原來是eclipse後臺進程在遠程操作,就是右下角顯示的“Remote System Explorer Operation”。折騰了半天,在Stack Overfl

MyEclipse 打開到一半時解決方法

技術 便是 一半 myeclipse 工作空間 plugins ins 重新 列表 如圖: 一直卡在這個地方動不了。 解決方法便是找到myeclipse的工作空間目錄下\.metadata\.plugins 找到列表下帶workbench的文件夾,並刪除。然後重新啟動My

關於Ubuntu18.04谷歌瀏覽器經常解決

scrip not 筆記 谷歌 img 復雜 其他 遇到 技術分享 老電腦本來用的是Win系列,後來改成Linux後就不卡了,這幾天同Notebook運行的Script開始復雜了,Ubuntu經常卡死(發公眾號也經常卡死),本來以為是Ubuntu的問題 後來一想,不對啊,

eclipse上一次沒有正確關閉,導致啟動的時候錯誤解決方法

delete eclipse 刪除 關閉 進入 nap 解決方法 文件 delet 關於 eclipse啟動卡死的問題(eclipse上一次沒有正確關閉,導致啟動的時候卡死錯誤解決方法),自己常用的解決方法: 方案一(推薦使用,如果沒有這個文件,就使用方案二):

[學習]Windows server 使用控制檯時容易解決方法

公司使用Windows server 下面的 cmd 命令列 控制檯開啟某一個 bat 檔案的方式 進行後臺使用.. 但是經常發現在winserver 2016 時 遇到卡死的情況, 今天中午我再進行Oracle的資料庫 impdp 時也遇到了這個問題...然後 簡單百度了下 發現解決問題的辦法為:

JDBC Oracle executeUpdate 問題解決

剛剛我妹妹問我一個問題,說在用jdbc 執行oracle的 刪除操作的時候程式卡死不動了。   問題分析: 對於這一類問題,一般都是資料庫事務未提交,導致executeUpdate卡死。 所以解決方案: 1、在執行完executeUpdate 後,記得將事務提交co

ubuntu軟體中心安裝matlab快捷方式總是解決方法

Ubuntu14.04下安裝的matlab,然後在ubuntu軟體中心安裝matlab快捷方式總是卡死,試了好多次都這樣,還好查到另一種安裝方式,終端中輸入:sudo apt-get install matlab-support,中間有個選擇目錄的地方,與在安裝過程中有一項是勾選”在 /usr/l

Excel2016 保存復制 問題解決

需要 選項 port 收獲 找到 格式 get href 公式 遇到的問題: 工作中經常碰到一些Excel表, 復制一行, 再粘貼要等5s以上才能顯示成功. 保存一下文檔, 也會出現頁面白屏卡死的情況, 經過網上多個帖子進行操作依舊無解, 最後找到了自己的方法得以解決. 我

Eclipse中JSP、Javascript檔案編輯時現象解決彙總

使用Eclipse編輯jsp、js檔案時,經常出現卡死現象,在網上百度了N次,經過N次優化調整後,卡死現象逐步好轉,具體那個方法起到作用,不太好講。將所有用過的方法羅列如下: 1、取消驗證 windows–>perferences–>validation 把 除了manual

eclipse經常解決方法總結

1、調整eclipse虛擬機器記憶體,修改配置檔案eclipse.ini記憶體引數。 下面是我在WIN7 32位系統,4G記憶體環境下的配置: -vmargs -Dosgi.requiredJavaVersion=1.5 -Xms256M -Xmx768M -XX:Per

chrome瀏覽器上傳圖片解決方法

最近用chrome瀏覽器上傳圖片時,總是卡死,不管是自己的程式,還是別人家的網站,都卡死。如圖: 只有解除安裝重灌之後才可以上傳,但是電腦關機重啟後,chrome瀏覽器必須重灌才行,找了很久,沒找到解

Linux終端 Ctrl+S 無法輸入問題

Linux終端下Ctrl+S卡死 第一次遇到 在vim插入模式下,習慣使用Ctrl+s儲存一下(在windows下的習慣),但是之後終端會卡死; 解決辦法 原因是在終端下“CTRL+S”代表鎖定螢幕顯示,使用“CTRL+Q”退出即可(解除之後,會出現在鎖定期間輸入