Friday, December 21, 2018

Cara mengatasi Java memory leak saat menulis excel dengan apache POI

Library POI adalah library yang disediakan oleh apache foundation yang salah satunya dapat dipergunakan untuk membaca dan menulis file format excel.

Kita dapat menggunakan library poi dengan menambahkan dependency maven pada pom.xml project

<dependency>
        <groupId>org.apache.poi</groupId>
        <artifactId>poi-ooxml</artifactId>
        <version>3.17</version>
</dependency>


gambar diatas adalah cara basic untuk menulis kedalam file excel, dan percayalah cara diatas hanya mampu menulis 200rb data, lebih dari itu memory java akan leak.

solusi dari sisi code agar memory java tidak leak adalah dengan cara merubah code menjadi seperti dibawah ini.

Dengan merubah code Workbook workbook = new XSSFWorkbook(); menjadi SXSSFWorkbook workbook = new SXSSFWorkbook(1000);.
Contoh code pertama melakukan semua proses di memory, namun pada contoh code ke dua, hanya 1000 baris yg dilakukan di memory, selebihnya akan dijalankan pada disk. Dengan cara ini maka akan mengurangi resiko memory leak pada java, dan mengurangi trial error untuk menaikan kapasitas JVM pada server.

No comments:

Post a Comment