2010-06-07 4 views
0

Une version éditée du code java:Pourquoi DefaultFileMonitor continue à répertorier les fichiers dans mon emplacement FTP dans une boucle?

FileSystemOptions opts = new FileSystemOptions(); 
DefaultFileSystemConfigBuilder.getInstance().setUserAuthenticator(opts, auth); 

// fileToMonitor is the FTP folder.     
LOG.debug("Trying to resolve file " + fileToMonitor + "..."); 
FileObject fo = fileSystemManager.resolveFile(fileToMonitor, opts); 

LOG.debug("File resolved, attempting to add to DefaultFileMonitor..."); 
DefaultFileMonitor monitor = createFileMonitor(processor); 

// This line causes PORT and LIST commnads to be sent to the FTP server 
monitor.addFile(fo); 
LOG.debug("File successfully, added to DefaultFileMonitor"); 

Je surveillais le trafic réseau et il semble que lorsque l'emplacement FTP est ajouté à l'écran, il envoie PORT et liste des commandes à deux dossiers sur le serveur. Le problème est qu'il continue à le faire (probablement jusqu'à ce qu'il est à court de ports clients pour appeler de

?. Voici un extrait du trafic réseau FTP:

50   0.312500   {TCP:2, IPv4:0} FTP  FTP:Request from Port 12620,'PORT xxx,xxx,xxx,xxx,49,114' 
51   0.312500   {TCP:2, IPv4:0} FTP  FTP:Response to Port 12620, '200 PORT command successful.' 
52   0.312500   {TCP:2, IPv4:0} FTP  FTP:Request from Port 12620,'LIST tmp/dump' 
<snipped> 
270  1.750000   {TCP:2, IPv4:0} FTP  FTP:Request from Port 12620,'PORT xxx,xxx,xxx,xxx,49,115' 
271  1.750000   {TCP:2, IPv4:0} FTP  FTP:Response to Port 12620, '200 PORT command successful.' 
272  1.750000   {TCP:2, IPv4:0} FTP  FTP:Request from Port 12620,'LIST tmp' 
<snipped> 
343  2.296875   {TCP:2, IPv4:0} FTP  FTP:Request from Port 12620,'PORT xxx,xxx,xxx,xxx,49,116' 
344  2.312500   {TCP:2, IPv4:0} FTP  FTP:Response to Port 12620, '200 PORT command successful.' 
345  2.312500   {TCP:2, IPv4:0} FTP  FTP:Request from Port 12620,'LIST tmp/dump' 
<snipped> 
560  3.687500   {TCP:2, IPv4:0} FTP  FTP:Response to Port 12620, '226 Transfer complete.' 
566  4.031250   {TCP:2, IPv4:0} FTP  FTP:Request from Port 12620,'PORT xxx,xxx,xxx,xxx,49,118' 
567  4.031250   {TCP:2, IPv4:0} FTP  FTP:Response to Port 12620, '200 PORT command successful.' 
568  4.031250   {TCP:2, IPv4:0} FTP  FTP:Request from Port 12620,'LIST tmp' 
<repeat> 

La partie est la réponse de la LISTE Notez que les commandes sont répétées pour les mêmes dossiers mais que le port change à chaque fois.Cela ne se produit pas lorsqu'il n'y a pas de fichiers à ces emplacements

Ce qui provoque ce comportement et comment puis-je le modifier récupère la liste une fois?

Modifier: J'ai réduit le problème à la méthode getChildren() sur le FileObject.

Ceci est la seule référence Internet que je pouvais trouver: http://mail-archives.apache.org/mod_mbox/commons-user/201005.mbox/%[email protected]%3E

Répondre

Questions connexes