Jasper API печатает только первый отчет, остальные отчеты печатаются как пустые - PullRequest
0 голосов
/ 22 мая 2019

Мы используем jasper API (JasperFillManager.fillReport, JasperExportManager.exportReportToPdfFile)

Мы хотим выполнить этот отчет в цикле с другими параметрами, поэтому добавили следующий код

    JasperPrint jasperPrint = null;
            // Fill report
            Iterator i1 = l1.iterator();
            Iterator i2 = l2.iterator();
            int i = 1;
            while (i1.hasNext() && i2.hasNext()) {
                parameters.put("SUBJECTOID", (String) i1.next());
                parameters.put("HISTORYRECORD", (String) i2.next());
                try (ProfilePoint fillReport = ProfilePoint
                        .profileAction("ProfAction_ReportHelper_fillJasperReport")) {
                    jasperReport = JasperCompileManager.compileReport(jrxmlPath);

                    jasperPrint = JasperFillManager.fillReport(jasperReport, parameters, emptyDataSource);
                    System.out.println("fillReport**********" + i);

                }

                // Export to PDF
                try (ProfilePoint exportReport = ProfilePoint
                        .profileAction("ProfAction_ReportHelper_exportJasperReport")) {
                    JasperExportManager.exportReportToPdfFile(jasperPrint,
                            "C:\\JASPER\\JASPEROUTPUT\\Report" + i + ".pdf");
                    System.out.println("exportReportToPdfFile**********" + i);
                }
                i++;
                jasperPrint = null;
                jasperReport = null;

Итак, что происходит, у нас 15 Parameteres, поэтому генерируется 15 файлов PDF, но только первый файл PDF содержит данные, остальные 14 пустые.

Мы пробовали несколько вещей, таких как одна компиляция, многократная компиляция, извлечение кода jasper в метод, но результат все тот же

Есть ли кеш или какая-то настройка в яшме или что-то подобное?

1 Ответ

0 голосов
/ 23 мая 2019

Спасибо @ dada67 за предложение, что это сработало

Я передал новый пустой источник данных для каждой итерации, и это сработало.

Спасибо большое .. !!!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...