Pregunta

Tengo una acción en struts 2 donde abre un FileInputStream, lee una imagen y la muestra en un jsp.

La pregunta es que cuando struts termine de obtener la imagen, ¿se encargará automáticamente del FileInputStream y close() o la secuencia se dejará open?

¿Fue útil?

Solución

Struts2 se encargará de cerrar el flujo de entrada una vez que haya hecho el trabajo por usted.

Aquí está el enlace al código fuente y puede ver muy bien que se ha cuidado al cerrar la transmisión.

Código fuente de Struts2 StreamResult

Aquí está el fragmento de código del mismo:

 finally {

           if (inputStream != null) inputStream.close();
           if (oOutput != null) oOutput.close();
        }

Hope le dará una idea clara de cómo van las cosas.

Otros consejos

El resultado cerrará el flujo de entrada;todo lo que hace la acción es proporcionar la corriente.Su código ya no tiene el control del flujo de entrada una vez que regresa la acción.

El código relevante está en org.apache.struts2.dispatcher.StreamResult:doExecute.

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