15

Apache Commons Net FTPClient を使用して FTP ロケーションをトラバースし、Excel ファイルに出力を取得する Java コードを作成しています。コードは約 5 分間正しく実行されますが、IOException が発生します。

org.apache.commons.net.ftp.FTPConnectionClosedException: FTP response 421 received.  Server closed connection.

commons-net-3.0.1.jar を使用しています。私はいくつかの研究開発を行い、試しました:

setDefaultTimeout(6000); 
setConnectTimeout(3000);
setSoTimeout(3000);
enterLocalPassiveMode();

と送信NOOPしますが、それでも同じエラーが発生します。

私がやろうとしているのは、ディレクトリをトラバースすることだけです.ファイルが見つかった場合は、Excelでファイル名とファイルの更新日を取得するよりも、ディレクトリが見つかった場合は内部に入り、ファイルが再び見つかるまで実行します.

助けて、他の情報が必要かどうか尋ねてください。私はJAVAが初めてです。

4

2 に答える 2

19

こちらをご覧ください: http://kb.globalscape.com/KnowledgebaseArticle10142.aspx

    エラー 421 サービスが利用できません。制御接続を閉じています。
    エラー 421 ユーザー制限に達しました
    エラー 421 接続を行う権限がありません
    エラー 421 最大接続数に達しました
    エラー 421 最大接続数を超えました

おそらく、接続を再利用しているのではなく、リクエストごとに新しい接続を使用していて、接続制限に達するまでサーバーに接続をあふれさせているのかもしれません。接続を閉じるか、再開してみてください。

于 2014-07-17T09:28:04.130 に答える
3

今後の参考のために..

@fiffy による解決策が機能しない場合は、TLS (FTPS/セキュア接続) を有効にしてみてください。私のサーバーは FTPS プロトコルのみを受け入れるように設定されていたため、暗号化されていない接続を拒否していたため、TLS (FTPS) を有効にしました。問題を解決するのに役立ちました。

注:- Netbeansは Java にも組み込まれているため、このエラーFTP response 421 receivedNetbeansで非常に顕著です。

于 2014-09-01T12:22:53.037 に答える