Uploaded image for project: 'Struts 2'
  1. Struts 2
  2. WW-3765

Improve performance of FreeMarker Template caching

    XMLWordPrintableJSON

Details

    • Patch

    Description

      Struts2 having option to enable the freemarker template caching with reloading the template with time delay which helps us to improve the performance.

      In our application we are using the strut2 in-built UI freemarker template. We need the caching option without reloading the templates after the specific time delay.

      Caching option is more powerful if we have an option for enabling\disabling the reload

      Proposed Solution

      Struts.xml
      <constant name="struts.freemarker.templatesCache.required" value="true"/>

      FreeMarkerManager.java

      protected boolean templateUpdateRequired;
      @Inject(STRUTS_FREEMARKER_TEMPLATES_RELOAD_REQUIRED)
      public void setTemplateUpdateRequired(String templateUpdateRequired)

      { this.templateUpdateRequired ="true".equals(templateUpdateRequired); }

      Update createConfiguration(ServletContext servletContext) Method
      configuration.setSetting(Configuration. TEMPLATE_RELOAD_ REQUIRED _KEY, templateUpdateRequired);

      Configuration.java

      String TEMPLATE_RELOAD_ REQUIRED _KEY= "template_reload_required";

      TemplateCache.Java

      protected boolean templateUpdateRequired;

      Update getTemplate(TemplateLoader loader, String name, Locale locale, String encoding, boolean parse) Method
      ...
      if (templateUpdateRequired !=false && now - cachedTemplate.lastChecked < delay) {

      Attachments

        Issue Links

          Activity

            People

              lukaszlenart Lukasz Lenart
              greatvij Vijayakannan
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Time Tracking

                  Estimated:
                  Original Estimate - 24h
                  24h
                  Remaining:
                  Remaining Estimate - 24h
                  24h
                  Logged:
                  Time Spent - Not Specified
                  Not Specified