在更改时自动编译JasperReports

时间:2010-01-17 08:29:48

标签: java spring jasper-reports

我正在开发一个Web应用程序。我们正在使用jasperreports。在每次调用时编译jasperreports都是一种开销,需要相当长的时间(4-7秒)。我们考虑过使用Spring预编译jrxmls,但是如果更改/修改了jrxml,它仍然能够重新生成。 有没有人这样做过?如果是的话,如何。 感谢

2 个答案:

答案 0 :(得分:1)

  • 您可以安排一个计时器,每X小时重新编译一次新的jasper报告(check here
  • 您可以将jrxml加载为File并检查其lastModified(),将其存储在数据库(或HashMap)中,以及随后需要jrxml来比较{ {1}}到数据库/ lastModified()中的值并仅在它们不同时重新编译
  • 结合上述两种方法
  • 创建一个简单的界面(一个受密码保护的页面),用一个“compile”按钮列出所有jrxml文件,这样每当你改变一些东西时,你会转到那个页面并指出应该重新编译哪些jrxmls。

答案 1 :(得分:0)

我不知道您的应用程序,但您可以查看使用JasperServer。此Web应用程序具有管理JRXML内容和编译的存储库和进程。您可以通过网络服务访问该应用程序。