Я создаю отчет I-net. После запуска моего приложения первый отчет содержит новые данные, которые мне нужны, но когда я пытаюсь создать новый отчет с новыми данными - экспортированный отчет (pdf) содержит те же данные, что и первый.
Данные хранятся в таблице БД Oracle (Глобальная временная таблица).
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 для каждой "фазы генерации" являются новыми. Я проверял это - каждый раз, когда данные в таблицах новые - невозможно получить старые данные из БД. Так что надо его кешировать или что-то в этом роде.
Я закрываю все открытые соединения.
Файл отчета каждый раз новый - некоторые цвета меняются случайным образом, поэтому я могу определить различия.
Есть идеи, почему у меня такое поведение?
# EDIT
В зависимости - первый отчет всегда генерирует дольше, чем другие:
Первый = 500 мс
Второй и более = 50 мс.