I-net清除报告缓存旧数据

时间:2018-10-31 13:41:39

标签: java crystal-reports

我正在生成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。

0 个答案:

没有答案