You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@struts.apache.org by "Henri Yandell (JIRA)" <ji...@apache.org> on 2007/08/07 04:56:38 UTC

[jira] Commented: (STR-3056) PropertyMessageResources.getMessage() does not cache failed lookups

    [ https://issues.apache.org/struts/browse/STR-3056?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_41738 ] 

Henri Yandell commented on STR-3056:
------------------------------------

Seems useful - anyone know if this would break any existing functionality?

> PropertyMessageResources.getMessage() does not cache failed lookups
> -------------------------------------------------------------------
>
>                 Key: STR-3056
>                 URL: https://issues.apache.org/struts/browse/STR-3056
>             Project: Struts 1
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 1.1.0, 1.3.8
>         Environment: Applies to all environments
>            Reporter: Patrick HIggins
>
> We have an application that allocates lots of garbage (sometimes over 100MB) when rendering a single page. After using Netbeans profiler with it, I've found that a lot of that garbage is created by MessageResources.messageKey().
> It appears that we are calling bean:write (WriteTag) thousands of times, and it looks up the message for "org.apache.struts.taglib.bean.format.int" to try to find a default format for integers. We have not defined this property in our ApplicationResources, so it ends up returning the value "???en_US.org.apache.struts.taglib.bean.format.int???" after searching exhaustively for it. It does not cache this value. Then, when we call it the next 8,000 times, it performs the same exhaustive search over and over because it's not caching the negative response.
> I propose that negative responses get cached, too. That would save a lot of time and memory so that WriteTag can just go ahead and call toString() on the instance of java.lang.Integer.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.