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:
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;
    }
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
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]
ça prend beaucoup de temp avant renvoyer la réponce
quelle est la solution pour éviter cette ré instanciation inutile pour moi ???
Merci d'avance !