Details
-
Improvement
-
Status: Closed
-
Critical
-
Resolution: Not A Problem
-
2.3.1
-
Tomcat v7.0
-
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)
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
- is related to
-
WW-3467 Improve performance for page rendering by refactoring freemarker cache
- Closed