Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[birt-report-engine-dev] Error when running multiple instance of the report engine

Hello,

I am doing some tests on the BIRT engine to check if multiple instance
of the engine can be runned simultaneously.

Problem description:
When I have 10 users that execute one time my report generation,
everything is ok. But if these 10 users try to generate 10 times
sequentially I got the following error:

Caused by: org.mozilla.javascript.EvaluatorException: Le constructeur
de "ReportDefn" est introuvable
	at org.mozilla.javascript.DefaultErrorReporter.runtimeError(DefaultErrorReporter.java:95)
	at org.mozilla.javascript.Context.reportRuntimeError(Context.java:1054)
	at org.mozilla.javascript.Context.reportRuntimeError(Context.java:1110)
	at org.mozilla.javascript.Context.reportRuntimeError1(Context.java:1073)
	at org.mozilla.javascript.ScriptRuntime.getExistingCtor(ScriptRuntime.java:1119)
	at org.mozilla.javascript.Context.newObject(Context.java:1548)
	at org.eclipse.birt.report.model.script.ModelJavaScriptWrapper.wrap(ModelJavaScriptWrapper.java:71)
	at org.eclipse.birt.core.script.ScriptContext$BIRTWrapper.wrap(ScriptContext.java:317)
	at org.mozilla.javascript.Context.javaToJS(Context.java:1723)
	at org.eclipse.birt.core.script.ScriptContext.registerBean(ScriptContext.java:108)
	at org.eclipse.birt.report.engine.executor.ExecutionContext.setRunnable(ExecutionContext.java:851)
	at org.eclipse.birt.report.engine.api.impl.EngineTask.<init>(EngineTask.java:83)
	at org.eclipse.birt.report.engine.api.impl.RunAndRenderTask.<init>(RunAndRenderTask.java:67)
	at org.eclipse.birt.report.engine.api.impl.ReportEngineHelper.createRunAndRenderTask(ReportEngineHelper.java:162)
	at org.eclipse.birt.report.engine.api.ReportEngine.createRunAndRenderTask(ReportEngine.java:261)
	at com.michelin.xxx.birt.sample.RunReport.generateReport(RunReport.java:68)
	at pagecode.Birt.doButton1Action(Birt.java:50)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:85)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:58)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:60)
	at java.lang.reflect.Method.invoke(Method.java:391)
	at com.sun.faces.el.MethodBindingImpl.invoke(MethodBindingImpl.java:127)
	... 21 more

Code:
here is the code I use to generate my report.

EngineConfig config = new EngineConfig();
config.setEngineHome("D://F272652//work//radweb//birt//birt-runtime-1_0//Report
Engine");

HTMLEmitterConfig hc = new HTMLEmitterConfig();
HTMLCompleteImageHandler imageHandler = new HTMLCompleteImageHandler();
hc.setImageHandler(imageHandler);
config.setEmitterConfiguration(HTMLRenderOption.OUTPUT_FORMAT_HTML, hc);

ReportEngine engine = new ReportEngine(config);

IReportRunnable report = null;
try {
	report = engine.openReportDesign(reportName);
} catch (EngineException e) {
	System.err.println("Report " + reportName + " not found!\n");
	engine.destroy();
	return;
}

if (info.booleanValue()) {
	showReportInfo(engine, report);
}

if (format != null) {
	HashMap params = new HashMap();
	parseParams(engine, report, params);

	IRunAndRenderTask task = engine.createRunAndRenderTask(report);
	HTMLRenderOption options = new HTMLRenderOption();
	options.setOutputFormat(format);
	String output = reportName.replaceFirst(".rptdesign", "." + format);
	options.setOutputFileName(output);
	task.setRenderOption(options);
	task.setParameterValues(params);

	try {
		task.run();
	} catch (EngineException e1) {
		System.err.println("Report " + reportName + " run failed.\n");
		System.err.println(e1.toString());
	}
}

engine.destroy();

I don't understand what could be the problem. Thanks for you help.

-- 
Olivier Jauze


Back to the top