2010/1/14 Ifnu bima <ifnub...@gmail.com>
>
>
>
> > jasperReport = JasperCompileManager.
> >
> > compileReport("./src/perpustakaan/report/Anggota.jrxml");
>
> Ini seharusnya tidak diperlukan, yang dibuka aplikasi seharusnya
> adalah file .jasper bukan jrxml. Jadi setiap kali akan lihat report
> harus compile jrxml ke jasper. Dari iReport compile jrxml-nya dan copy
> jasper ke dalam project.

Actually, kita sekarang menganut aliran compile on the fly.
Biar gak harus nambah task compile report di ant.

Biar gak kena performance penalty compile tiap kali klik report, kita
bisa cache hasil kompilasinya seperti ini:

public class FormReport extends JPanel {
  private JasperReport report;

  public JasperReport getReport(){
    if(report == null){
      compileReport();
    }
    return report;
  }

  public void btnReportClicked(){
    getJasperReport().fillReport();
  }

}

Dengan cara ini, gak perlu compile pada saat build, include aja
langsung jrxml-nya.
Tiap kali dijalanin, dia akan compile sekali, setelah itu reuse objectnya.
Untuk aplikasi web, ini akan efisien, karena biasanya action class /
servlet instancenya dishare.
Untuk aplikasi desktop, sebaiknya dibuat jadi singleton, biar gak
compile setiap buka form.

--
Endy Muhardin
http://endy.artivisi.com
Y! : endymuhardin
-- life learn contribute --

Kirim email ke