Bonjour,

Lors de l'utilisation de Birt-viewer et d'une application war utilisant l'API de Birt. J'obtiens cette erreur lors de l'éxécution suivante :
  • Accès à l'application utilisant l'API Birt
  • Accès au Birt Viewer


Erreur :
12:10:15,654 INFO [STDOUT] at org.eclipse.birt.report.model.api.DesignEngin
e.newSessionHandle(DesignEngine.java:108)
12:10:15,656 INFO [STDOUT] at org.eclipse.birt.report.engine.parser.ReportP
arser.getDesignHandle(ReportParser.java:143)
12:10:15,657 INFO [STDOUT] at org.eclipse.birt.report.engine.api.impl.Repor
tEngineHelper.openReportDesign(ReportEngineHelper.java:251)
12:10:15,661 INFO [STDOUT] at org.eclipse.birt.report.engine.api.impl.Repor
tEngine.openReportDesign(ReportEngine.java:550)
12:10:15,665 INFO [STDOUT] at org.eclipse.birt.report.service.ReportEngineS
ervice.openReportDesign(ReportEngineService.java:366)
12:10:15,668 INFO [STDOUT] at org.eclipse.birt.report.utility.BirtUtility.g
etRunnableFromDesignFile(BirtUtility.java:590)
12:10:15,671 INFO [STDOUT] at org.eclipse.birt.report.context.ViewerAttribu
teBean.getDesignHandle(ViewerAttributeBean.java:641)
12:10:15,673 INFO [STDOUT] at org.eclipse.birt.report.context.ViewerAttribu
teBean.__init(ViewerAttributeBean.java:227)
12:10:15,676 INFO [STDOUT] at org.eclipse.birt.report.context.BaseAttribute
Bean.init(BaseAttributeBean.java:243)
12:10:15,679 INFO [STDOUT] at org.eclipse.birt.report.context.ViewerAttribu
teBean.<init>(ViewerAttributeBean.java:112)
12:10:15,681 INFO [STDOUT] at org.eclipse.birt.report.context.BirtContext._
_init(BirtContext.java:44)
12:10:15,683 INFO [STDOUT] at org.eclipse.birt.report.context.BaseContext.<
init>(BaseContext.java:69)
12:10:15,686 INFO [STDOUT] at org.eclipse.birt.report.context.BirtContext.<
init>(BirtContext.java:30)
12:10:15,687 INFO [STDOUT] at org.eclipse.birt.report.servlet.ViewerServlet
.__getContext(ViewerServlet.java:150)
12:10:15,689 INFO [STDOUT] at org.eclipse.birt.report.servlet.BirtSoapMessa
geDispatcherServlet.doGet(BirtSoapMessageDispatcherServlet.java:137)
12:10:15,691 INFO [STDOUT] at javax.servlet.http.HttpServlet.service(HttpSe
rvlet.java:697)
12:10:15,693 INFO [STDOUT] at org.apache.axis.transport.http.AxisServletBas
e.service(AxisServletBase.java:327)
12:10:15,696 INFO [STDOUT] at javax.servlet.http.HttpServlet.service(HttpSe
rvlet.java:810)
12:10:15,697 INFO [STDOUT] at org.eclipse.birt.report.servlet.BirtSoapMessa
geDispatcherServlet.service(BirtSoapMessageDispatcherServlet.java:112)
12:10:15,698 INFO [STDOUT] at org.apache.catalina.core.ApplicationFilterCha
in.internalDoFilter(ApplicationFilterChain.java:237)
12:10:15,702 INFO [STDOUT] at org.apache.catalina.core.ApplicationFilterCha
in.doFilter(ApplicationFilterChain.java:157)
12:10:15,703 INFO [STDOUT] at org.eclipse.birt.report.filter.ViewerFilter.d
oFilter(ViewerFilter.java:68)
12:10:15,704 INFO [STDOUT] at org.apache.catalina.core.ApplicationFilterCha
in.internalDoFilter(ApplicationFilterChain.java:186)
12:10:15,707 INFO [STDOUT] at org.apache.catalina.core.ApplicationFilterCha
in.doFilter(ApplicationFilterChain.java:157)
12:10:15,709 INFO [STDOUT] at org.jboss.web.tomcat.filters.ReplyHeaderFilte
r.doFilter(ReplyHeaderFilter.java:75)
12:10:15,712 INFO [STDOUT] at org.apache.catalina.core.ApplicationFilterCha
in.internalDoFilter(ApplicationFilterChain.java:186)
12:10:15,714 INFO [STDOUT] at org.apache.catalina.core.ApplicationFilterCha
in.doFilter(ApplicationFilterChain.java:157)
12:10:15,718 INFO [STDOUT] at org.apache.catalina.core.StandardWrapperValve
.invoke(StandardWrapperValve.java:214)
12:10:15,720 INFO [STDOUT] at org.apache.catalina.core.StandardValveContext
.invokeNext(StandardValveContext.java:104)
12:10:15,721 INFO [STDOUT] at org.apache.catalina.core.StandardPipeline.inv
oke(StandardPipeline.java:520)
12:10:15,725 INFO [STDOUT] at org.apache.catalina.core.StandardContextValve
.invokeInternal(StandardContextValve.java:198)
12:10:15,727 INFO [STDOUT] at org.apache.catalina.core.StandardContextValve
.invoke(StandardContextValve.java:152)
12:10:15,728 INFO [STDOUT] at org.apache.catalina.core.StandardValveContext
.invokeNext(StandardValveContext.java:104)
12:10:15,729 INFO [STDOUT] at org.jboss.web.tomcat.security.CustomPrincipal
Valve.invoke(CustomPrincipalValve.java:44)
12:10:15,730 INFO [STDOUT] at org.apache.catalina.core.StandardValveContext
.invokeNext(StandardValveContext.java:102)
12:10:15,731 INFO [STDOUT] at org.jboss.web.tomcat.security.SecurityAssocia
tionValve.invoke(SecurityAssociationValve.java:169)
12:10:15,734 INFO [STDOUT] at org.apache.catalina.core.StandardValveContext
.invokeNext(StandardValveContext.java:102)
12:10:15,735 INFO [STDOUT] at org.apache.catalina.core.StandardPipeline.inv
oke(StandardPipeline.java:520)
12:10:15,736 INFO [STDOUT] at org.apache.catalina.core.StandardHostValve.in
voke(StandardHostValve.java:137)
12:10:15,738 INFO [STDOUT] at org.apache.catalina.core.StandardValveContext
.invokeNext(StandardValveContext.java:104)
12:10:15,740 INFO [STDOUT] at org.apache.catalina.valves.ErrorReportValve.i
nvoke(ErrorReportValve.java:118)
12:10:15,741 INFO [STDOUT] at org.apache.catalina.core.StandardValveContext
.invokeNext(StandardValveContext.java:102)
12:10:15,743 INFO [STDOUT] at org.jboss.web.tomcat.tc5.jca.CachedConnection
Valve.invoke(CachedConnectionValve.java:139)
12:10:15,745 INFO [STDOUT] at org.apache.catalina.core.StandardValveContext
.invokeNext(StandardValveContext.java:102)
12:10:15,748 INFO [STDOUT] at org.apache.catalina.core.StandardPipeline.inv
oke(StandardPipeline.java:520)
12:10:15,749 INFO [STDOUT] at org.apache.catalina.core.StandardEngineValve.
invoke(StandardEngineValve.java:109)
12:10:15,751 INFO [STDOUT] at org.apache.catalina.core.StandardValveContext
.invokeNext(StandardValveContext.java:104)
12:10:15,754 INFO [STDOUT] at org.apache.catalina.core.StandardPipeline.inv
oke(StandardPipeline.java:520)
12:10:15,756 INFO [STDOUT] at org.apache.catalina.core.ContainerBase.invoke
(ContainerBase.java:929)
12:10:15,757 INFO [STDOUT] at org.apache.coyote.tomcat5.CoyoteAdapter.servi
ce(CoyoteAdapter.java:160)
12:10:15,760 INFO [STDOUT] at org.apache.coyote.http11.Http11Processor.proc
ess(Http11Processor.java:799)
12:10:15,761 INFO [STDOUT] at org.apache.coyote.http11.Http11Protocol$Http1
1ConnectionHandler.processConnection(Http11Protocol.java:705)
12:10:15,763 INFO [STDOUT] at org.apache.tomcat.util.net.TcpWorkerThread.ru
nIt(PoolTcpEndpoint.java:577)
12:10:15,766 INFO [STDOUT] at org.apache.tomcat.util.threads.ThreadPool$Con
trolRunnable.run(ThreadPool.java:683)
12:10:15,767 INFO [STDOUT] at java.lang.Thread.run(Thread.java:619)
Code de l'application war :
Code Java : 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
        String reportName = req.getParameter("report_name");
 
        EngineConfig engConfig = new EngineConfig();
        engConfig.setEngineHome("");
 
        IPlatformContext context = new PlatformServletContext( getServletContext() );
 
        Platform.startup(engConfig);
 
        IReportEngineFactory factory = (IReportEngineFactory) Platform.createFactoryObject( IReportEngineFactory.EXTENSION_REPORT_ENGINE_FACTORY );
        IReportEngine engine = factory.createReportEngine( engConfig );
        engine.changeLogLevel( Level.WARNING );
 
        IReportRunnable report = engine.openReportDesign("c:/" + reportName);
 
        //Create task to run and render the report,
        IRunAndRenderTask task = engine.createRunAndRenderTask(report); 
        //Set parent classloader for engine
        task.getAppContext().put(EngineConstants.APPCONTEXT_CLASSLOADER_KEY, this.getClass().getClassLoader()); 
 
        //Setup rendering to HTML/Excel
 
        HTMLRenderOption options = new HTMLRenderOption();
        options.setOutputStream(resp.getOutputStream());
        options.setOutputFormat("html");
        resp.setContentType("dummyNameForSaveDialogOpening/Test");
        options.setImageDirectory(ru.getReportImagePath());
        options.setBaseImageURL(ru.getReportImageUrl());
        options.setImageHandler(new HTMLServerImageHandler());
        options.setEmbeddable(false);
        task.setRenderOption(options);
        task.run();
        task.close();
 
        engine.destroy();
        Platform.shutdown();

Si j'enlève le Platform.shutdown() ça fonctionne correctement mais y a des fuites mémoires à priori.

Avez-vous une solution pour faire coéxister une application WAR qui utiliser l'API de Birt et le Birt Viewer sur un même serveur applicatif (jboss ou tomcat) ?

Merci d'avance,
Blured.