You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@struts.apache.org by "Lukasz Lenart (Resolved) (JIRA)" <ji...@apache.org> on 2012/04/06 21:11:24 UTC

[jira] [Resolved] (WW-3765) Improve performance of FreeMarker Template caching

     [ https://issues.apache.org/jira/browse/WW-3765?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Lukasz Lenart resolved WW-3765.
-------------------------------

    Resolution: Not A Problem
      Assignee: Lukasz Lenart
    
> 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
>            Assignee: Lukasz Lenart
>            Priority: Critical
>              Labels: freemarker-template-reload-required
>             Fix For: 2.3.2
>
>   Original Estimate: 24h
>  Remaining Estimate: 24h
>
> 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