我開發了一個基於Web的應用程序,它允許客戶端/用戶上傳文件到JVM內存。然後服務器端代碼將FTP文件傳送到另一臺服務器。這一切都在我的本地機器上正常工作,但我現在遇到了問題,讓我們在我們的測試環境服務器上工作。尋找幫助診斷與FTP傳輸使用Apache FTP客戶端服務器套接字問題
在測試環境服務器上,代碼成功連接並登錄到遠程Windows服務器,但在文件傳輸期間掛起。在目標服務器上創建一個空文件,但不傳輸字節。從JVM堆棧跟蹤並最終殺死線程:
[10/08/11 14:45:24:234 BST] 00000003 ThreadMonitor W WSVR0605W: Thread "WebContainer : 2" (00000033) has been active for 666083 milliseconds and may be hung. There is/are 1 thread(s) in total in the server that may be hung.
at java.net.PlainSocketImpl.socketAccept(Native Method)
at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:431)
at java.net.ServerSocket.implAccept(ServerSocket.java:464)
at java.net.ServerSocket.accept(ServerSocket.java:432)
at org.apache.commons.net.ftp.FTPClient._openDataConnection_(FTPClient.java:693)
at org.apache.commons.net.ftp.FTPClient.__storeFile(FTPClient.java:551)
at org.apache.commons.net.ftp.FTPClient.storeFile(FTPClient.java:1704)
... (my own app code stack trace from here on down)
看起來像一個插座的問題,但任何人都可以幫我找出哪臺機器上的問題嗎?它是測試環境JVM還是目標Windows服務器?我猜測它的測試環境服務器,否則我會在我的本地機器上看到這個問題?如果它位於測試環境服務器上,是否需要開放端口(如果需要,我需要什麼)?最受讚賞的任何幫助。
我的英雄! :)感謝一百萬,這確實有竅門,並可能爲我節省了幾天的麻煩。 –
嗨,我試過你的方式,但仍然得到其他錯誤。可以試試幫忙嗎? [link] http://stackoverflow.com/questions/24901224/java-lang-nullpointerexception-at-org-apache-commons-net-ftp-ftpclient-storefile –