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