Java 更改时自动编译JasperReports

Java 更改时自动编译JasperReports,java,spring,jasper-reports,Java,Spring,Jasper Reports,我正在开发一个web应用程序。我们正在使用jasperreports。在每次调用时编译jasperreports都是一项开销,需要花费相当长的时间(4-7秒)。我们考虑过使用Spring预编译jrxml,但是如果jrxml被更改/修改,仍然能够重新生成。 以前有人这样做过吗?如果是,如何进行。 谢谢 您可以安排一个计时器,该计时器每X小时重新编译一次新的jasper报告() 您可以将jrxml加载为文件,检查其lastModified(),将其存储在数据库(或HashMap)中,并在jrxml每

我正在开发一个web应用程序。我们正在使用jasperreports。在每次调用时编译jasperreports都是一项开销,需要花费相当长的时间(4-7秒)。我们考虑过使用Spring预编译jrxml,但是如果jrxml被更改/修改,仍然能够重新生成。 以前有人这样做过吗?如果是,如何进行。 谢谢

  • 您可以安排一个计时器,该计时器每X小时重新编译一次新的jasper报告()
  • 您可以将jrxml加载为
    文件
    ,检查其
    lastModified()
    ,将其存储在数据库(或
    HashMap
    )中,并在jrxml每次后续需要时,将
    lastModified()
    与数据库中的值/
    HashMap
    进行比较,并仅在它们不同时重新编译
  • 结合以上两种方法
  • 创建一个简单的界面(一个密码保护的页面),用一个按钮“compile”列出所有jrxml文件,这样每当您更改某些内容时,都可以转到该页面并指示应该重新编译哪些jrxml

    • 我不知道您的应用程序,但您可以考虑使用JasperServer。此web应用程序有一个存储库和流程,用于管理JRXML内容和编译。您可以通过web服务访问该应用程序