I've tried to find a proper solution for dynamic reloading of resource bundles, but with JVM 1.5 or earlier, it is not possible to refresh the internal cache in java.util.ResourceBundle.
One possible trick is to not depend on the classloader, but to use separate loading mechanism from a other location than the classpath.
You can find this style for a solution in the springframework. (Please have a look at org.springframework.context.support.ReloadableResourceBundleMessageSource if you're interested in.)
However, I think this kind of technique is kind of overkilling and risky for our specific case.
On the other hand, Java 1.6 or later now provides java.util.ResourceBundle.clearCache(ClassLoader) operation to clear all resource bundle cache from the classloader.
I think this is very simple and good enough to refresh resource bundles for a portlet application.
We can simply add a button to clear all resource bundles of a portlet application in a j2-admin portlet.
Therefore, I'd like to add the functionality in the portlet application management portlet with a limitation, "Java 1.6 or higher for this". Otherwise, it will just ignore the operation.
I'd like to implement this in this simple way for v2.2.1.
Any comment would be appreciated.