2015-04-20 55 views
0

我试图优化birt报告(有交叉表和小时网络节点统计图),使用birt 4.4.2运行时和jetty。但它给出了以下错误。使用birt 4.2.2运行时,相同的报告运行良好。Birt Viewer DataException(Birt-Viewer无法显示图表,org.eclipse.birt.data.engine.core.DataException将与Birt 4.4.2和jetty一起使用)

但是在eclipse中用4.4.2 jars替换所有4.2.2 jar并且部署// lib/birt-runtime-4_4_2/WebViewerExample/WEB-INF/lib之后,该报告不起作用。以下是错误的堆栈跟踪,附有完整的堆栈跟踪。请让我知道是否有其他需要。

org.eclipse.birt.data.engine.core.DataException: A report document error occurred when getting the save stream. 
The archive file has been closed. 
at org.eclipse.birt.data.engine.api.DataEngineContext.openOutputStream(DataEngineContext.java:371) 
at org.eclipse.birt.data.engine.api.DataEngineContext.getOutputStream(DataEngineContext.java:355) 
at org.eclipse.birt.data.engine.impl.DataEngineSession$ReportDocumentShutdownListener.saveNamingRelation(DataEngineSession.java:515) 
at org.eclipse.birt.data.engine.impl.DataEngineSession$ReportDocumentShutdownListener.dataEngineShutdown(DataEngineSession.java:495) 
at org.eclipse.birt.data.engine.impl.DataEngineImpl.shutdown(DataEngineImpl.java:577) 
at org.eclipse.birt.report.data.adapter.impl.DataRequestSessionImpl.shutdown(DataRequestSessionImpl.java:521) 
at org.eclipse.birt.report.engine.data.dte.AbstractDataEngine.shutdown(AbstractDataEngine.java:358) 
at org.eclipse.birt.report.engine.data.dte.DataGenerationEngine.shutdown(DataGenerationEngine.java:154) 
at org.eclipse.birt.report.engine.executor.ExecutionContext.close(ExecutionContext.java:491) 
at org.eclipse.birt.report.engine.api.impl.EngineTask.close(EngineTask.java:1717) 
at org.eclipse.birt.report.engine.api.impl.RunTask.close(RunTask.java:333) 
at org.eclipse.birt.report.service.ReportEngineService.runReport(ReportEngineService.java:1346) 
at org.eclipse.birt.report.service.BirtViewerReportService.runReport(BirtViewerReportService.java:158) 
at org.eclipse.birt.report.service.actionhandler.BirtRunReportActionHandler.__execute(BirtRunReportActionHandler.java:81) 
at org.eclipse.birt.report.service.actionhandler.BirtGetPageActionHandler.__checkDocumentExists(BirtGetPageActionHandler.java:58) 
at org.eclipse.birt.report.service.actionhandler.AbstractGetPageActionHandler.prepareParameters(AbstractGetPageActionHandler.java:118) 
at org.eclipse.birt.report.service.actionhandler.AbstractGetPageActionHandler.__execute(AbstractGetPageActionHandler.java:103) 
at org.eclipse.birt.report.service.actionhandler.AbstractBaseActionHandler.execute(AbstractBaseActionHandler.java:90) 
at org.eclipse.birt.report.soapengine.processor.AbstractBaseDocumentProcessor.__executeAction(AbstractBaseDocumentProcessor.java:47) 
at org.eclipse.birt.report.soapengine.processor.AbstractBaseComponentProcessor.executeAction(AbstractBaseComponentProcessor.java:143) 
at org.eclipse.birt.report.soapengine.processor.BirtDocumentProcessor.handleGetPage(BirtDocumentProcessor.java:87) 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
at java.lang.reflect.Method.invoke(Method.java:606) 
at org.eclipse.birt.report.soapengine.processor.AbstractBaseComponentProcessor.process(AbstractBaseComponentProcessor.java:112) 
at org.eclipse.birt.report.soapengine.endpoint.BirtSoapBindingImpl.getUpdatedObjects(BirtSoapBindingImpl.java:66) 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
at java.lang.reflect.Method.invoke(Method.java:606) 
at org.apache.axis.providers.java.RPCProvider.invokeMethod(RPCProvider.java:397) 
at org.apache.axis.providers.java.RPCProvider.processMessage(RPCProvider.java:186) 
at org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java:323) 
at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32) 
at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118) 
at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83) 
at org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:454) 
at org.apache.axis.server.AxisServer.invoke(AxisServer.java:281) 
at org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:699) 
at org.eclipse.birt.report.servlet.BirtSoapMessageDispatcherServlet.doPost(BirtSoapMessageDispatcherServlet.java:265) 
at javax.servlet.http.HttpServlet.service(HttpServlet.java:727) 
at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:327) 
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820) 
at org.eclipse.birt.report.servlet.BirtSoapMessageDispatcherServlet.service(BirtSoapMessageDispatcherServlet.java:122) 
at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:538) 
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1352) 
at org.eclipse.birt.report.filter.ViewerFilter.doFilter(ViewerFilter.java:68) 
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1323) 
at com.ericsson.ps.util.RequestFilter.doFilter(RequestFilter.java:38) 
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1323) 
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:476) 
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:119) 
at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:517) 
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:225) 
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:937) 
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:406) 
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:183) 
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:871) 
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:117) 
at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:247) 
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:110) 
at org.eclipse.jetty.server.Server.handle(Server.java:346) 
at org.eclipse.jetty.server.HttpConnection.handleRequest(HttpConnection.java:589) 
at org.eclipse.jetty.server.HttpConnection$RequestHandler.content(HttpConnection.java:1065) 
at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:823) 
at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:220) 
at org.eclipse.jetty.server.HttpConnection.handle(HttpConnection.java:411) 
at org.eclipse.jetty.server.bio.SocketConnector$ConnectorEndPoint.run(SocketConnector.java:241) 
at org.eclipse.jetty.server.ssl.SslSocketConnector$SslConnectorEndPoint.run(SslSocketConnector.java:664) 
at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:529) 
at java.lang.Thread.run(Thread.java:744) 
Caused by: java.io.IOException: The archive file has been closed. 
at org.eclipse.birt.core.archive.compound.ArchiveFile.createEntry(ArchiveFile.java:421) 
at org.eclipse.birt.core.archive.compound.ArchiveWriter.openRandomAccessStream(ArchiveWriter.java:68) 
at org.eclipse.birt.data.engine.api.DataEngineContext.openOutputStream(DataEngineContext.java:362) 
... 71 more 

回答

0

不知道这是否会有所帮助,但我们在一周前和今天再次遇到过类似的问题。解决它:我们从服务器上卸载BIRT并重新安装(与我们的报告模板完全相同的导出只有一点点更新)。之后报告运行良好。 我想下周我们会再次重新安装BIRT ... BR,M