[ 
https://issues.apache.org/jira/browse/WW-3637?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13043445#comment-13043445
 ] 

Greg Huber commented on WW-3637:
--------------------------------

The mod mod on WW-3602  >>   bundlesMap.clear();

private static void reloadBundles() {
..
bundlesMap.clear();
..
} 

clears the complete map Each time.  My UI makes may calls to get properties 
from the bundle and hence the bundle map also gets cleared each time.

What is needed is the bundlesMap.clear(); to be called at the start of the 
request to only clear it once rather than each time to retrieve a property.

> Auto reload of properties slowing down application
> --------------------------------------------------
>
>                 Key: WW-3637
>                 URL: https://issues.apache.org/jira/browse/WW-3637
>             Project: Struts 2
>          Issue Type: Bug
>          Components: Other
>    Affects Versions: 2.2.3
>         Environment: Centos 5.6, Tomcat-6.0.32, Eclipse Helios
>            Reporter: Greg Huber
>
> Hello, with this mod WW-3602 
> private static void reloadBundles() {
> ..
> bundlesMap.clear();
> ..
> }
> and mod and struts.devMode=true for me, my app is now so slow its unusable. 
> When submit a page with bundlesMap.clear(); it takes 9 seconds, and when I 
> comment out the line it takes 1 second. The reloadBundles() gets called many 
> times per invocation. 
> I also needed to reload the messages but had to do a work around from my app 
> to call explicitly to remove the resource bundle only once.
> LocalizedTextUtil.removeBundle("ApplicationResources_en_GB");
> modified LocalizedTextUtil added method :
> public static void removeBundle(String resourceBundle) {
> if (reloadBundles) {
> if (bundlesMap.containsKey(resourceBundle)) {
> bundlesMap.remove(resourceBundle);
> }
> }
> }
> From when I last looked at this, what I think it does is to reload the 
> bundles after each time the call to reloadBundles() to get the message from 
> the say UI. Since for me it gets called 20+ times, it has to reload all the 
> bundles this many times per invocation, taking a long time. 
> bundlesMap.clear(); would work if it was called only once at the very start 
> of the invocation. I gave up in the end and did the work around as it was 
> quicker than restarting Tomcat each time.
> Cheers Greg.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to