Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Archived » BIRT » Error after creating the second report
Error after creating the second report [message #490572] Fri, 09 October 2009 08:52 Go to next message
No real name is currently offline No real nameFriend
Messages: 7
Registered: October 2009
Junior Member
Hello everyone,

I'm still testing BIRT, but i got a small problem.

The first call for the code to generate a document goes fine.

But if i call it again afterwards i get this error:

Servlet.service() for servlet pdfgeneration threw exception
java.lang.ExceptionInInitializerError: null
at org.eclipse.birt.report.engine.api.impl.ReportEngineFactory$ 1.run(ReportEngineFactory.java:18)
at org.eclipse.birt.report.engine.api.impl.ReportEngineFactory$ 1.run(ReportEngineFactory.java:1)
at java.security.AccessController.doPrivileged(Native Method)
at org.eclipse.birt.report.engine.api.impl.ReportEngineFactory. createReportEngine(ReportEngineFactory.java:14)
at com.axxes.fojofolio.server.service.birt.ExecuteReport.execut eReport(ExecuteReport.java:44)
at com.axxes.fojofolio.server.service.birt.PdfGeneration.doGet( PdfGeneration.java:42)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFi lter(ApplicationFilterChain.java:237)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(App licationFilterChain.java:157)
at org.apache.catalina.core.StandardWrapperValve.invoke(Standar dWrapperValve.java:214)
at org.apache.catalina.core.StandardValveContext.invokeNext(Sta ndardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPip eline.java:520)
at org.apache.catalina.core.StandardContextValve.invokeInternal (StandardContextValve.java:198)
at org.apache.catalina.core.StandardContextValve.invoke(Standar dContextValve.java:152)
at org.apache.catalina.core.StandardValveContext.invokeNext(Sta ndardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPip eline.java:520)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHo stValve.java:137)
at org.apache.catalina.core.StandardValveContext.invokeNext(Sta ndardValveContext.java:104)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorRepo rtValve.java:118)
at org.apache.catalina.core.StandardValveContext.invokeNext(Sta ndardValveContext.java:102)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPip eline.java:520)
at org.apache.catalina.core.StandardEngineValve.invoke(Standard EngineValve.java:109)
at org.apache.catalina.core.StandardValveContext.invokeNext(Sta ndardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPip eline.java:520)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase. java:929)
at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapte r.java:160)
at org.apache.coyote.http11.Http11Processor.process(Http11Proce ssor.java:799)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHand ler.processConnection(Http11Protocol.java:705)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndp oint.java:577)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.ru n(ThreadPool.java:683)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.IllegalStateException: null
at org.mozilla.javascript.ContextFactory.initGlobal(ContextFact ory.java:209)
at org.eclipse.birt.report.engine.api.impl.ReportEngine.<clinit >(ReportEngine.java:234)
at org.eclipse.birt.report.engine.api.impl.ReportEngineFactory$ 1.run(ReportEngineFactory.java:18)
at org.eclipse.birt.report.engine.api.impl.ReportEngineFactory$ 1.run(ReportEngineFactory.java:1)
at java.security.AccessController.doPrivileged(Native Method)
at org.eclipse.birt.report.engine.api.impl.ReportEngineFactory. createReportEngine(ReportEngineFactory.java:14)
at com.axxes.fojofolio.server.service.birt.ExecuteReport.execut eReport(ExecuteReport.java:44)
at com.axxes.fojofolio.server.service.birt.PdfGeneration.doGet( PdfGeneration.java:42)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFi lter(ApplicationFilterChain.java:237)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(App licationFilterChain.java:157)
at org.apache.catalina.core.StandardWrapperValve.invoke(Standar dWrapperValve.java:214)
at org.apache.catalina.core.StandardValveContext.invokeNext(Sta ndardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPip eline.java:520)
at org.apache.catalina.core.StandardContextValve.invokeInternal (StandardContextValve.java:198)
at org.apache.catalina.core.StandardContextValve.invoke(Standar dContextValve.java:152)
at org.apache.catalina.core.StandardValveContext.invokeNext(Sta ndardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPip eline.java:520)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHo stValve.java:137)
at org.apache.catalina.core.StandardValveContext.invokeNext(Sta ndardValveContext.java:104)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorRepo rtValve.java:118)
at org.apache.catalina.core.StandardValveContext.invokeNext(Sta ndardValveContext.java:102)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPip eline.java:520)
at org.apache.catalina.core.StandardEngineValve.invoke(Standard EngineValve.java:109)
at org.apache.catalina.core.StandardValveContext.invokeNext(Sta ndardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPip eline.java:520)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase. java:929)
at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapte r.java:160)
at org.apache.coyote.http11.Http11Processor.process(Http11Proce ssor.java:799)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHand ler.processConnection(Http11Protocol.java:705)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndp oint.java:577)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.ru n(ThreadPool.java:683)
at java.lang.Thread.run(Unknown Source)



code of the report generating:

public void executeReport() throws EngineException {

IReportEngine engine = null;
EngineConfig config = null;
IReportEngineFactory factory = null;

try {
config = new EngineConfig();
config
.setBIRTHome(" C:\\Users\\javadev\\Desktop\\birt-runtime-2_5_1\\ReportEngin e ");
config.setLogConfig(null, Level.FINE);

config
.getAppContext()
.put("OdaJDBCDriverClassPath",
"C:/.m2/repository/hsqldb/hsqldb/1.8.0.7/hsqldb-1.8.0.7.jar");

Platform.startup(config);

factory = (IReportEngineFactory) Platform
.createFactoryObject(IReportEngineFactory.EXTENSION_REPORT_E NGINE_FACTORY);

System.out.println(factory);
System.out.println(config);
engine = factory.createReportEngine(config);



IReportRunnable design = null;
design = engine
.openReportDesign("src/test/java/birt/reports/secondTry.rptdesign ");
IRunAndRenderTask task = engine.createRunAndRenderTask(design);

Calendar calendar = Calendar.getInstance();
calendar.set(2009, 2, 1);
Date date = calendar.getTime();

task.setParameterValue("startDate", date);

// PDFRenderOption options = new PDFRenderOption();
HTMLRenderOption options = new HTMLRenderOption();
options
.setOutputFileName("c:/Users/javadev/Desktop/tempbirt/test3.html ");

options.setOutputFormat(HTMLRenderOption.OUTPUT_FORMAT_HTML) ;

task.setRenderOption(options);
task.run();
task.close();
task = null;
engine.destroy();
engine = null;
} catch (Exception ex) {
System.out.println("Error in executeReport : ");
ex.printStackTrace();
} finally {
Platform.shutdown();

}
}


Strangly enough after the second time the error appears at:

engine = factory.createReportEngine(config);

Could someone have an idea why ?

thx a lot !
Re: Error after creating the second report [message #490971 is a reply to message #490572] Mon, 12 October 2009 15:54 Go to previous message
Jason Weathersby is currently offline Jason WeathersbyFriend
Messages: 9167
Registered: July 2009
Senior Member

Danny,

Only startup the platform once. This is an expensive operation. Every
time you wish to run a report just create a new engine task. If you are
writing a servlet take a look at this example:
http://wiki.eclipse.org/Servlet_Example_%28BIRT%29_2.1

Be sure to look at updated code at the bottom of the page.

Jason



danny.vandijck@axxes-it.com wrote:
> Hello everyone,
>
> I'm still testing BIRT, but i got a small problem.
>
> The first call for the code to generate a document goes fine.
>
> But if i call it again afterwards i get this error:
>
> Servlet.service() for servlet pdfgeneration threw exception
> java.lang.ExceptionInInitializerError: null
> at org.eclipse.birt.report.engine.api.impl.ReportEngineFactory$
> 1.run(ReportEngineFactory.java:18)
> at org.eclipse.birt.report.engine.api.impl.ReportEngineFactory$
> 1.run(ReportEngineFactory.java:1)
> at java.security.AccessController.doPrivileged(Native Method)
> at org.eclipse.birt.report.engine.api.impl.ReportEngineFactory.
> createReportEngine(ReportEngineFactory.java:14)
> at com.axxes.fojofolio.server.service.birt.ExecuteReport.execut
> eReport(ExecuteReport.java:44)
> at com.axxes.fojofolio.server.service.birt.PdfGeneration.doGet(
> PdfGeneration.java:42)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFi
> lter(ApplicationFilterChain.java:237)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(App
> licationFilterChain.java:157)
> at org.apache.catalina.core.StandardWrapperValve.invoke(Standar
> dWrapperValve.java:214)
> at org.apache.catalina.core.StandardValveContext.invokeNext(Sta
> ndardValveContext.java:104)
> at org.apache.catalina.core.StandardPipeline.invoke(StandardPip
> eline.java:520)
> at org.apache.catalina.core.StandardContextValve.invokeInternal
> (StandardContextValve.java:198)
> at org.apache.catalina.core.StandardContextValve.invoke(Standar
> dContextValve.java:152)
> at org.apache.catalina.core.StandardValveContext.invokeNext(Sta
> ndardValveContext.java:104)
> at org.apache.catalina.core.StandardPipeline.invoke(StandardPip
> eline.java:520)
> at org.apache.catalina.core.StandardHostValve.invoke(StandardHo
> stValve.java:137)
> at org.apache.catalina.core.StandardValveContext.invokeNext(Sta
> ndardValveContext.java:104)
> at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorRepo
> rtValve.java:118)
> at org.apache.catalina.core.StandardValveContext.invokeNext(Sta
> ndardValveContext.java:102)
> at org.apache.catalina.core.StandardPipeline.invoke(StandardPip
> eline.java:520)
> at org.apache.catalina.core.StandardEngineValve.invoke(Standard
> EngineValve.java:109)
> at org.apache.catalina.core.StandardValveContext.invokeNext(Sta
> ndardValveContext.java:104)
> at org.apache.catalina.core.StandardPipeline.invoke(StandardPip
> eline.java:520)
> at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.
> java:929)
> at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapte
> r.java:160)
> at org.apache.coyote.http11.Http11Processor.process(Http11Proce
> ssor.java:799)
> at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHand
> ler.processConnection(Http11Protocol.java:705)
> at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndp
> oint.java:577)
> at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.ru
> n(ThreadPool.java:683)
> at java.lang.Thread.run(Unknown Source)
> Caused by: java.lang.IllegalStateException: null
> at org.mozilla.javascript.ContextFactory.initGlobal(ContextFact
> ory.java:209)
> at org.eclipse.birt.report.engine.api.impl.ReportEngine.<clinit
> >(ReportEngine.java:234)
> at org.eclipse.birt.report.engine.api.impl.ReportEngineFactory$
> 1.run(ReportEngineFactory.java:18)
> at org.eclipse.birt.report.engine.api.impl.ReportEngineFactory$
> 1.run(ReportEngineFactory.java:1)
> at java.security.AccessController.doPrivileged(Native Method)
> at org.eclipse.birt.report.engine.api.impl.ReportEngineFactory.
> createReportEngine(ReportEngineFactory.java:14)
> at com.axxes.fojofolio.server.service.birt.ExecuteReport.execut
> eReport(ExecuteReport.java:44)
> at com.axxes.fojofolio.server.service.birt.PdfGeneration.doGet(
> PdfGeneration.java:42)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFi
> lter(ApplicationFilterChain.java:237)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(App
> licationFilterChain.java:157)
> at org.apache.catalina.core.StandardWrapperValve.invoke(Standar
> dWrapperValve.java:214)
> at org.apache.catalina.core.StandardValveContext.invokeNext(Sta
> ndardValveContext.java:104)
> at org.apache.catalina.core.StandardPipeline.invoke(StandardPip
> eline.java:520)
> at org.apache.catalina.core.StandardContextValve.invokeInternal
> (StandardContextValve.java:198)
> at org.apache.catalina.core.StandardContextValve.invoke(Standar
> dContextValve.java:152)
> at org.apache.catalina.core.StandardValveContext.invokeNext(Sta
> ndardValveContext.java:104)
> at org.apache.catalina.core.StandardPipeline.invoke(StandardPip
> eline.java:520)
> at org.apache.catalina.core.StandardHostValve.invoke(StandardHo
> stValve.java:137)
> at org.apache.catalina.core.StandardValveContext.invokeNext(Sta
> ndardValveContext.java:104)
> at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorRepo
> rtValve.java:118)
> at org.apache.catalina.core.StandardValveContext.invokeNext(Sta
> ndardValveContext.java:102)
> at org.apache.catalina.core.StandardPipeline.invoke(StandardPip
> eline.java:520)
> at org.apache.catalina.core.StandardEngineValve.invoke(Standard
> EngineValve.java:109)
> at org.apache.catalina.core.StandardValveContext.invokeNext(Sta
> ndardValveContext.java:104)
> at org.apache.catalina.core.StandardPipeline.invoke(StandardPip
> eline.java:520)
> at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.
> java:929)
> at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapte
> r.java:160)
> at org.apache.coyote.http11.Http11Processor.process(Http11Proce
> ssor.java:799)
> at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHand
> ler.processConnection(Http11Protocol.java:705)
> at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndp
> oint.java:577)
> at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.ru
> n(ThreadPool.java:683)
> at java.lang.Thread.run(Unknown Source)
>
>
>
> code of the report generating:
>
> public void executeReport() throws EngineException {
>
> IReportEngine engine = null;
> EngineConfig config = null;
> IReportEngineFactory factory = null;
>
> try {
> config = new EngineConfig();
> config
> .setBIRTHome("
> C:\\Users\\javadev\\Desktop\\birt-runtime-2_5_1\\ReportEngin e ");
> config.setLogConfig(null, Level.FINE);
>
> config
> .getAppContext()
> .put("OdaJDBCDriverClassPath",
>
> "C:/.m2/repository/hsqldb/hsqldb/1.8.0.7/hsqldb-1.8.0.7.jar");
>
> Platform.startup(config);
>
> factory = (IReportEngineFactory) Platform
>
> .createFactoryObject(IReportEngineFactory.EXTENSION_REPORT_E
> NGINE_FACTORY);
>
> System.out.println(factory);
> System.out.println(config);
> engine = factory.createReportEngine(config);
>
>
>
> IReportRunnable design = null;
> design = engine
>
> .openReportDesign("src/test/java/birt/reports/secondTry.rptdesign ");
> IRunAndRenderTask task = engine.createRunAndRenderTask(design);
>
> Calendar calendar = Calendar.getInstance();
> calendar.set(2009, 2, 1);
> Date date = calendar.getTime();
>
> task.setParameterValue("startDate", date);
>
> // PDFRenderOption options = new PDFRenderOption();
> HTMLRenderOption options = new HTMLRenderOption();
> options
>
> .setOutputFileName("c:/Users/javadev/Desktop/tempbirt/test3.html ");
>
> options.setOutputFormat(HTMLRenderOption.OUTPUT_FORMAT_HTML) ;
>
> task.setRenderOption(options);
> task.run();
> task.close();
> task = null;
> engine.destroy();
> engine = null;
> } catch (Exception ex) {
> System.out.println("Error in executeReport : ");
> ex.printStackTrace();
> } finally {
> Platform.shutdown();
>
> }
> }
>
>
> Strangly enough after the second time the error appears at:
>
> engine = factory.createReportEngine(config);
>
> Could someone have an idea why ?
>
> thx a lot !
Previous Topic:ReportScripting in BIRT 2.2.1 : Problem with the evaluation of an Expression
Next Topic:Mixed-page render performance
Goto Forum:
  


Current Time: Fri Apr 19 19:40:28 GMT 2024

Powered by FUDForum. Page generated in 0.02271 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top