我正在生成I-net报告。启动我的应用程序后,第一个报告包含所需的新数据,但是当我尝试使用新数据生成新报告时-导出的报告(pdf)包含与第一个报告相同的数据。 数据存储在Oracle DB表(全局临时表)中。
Engine engine = new Engine(InetExportFormat.EXPORT_PDF);
engine.setReportFile(reportUrl);
engine.setConnection(connection);
engine.execute()
//receiving the pdf report from engine
fos = new FileOutputStream(pdfFile);
bos = new BufferedOutputStream(fos);
for (int i = 1; i <= engine.getPageCount(); i++) {
bos.write(engine.getPageData(i));
bos.flush();
}
每个“生成阶段”的连接和 pdfFile 是新的。我测试了它-每次表中的数据都是新的-从DB中获取旧数据是不可能的。因此,应将其缓存或类似的内容。
我正在关闭所有打开的连接。
报告文件每次都是新文件-一些颜色是随机变化的,因此我可以发现差异。
有什么想法为什么我会出现这种情况?
#EDIT 上瘾-第一个报告生成的时间总是比其他报告长:
第一次= 500毫秒
第二次以上= 50ms。