Pregunta

Estoy utilizando la clase FTPClient neto Comunes para sondear periódicamente un sitio ftp e intentar descargar un archivo. De vez en cuando el hilo está bloqueando indefinidamente cuando intenta leer desde el sitio y me preguntaba si alguien más había encontrado con este problema y podría ofrecer alguna solución?

Estoy utilizando el método de FTPClient retrieveFileStream(String) para obtener un identificador para un InputStream, que luego intento de leer. A continuación se muestra una traza de la pila parcial de la rosca bloqueado.

"FTP File Poll Thread" prio=10 tid=0x083b0800 nid=0x6324 runnable [0x65b5b000..0x65b5beb0]
   java.lang.Thread.State: RUNNABLE
        at java.net.SocketInputStream.socketRead0(Native Method)
        at java.net.SocketInputStream.read(SocketInputStream.java:129)
        at java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
        at java.io.BufferedInputStream.read(BufferedInputStream.java:237)
        - locked <0x5c851928> (a java.io.BufferedInputStream)
        at java.io.FilterInputStream.read(FilterInputStream.java:66)
        at java.io.PushbackInputStream.read(PushbackInputStream.java:122)
        at org.apache.commons.net.io.FromNetASCIIInputStream.__read(FromNetASCIIInputStream.java:75)
        at org.apache.commons.net.io.FromNetASCIIInputStream.read(FromNetASCIIInputStream.java:170)
        at java.io.FilterInputStream.read(FilterInputStream.java:116)
¿Fue útil?

Solución 2

El kludge Terminé usando aquí era para programar una tarea de generar una alerta si la operación FTP llevó más tiempo de X segundos. Que de hecho me encuentro javanioftp en Sourceforge, pero en mi situación que no garantiza la sobrecarga desarrollo de conmutación clientes.

Otros consejos

java.io es el bloqueo, es necesario utilizar el paquete java.nio. Nunca se utiliza FTP con java.nio, pero asuma que debe trabajar porque HTTP puede trabajar con java.nio.

Regards

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top