<i18n dev> [9] RFR: 8172365: Provide a better migration path for ResourceBundleControlProvider

Naoto Sato naoto.sato at oracle.com
Mon Jan 23 21:51:55 UTC 2017

OK, I will clarify the method description of getBundle(String, Locale, 
Module) as follows:

diff -r 290145dc2c96 
--- a/src/java.base/share/classes/java/util/ResourceBundle.java
+++ b/src/java.base/share/classes/java/util/ResourceBundle.java
@@ -972,7 +972,11 @@
       * equivalent to calling {@link #getBundle(String, Locale, 
       * getBundle(baseName, targetLocale, module.getClassLoader()} to load
       * resource bundles that are visible to the class loader of the given
-     * unnamed module.
+     * unnamed module. The <a href="#default_behavior">default behavior</a>
+     * of resource bundle loading can be modified with custom {@link
+     * ResourceBundleControlProvider} implementations. Refer to the
+     * description of <a href="#modify_default_behavior">modifying the 
+     * behavior</a>.
       * @param baseName the base name of the resource bundle,
       *                 a fully qualified class name


On 01/23/2017 10:51 AM, Mandy Chung wrote:
>> On Jan 23, 2017, at 9:14 AM, Naoto Sato <naoto.sato at oracle.com> wrote:
>> http://cr.openjdk.java.net/~naoto/8172365/webrev.05/
>>> The fix is to reinstate the code that has been removed with 8171189,
>>> with modification to load implementations with ServiceLoader.load()
>>> method. That way, SPI implementations can be searched on application's
>>> class path.
> This change is reasonable.  The custom control provider can only be used for loading of resource bundles in unnamed modules which maintains JDK 8 behavior.
> For the getBundle factory methods taking Module parameter, I suggest to explain the spec to clarify that the custom control provider will be used to load the resource bundle if the specified module is unnamed module.
> Otherwise looks good.
> Mandy

More information about the i18n-dev mailing list