Apache ftpserver (Java) を使用しています。ファイルが ftp 経由でアップロードされたときに、プログラムに通知が必要です。可能のようですが、やり方がわかりません。
そこに解決策はありますか?
mina.apache.org/ftpserver
ftplet を使用してすべての通知を取得できます。これをチェックしてください... http://apilevel.wordpress.com/2011/05/12/ftplet-servlet-for-apache-ftpserver/
私は、ftpserver 自体で実行されているデスクトップ プログラムを持っていると仮定しています。そのため、ファイルが同じ ftpserver にアップロードされるとすぐに、プログラムはそれに通知する必要があります...そうです.!!
どれどれ....
ファイルがアップロードされるディレクトリを ftp サーバーに作成したと確信しています。
同じサーバー上で実行されているこのプログラムを作成して、そのフォルダー/ディレクトリ内のファイルの総数を2分ごとに、または要件に従って確認し続けます..プログラムがファイルの数が増加したことに気付いたら、私はプログラムで何らかのイベントを発生させて通知します。
どうやってするの...
ファイルの数が変更された場合にディレクトリをループし続けるために、別のスレッドを作成します。Event Dispatcher スレッドにそれを行わせないでください。そうしないと、GUI がハングします。
以下のロジックを試してください..
private static int max = 0; // i am assuming the folder is Empty.
while(true) {
File f = new File("path_of_files_on_ftp_server");
File[] farr = f.listFiles();
if ( farr.length > max ){
// There has been an upload......
// Raise the alarm here, by doing some event....
max = farr.length ;
}
else {
continue;
}
}