2010-01-17 4 views
2

Я работаю над веб-приложением. Мы используем jasperreports. Компиляция jasperreports при каждом вызове является накладными расходами и занимает значительное время (4-7 секунд). Мы думали о предварительной компиляции jrxmls с использованием Spring, но все же имеем возможность повторно генерировать, если jrxml изменен/изменен. Кто-нибудь это делал раньше? Если да, то каким образом. БлагодаряКомпиляция JasperReports автоматически при изменении

ответ

1
  • Вы можете запланировать таймер, который повторно собирает новые отчеты яшма каждые Х часов (check here)
  • Вы можете загрузить jrxml в File и проверить его lastModified(), хранить ее в базе данных (или HashMap), и на каждой последующей необходимости jrxml для сравнения lastModified() до значения в базе данных/HashMap и перекомпилировать его, только если они отличаются
  • объединить два метода выше
  • создать простой интерфейс (пароль -protected page), в которой перечислены все файлы jrxml с помощью кнопки «компилировать», так что всякий раз, когда вы что-то меняете, вы переходите на эту страницу и указываете, какой jrxmls следует перекомпилировать.
+0

+1 для страницы администратора. которые могут быть использованы для многих вещей. – medopal

0

Я не знаю вашего приложения, но вы можете посмотреть на использование JasperServer. Это веб-приложение имеет репозиторий и процессы, которые управляют контентом JRXML и компиляцией. Вы можете получить доступ к приложению через веб-службы.

Смежные вопросы