Saltar al contenido

Fuga de recursos: el libro de trabajo nunca se cierra cuando se usa Apache.POI XSSFWorkbook

Luego de investigar con expertos en este tema, programadores de diversas áreas y profesores dimos con la respuesta a la cuestión y la dejamos plasmada en esta publicación.

Solución:

Tuve este problema, y ​​tenía poco sentido. Al final, rastreé el problema hasta que mi IDE (netbeans) estaba seleccionando una versión anterior de las bibliotecas de puntos de interés (v3.8) que no tenía el método “cerrar”. Así que revise su ruta de clases y busque importaciones duplicadas de diferentes versiones de las bibliotecas de PDI.

Los documentos dicen que la clase implementa Closeable. Así tiene un close() método y puede cerrar el libro de trabajo de esta manera:

XSSFWorkbook workbook = new XSSFWorkbook(fIP)

// Do your stuff;

workbook.close();

Dado que la clase también implementa AutoCloseable también puedes optar por un bloque de prueba con recursos:

try (XSSFWorkbook workbook = new XSSFWorkbook(fIP)) 
    // Do your stuff

Si utiliza este enfoque, el libro de trabajo se cerrará automáticamente después de que finalice el bloque de prueba.

Al final de la post puedes encontrar las anotaciones de otros gestores de proyectos, tú todavía tienes la libertad de insertar el tuyo si lo deseas.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *