Bonjour à tous,
Je developpe une application web(JSF) en utilisant JasperReports pour générer les rapports et le module Spring Dao
quand j'éxécute la méthode suivante:
J'ai dans la console :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44 public String print_action() throws ClassNotFoundException,SQLException, JRException, IOException { try { FacesContext context = FacesContext.getCurrentInstance(); ServletContext servletContext = (ServletContext)context.getExternalContext().getContext(); File fileXml = new File("c:/BeanDSReport.jrxml"); if (!fileXml.exists()) throw new JRRuntimeException("File .jrxml not found. The report design must be compiled first."); else{ HashMap mapUnit = new HashMap() ; HashMap model = new HashMap(); model.put("title",label_titre_entete); JasperDesign jasperDesign = JRXmlLoader.load(fileXml); JasperReport jasperReport = JasperCompileManager.compileReport(jasperDesign); JRBeanCollectionDataSource datasource; datasource = new JRBeanCollectionDataSource(reportRows); byte[] bytes = JasperRunManager.runReportToPdf(jasperReport, model , datasource); System.out.println("Rapport Générer avec Succée"); System.out.println("/ bytes.length == "+bytes.length); HttpServletResponse response = (HttpServletResponse) context.getExternalContext().getResponse(); response.setContentType("application/pdf"); response.setHeader("Content-disposition", "inline"); response.addHeader("Content-disposition","attachment;filename=rapport.pdf"); response.setContentLength(bytes.length); response.getOutputStream().write(bytes); response.setContentType("application/pdf"); context.responseComplete(); } } catch (JRException jre) { jre.printStackTrace(); } return null; }
ça prend beaucoup de temp avant renvoyer la réponce
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 4 sept. 2009 11:37:42 org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions INFO: Loading XML bean definitions from URL [file:/C:/Program%20Files/Apache%20Software%20Foundation/apache-tomcat-6.0.20/work/Catalina/localhost/GestionCommerciale/loader/net/sf/jasperreports/chartthemes/spring/beans/chartThemesBeans.xml] 4 sept. 2009 11:37:42 org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions INFO: Loading XML bean definitions from URL [file:/C:/Program%20Files/Apache%20Software%20Foundation/apache-tomcat-6.0.20/work/Catalina/localhost/GestionCommerciale/loader/net/sf/jasperreports/chartthemes/spring/beans/defaultChartPropertiesBean.xml] 4 sept. 2009 11:37:42 org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions INFO: Loading XML bean definitions from URL [file:/C:/Program%20Files/Apache%20Software%20Foundation/apache-tomcat-6.0.20/work/Catalina/localhost/GestionCommerciale/loader/net/sf/jasperreports/chartthemes/spring/beans/chartConstantsBean.xml] 4 sept. 2009 11:37:43 org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions INFO: Loading XML bean definitions from URL [file:/C:/Program%20Files/Apache%20Software%20Foundation/apache-tomcat-6.0.20/work/Catalina/localhost/GestionCommerciale/loader/net/sf/jasperreports/chartthemes/spring/beans/eyeCandySixtiesChartPropertiesBean.xml] 4 sept. 2009 11:37:43 org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions INFO: Loading XML bean definitions from URL [file:/C:/Program%20Files/Apache%20Software%20Foundation/apache-tomcat-6.0.20/work/Catalina/localhost/GestionCommerciale/loader/net/sf/jasperreports/chartthemes/spring/beans/chartConstantsBean.xml] 4 sept. 2009 11:37:43 org.springframework.beans.factory.support.DefaultListableBeanFactory registerBeanDefinition INFO: Overriding bean definition for bean 'isTrue': replacing [Generic bean: class [org.springframework.beans.factory.config.FieldRetrievingFactoryBean]; scope=singleton; abstract=false; lazyInit=false; autowireMode=0; dependencyCheck=0; autowireCandidate=true; primary=false; factoryBeanName=null; factoryMethodName=null; initMethodName=null; destroyMethodName=null] with [Generic bean: class [org.springframework.beans.factory.config.FieldRetrievingFactoryBean]; scope=singleton; abstract=false; lazyInit=false; autowireMode=0; dependencyCheck=0; autowireCandidate=true; primary=false; factoryBeanName=null; factoryMethodName=null; initMethodName=null; destroyMethodName=null] 4 sept. 2009 11:37:43 org.springframework.beans.factory.support.DefaultListableBeanFactory registerBeanDefinition INFO: Overriding bean definition for bean 'isFalse': replacing [Generic bean: class [org.springframework.beans.factory.config.FieldRetrievingFactoryBean]; scope=singleton; abstract=false; lazyInit=false; autowireMode=0; dependencyCheck=0; autowireCandidate=true; primary=false; factoryBeanName=null; factoryMethodName=null; initMethodName=null; destroyMethodName=null] with [Generic bean: class [org.springframework.beans.factory.config.FieldRetrievingFactoryBean]; scope=singleton; abstract=false; lazyInit=false; autowireMode=0; dependencyCheck=0; autowireCandidate=true; primary=false; factoryBeanName=null; factoryMethodName=null; initMethodName=null; destroyMethodName=null] 4 sept. 2009 11:37:43 org.springframework.beans.factory.support.DefaultListableBeanFactory registerBeanDefinition INFO: Overriding bean definition for bean 'fontPlainStyle': replacing [Generic bean: class [org.springframework.beans.factory.config.FieldRetrievingFactoryBean]; scope=singleton; abstract=false; lazyInit=false; autowireMode=0; dependencyCheck=0; autowireCandidate=true; primary=false; factoryBeanName=null; factoryMethodName=null; initMethodName=null; destroyMethodName=null] with [Generic bean: class [org.springframework.beans.factory.config.FieldRetrievingFactoryBean]; scope=singleton; abstract=false; lazyInit=false; autowireMode=0; dependencyCheck=0; autowireCandidate=true; primary=false; factoryBeanName=null; factoryMethodName=null; initMethodName=null; destroyMethodName=null] 4 sept. 2009 11:37:43 org.springframework.beans.factory.support.DefaultListableBeanFactory registerBeanDefinition INFO: Overriding bean definition for bean 'fontBoldStyle': replacing [Generic bean: class [org.springframework.beans.factory.config.FieldRetrievingFactoryBean]; scope=singleton; abstract=false; lazyInit=false; autowireMode=0; dependencyCheck=0; autowireCandidate=true; primary=false; factoryBeanName=null; factoryMethodName=null; initMethodName=null; destroyMethodName=null] with [Generic bean: class [org.springframework.beans.factory.config.FieldRetrievingFactoryBean]; scope=singleton; abstract=false; lazyInit=false; autowireMode=0; dependencyCheck=0; autowireCandidate=true; primary=false; factoryBeanName=null; factoryMethodName=null; initMethodName=null; destroyMethodName=null] 4 sept. 2009 11:37:43 org.springframework.beans.factory.support.DefaultListableBeanFactory registerBeanDefinition ................. INFO: Overriding bean definition for bean 'xyLineType': replacing [Generic bean: class [org.springframework.beans.factory.config.FieldRetrievingFactoryBean]; scope=singleton; abstract=false; lazyInit=false; autowireMode=0; dependencyCheck=0; autowireCandidate=true; primary=false; factoryBeanName=null; factoryMethodName=null; initMethodName=null; destroyMethodName=null] with [Generic bean: class [org.springframework.beans.factory.config.FieldRetrievingFactoryBean]; scope=singleton; abstract=false; lazyInit=false; autowireMode=0; dependencyCheck=0; autowireCandidate=true; primary=false; factoryBeanName=null; factoryMethodName=null; initMethodName=null; destroyMethodName=null] 4 sept. 2009 11:38:20 org.springframework.beans.factory.support.DefaultListableBeanFactory registerBeanDefinition INFO: Overriding bean definition for bean 'stackedAreaType': replacing [Generic bean: class [org.springframework.beans.factory.config.FieldRetrievingFactoryBean]; scope=singleton; abstract=false; lazyInit=false; autowireMode=0; dependencyCheck=0; autowireCandidate=true; primary=false; factoryBeanName=null; factoryMethodName=null; initMethodName=null; destroyMethodName=null] with [Generic bean: class [org.springframework.beans.factory.config.FieldRetrievingFactoryBean]; scope=singleton; abstract=false; lazyInit=false; autowireMode=0; dependencyCheck=0; autowireCandidate=true; primary=false; factoryBeanName=null; factoryMethodName=null; initMethodName=null; destroyMethodName=null] 4 sept. 2009 11:38:20 org.springframework.beans.factory.support.DefaultListableBeanFactory registerBeanDefinition INFO: Overriding bean definition for bean 'ganttType': replacing [Generic bean: class [org.springframework.beans.factory.config.FieldRetrievingFactoryBean]; scope=singleton; abstract=false; lazyInit=false; autowireMode=0; dependencyCheck=0; autowireCandidate=true; primary=false; factoryBeanName=null; factoryMethodName=null; initMethodName=null; destroyMethodName=null] with [Generic bean: class [org.springframework.beans.factory.config.FieldRetrievingFactoryBean]; scope=singleton; abstract=false; lazyInit=false; autowireMode=0; dependencyCheck=0; autowireCandidate=true; primary=false; factoryBeanName=null; factoryMethodName=null; initMethodName=null; destroyMethodName=null]
quelle est la solution pour éviter cette ré instanciation inutile pour moi ???
Merci d'avance !
Partager