[ https://issues.apache.org/jira/browse/OFBIZ-4268?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13026938#comment-13026938 ]
Adrian Crum commented on OFBIZ-4268: ------------------------------------ Phillipe, I believe the main purpose of ResourceBundleMapWrapper is to provide a read-only Map interface for ResourceBundle objects. It also implements a MapStack - so multiple bundles can be accessed from a single object. The most common use of this class is the "uiLabelMap" you see used throughout the project. A while ago I tried to clean up that class (rev 618892) but I had to revert my changes because they introduced a lot of bugs. So, while you're working on this be aware of unintended side effects. > ResourceBundleMapWrapper memory usage improvement > ------------------------------------------------- > > Key: OFBIZ-4268 > URL: https://issues.apache.org/jira/browse/OFBIZ-4268 > Project: OFBiz > Issue Type: Improvement > Components: framework > Affects Versions: SVN trunk > Reporter: Philippe Mouawad > Labels: MEMORY, PERFORMANCE > > Hello, > We are working on performance improvements while load testing the > application, and I noticed that ResourceBundleMapWrapper uses arounbd 140 Ko > per Serving thread, in our configuration with around 1000 thread, this is a > big memory impact. > I started investigating the class and code seems strange to me, in fact I > don't understand why InternalRbmWrapper constructor copies creates a Map by > copying content of ResourceBundle. > Why not only have a reference and delegate calls to the ResourceBundle ? > Furthermore since put methods throw RuntimeException, I really don't see any > case where the Map will change. > I made a test removing this code and delegating to resourceBundle and it > seems OK. > If someone knows why it was made like that I would really be interested, if > there is no reason I will submit a patch > Thank you > Regards > Philippe > http://www.ubik-ingenierie.com -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira