Re: Cómo saber si un fichero ya no está en uso
Sebastian Gurin <sgurin-nLx/x0uvtyR/[email protected]>
| Newsgroups | gmane.comp.java.javaspain |
|---|---|
| Organization | softpoint |
| Message-ID | <[email protected]> |
hola por lo que te entendí tu problema se resolvería utilizando el patrón de diseño Observer. O sea, el cuando el encriptador termina su trabajo, debería notificarlo a una clase responsable de comenzarf la descarga. cualquier duda a las órdenes. p/d: yo he descubierto que en la comunicación con aplicaciones de 3eros o en la comunicación (ajax) el envío de mensajes debe hacerse asincrónicamente, y una de las formas es como te comenté con observer.. suerte On Fri, 29 Aug 2008 14:27:53 +0200 "Daniel B" <[email protected]> wrote: > Buenas tardes, > > En un desarrollo que estamos haciendo tenemos que encriptar un fichero y > después descargarlo en el navegador del cliente (se abre una ventana típica > de descarga de archivos). Hasta ahora parecía que todo iba bien pero > comprobamos que sólo funciona cuando estamos depurando el código. Parece > raro pero tiene explicación: La encriptación genera un fichero destino que > no cierra y libera hasta que ha terminado su función. Sin embargo la > ejecución continúa y al intentar utilizar dicho fichero destino tenemos una > excepción porque está aún en uso. Al poner puntos de ruptura estamos parando > temporalmente la ejecución y da tiempo a que termine el proceso de > encriptación (que es pequeño pero suficiente para que provoque problemas en > tiempo de ejecución). > > ¿Cómo hacemos para saber si el fichero ya se ha terminado de encriptar y > podemos continuar procesando? ¿Con synchronized? ¿Se puede preguntar si un > fichero ya está cerrado (no encuentro la forma en el API)? ¿Cutremente con > un sleep? > > Gracias por vuestras ideas y perdonad por el lío de explicación. > -- Sebastian Gurin <sgurin-nLx/x0uvtyR/[email protected]>