Java - Jasper Lento

 
Vista:

Jasper Lento

Publicado por socar (1 intervención) el 23/01/2006 22:58:31
Hola amigos del foro , estoy utilizando jasper report en mis reportes, y lo que me ocurre es
que tarda entre 15 y 20 segundos para generar el reporte.Si alguien sabe como agilizar
la carga del mismo le agradeceria la ayuda

gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Jasper Lento

Publicado por Marioko (24 intervenciones) el 24/01/2006 02:25:03
Hola, yo utilzo mucho JasperReport y no se demora tanto. Si puedes coloca el codigo que estas usando para generar el reporte, tal vez de esa forma sera mas facil ayudarte
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Jasper Lento

Publicado por socar (8 intervenciones) el 24/01/2006 11:26:08
Hola Marioko, antes todo gracias por tu atencion ,te comento que estoy utilizndo jasperreports-1.1.1.jar y el codigo es el siguiente

// Cargo el reporte maestro
long start = System.currentTimeMillis();
JasperReport masterReport = null;
masterReport = (JasperReport) JRLoader.loadObject(fileNameMaster);
log.addLine(sFecha + " - load Object Master: " + (System.currentTimeMillis() - start));

// Cargo el subreporte
JasperReport subReport = null;
subReport = (JasperReport) JRLoader.loadObject(fileNameSubReport);
log.addLine(sFecha + " - load Object SubReport: " + (System.currentTimeMillis() - start));

Map parameters = new HashMap();
parameters.put("reserva", reserva);
parameters.put("subreport", subReport);
parameters.put("servicios", new jrServiciosDataSource(reserva));

// Ejemplo con data source
JasperPrint masterPrint = null;


// HASTA ACA VA RAPIDO PERO LAS LINEAS DE ABAJO SON LAS QUE ME TARDAN

if ( iTipoSalida == TIPO_SALIDA_IMPRESORA ){
masterPrint = JasperFillManager.fillReport(masterReport, parameters,new jrPasajerosDataSource(conexion,reserva));
log.addLine(sFecha + " - Fill Report: " + (System.currentTimeMillis() - start));
JasperManager.printReport(masterPrint, true);
log.addLine(sFecha + " - JasperManager: " + (System.currentTimeMillis() - start));

}
else if (iTipoSalida == TIPO_VISTA_PRELIMINAR ) {
masterPrint = JasperFillManager.fillReport(masterReport, parameters,new jrPasajerosDataSource(conexion,reserva));
log.addLine(sFecha + " - Fill Report: " + (System.currentTimeMillis() - start));
JasperViewer.viewReport(masterPrint, false);
log.addLine(sFecha + " - JasperViewer: " + (System.currentTimeMillis() - start));
}

Si vos tubieras algun codigo que optimize el proceso por favor enviamelo .Muchas Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Jasper Lento

Publicado por Danilo Juvinao (278 intervenciones) el 25/01/2006 18:46:20
Hola!!.

Mucha atencion la linea donde haces el jasperFillManager

cada vez que haces eso estas creando una nueva conexion con la base de datos lo que te vuelve el proceso demorado y a la vez no es sano para la base de datos ya que construyes un nuevo socket que queda abierto con la bd

deberias traer por alguna funcion una variable tipo Connection que tenga la conexion que usas durante todo el programa para que no haga todo el proceso de autenticacion que hace la base de datos al crear una nueva conexion.

ademas no se si trabajas con jdbc u odbc, pero ten en cuenta que si es odbc, es un tipo de conexion mas lenta que la nativa de java(jdbc)

Espero haber sido de ayuda.

Ing. Danilo Juvinao
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Jasper Lento

Publicado por Gracias (8 intervenciones) el 01/02/2006 11:30:39
Gracias por la ayuda
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar