Improve performance of FreeMarker Template caching
--------------------------------------------------

                 Key: WW-3765
                 URL: https://issues.apache.org/jira/browse/WW-3765
             Project: Struts 2
          Issue Type: Improvement
          Components: Integration
    Affects Versions: 2.3.1
         Environment: Tomcat v7.0
            Reporter: Vijayakannan
            Priority: Critical
             Fix For: 2.3.2


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) 
{




--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to