[ http://issues.apache.org/struts/browse/STR-1695?page=all ] David Evans closed STR-1695: ----------------------------
Resolution: Fixed > Each tag class loads a separate copy of its package's MessageResources > ---------------------------------------------------------------------- > > Key: STR-1695 > URL: http://issues.apache.org/struts/browse/STR-1695 > Project: Struts Action 1 > Type: Improvement > Components: Taglibs > Versions: 1.1 Final > Environment: Operating System: other > Platform: Other > Reporter: Matt Meyer > Assignee: David Evans > Priority: Minor > Attachments: PropertyMessageResourcesFactory.patch > > For example the MessageResources under the key > "org.apache.struts.taglib.html.LocalStrings" has a potential to be read from > the > file system and stored in memory 18 separate times. Although not a serious > performance bottle neck it could easily be corrected by having the > PropertyMessageResourcesFactory cache MessageResource objects that it has > created, and then consult it's cache before running off and creating new > instances. > Also ideally all of the classes that maintain local copies/references could be > reconfigured to consult the factory instead of looking locally. If the factory > was caching the loss in performance would be unnoticeable. Then If needed the > cache could be dumped forcing MessageReasources to reloaded without an > application restart. The list of classes that keep local copies of > MessageResources is below: > org.apache.struts.action.ActionServlet > org.apache.struts.taglib.html.MessagesTag > org.apache.struts.actions.DispatchAction > org.apache.struts.actions.ForwardAction > org.apache.struts.actions.IncludeAction > org.apache.struts.actions.SwitchAction > org.apache.struts.taglib.bean.CookieTag > org.apache.struts.taglib.bean.DefineTag > org.apache.struts.taglib.bean.HeaderTag > org.apache.struts.taglib.bean.IncludeTag > org.apache.struts.taglib.bean.MessageTag > org.apache.struts.taglib.bean.PageTag > org.apache.struts.taglib.bean.ParameterTag > org.apache.struts.taglib.bean.ResourceTag > org.apache.struts.taglib.bean.SizeTag > org.apache.struts.taglib.bean.StrutsTag > org.apache.struts.taglib.bean.WriteTag > org.apache.struts.taglib.html.BaseHandlerTag > org.apache.struts.taglib.html.BaseInputTag > org.apache.struts.taglib.html.BaseTag > org.apache.struts.taglib.html.CancelTag > org.apache.struts.taglib.html.CheckboxTag > org.apache.struts.taglib.html.ErrorsTag > org.apache.struts.taglib.html.FormTag > org.apache.struts.taglib.html.HtmlTag > org.apache.struts.taglib.html.ImgTag > org.apache.struts.taglib.html.LinkTag > org.apache.struts.taglib.html.MultiboxTag > org.apache.struts.taglib.html.OptionsCollectionTag > org.apache.struts.taglib.html.OptionsTag > org.apache.struts.taglib.html.OptionTag > org.apache.struts.taglib.html.RadioTag > org.apache.struts.taglib.html.ResetTag > org.apache.struts.taglib.html.SelectTag > org.apache.struts.taglib.html.SubmitTag > org.apache.struts.taglib.logic.CompareTagBase > org.apache.struts.taglib.logic.ConditionalTagBase > org.apache.struts.taglib.logic.ForwardTag > org.apache.struts.taglib.logic.IterateTag > org.apache.struts.taglib.logic.RedirectTag > org.apache.struts.util.RequestUtils > org.apache.struts.util.ResponseUtils -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/struts/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]