Как выбрать и настроить виртуализатор JasperReports? - PullRequest
3 голосов
/ 19 февраля 2010

Мы используем виртуализаторы с JasperReports 3.7.0, чтобы избежать нехватки памяти при некоторых больших запросах. Нашел одну полезную статью на эту тему, и есть краткое описание виртуализаторов в Ultimate Guide to JasperReports, но это только начало. Я пытаюсь выяснить, какой виртуализатор идеален, и выбрав один, как настроить параметры конфигурации. У кого-нибудь есть мудрость, чтобы предложить эту тему?

Уолтер Джиллетт

1 Ответ

5 голосов
/ 17 сентября 2010

JRFileVirtualizer является оригинальным, но в основном это было доказательством концепции (написанной во время оценки JR; разработчики JR также исправили ее). Он создает отдельный файл для каждой виртуализированной страницы, что может привести к наличию большого количества временных файлов.

Я рекомендую использовать JRSwapFileVirtualizer, поскольку он создает только один файл для отчета.

JRSwapFileVirtualizer virtualizer = null;
try {
    JRSwapFile swapFile = new JRSwapFile("directory", 1024, 100);
    virtualizer = new JRSwapFileVirtualizer(50, swapFile, true);
    params.put(JRParameter.REPORT_VIRTUALIZER, virtualizer);
    ...
    JasperPrinter printer = JasperFillManager.fillReport(report, params, dataSource);
    ...
}
finally {
    if (virtualizer != null) virtualizer.cleanup();
}

Это заставит систему удалить файл подкачки, когда он завершит работу с отчетом, и будет использовать виртуализатор для хранения отчетов, содержащих более 50 страниц.

JRGzipVirtualizer был еще одним очком. Виртуализатор предназначен для систем без доступа к диску. Объекты страницы отчета сжимаются довольно хорошо, так что вы можете делать большие отчеты, если у вас приличный объем кучи.

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