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]

Reply via email to