DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT <http://nagoya.apache.org/bugzilla/show_bug.cgi?id=22518>. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND INSERTED IN THE BUG DATABASE.
http://nagoya.apache.org/bugzilla/show_bug.cgi?id=22518 Each tag class loads a separate copy of It's package's MessageResources Summary: Each tag class loads a separate copy of It's package's MessageResources Product: Struts Version: 1.1 Final Platform: Other OS/Version: Other Status: NEW Severity: Normal Priority: Other Component: Custom Tags AssignedTo: [EMAIL PROTECTED] ReportedBy: [EMAIL PROTECTED] 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 --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
