[ 
https://issues.apache.org/jira/browse/LANG-511?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Niall Pemberton updated LANG-511:
---------------------------------

    Fix Version/s:     (was: 3.0)
                   2.5

> Initialization of available locales in LocaleUtils can be deferred
> ------------------------------------------------------------------
>
>                 Key: LANG-511
>                 URL: https://issues.apache.org/jira/browse/LANG-511
>             Project: Commons Lang
>          Issue Type: Improvement
>          Components: lang.*
>    Affects Versions: 2.4
>            Reporter: Oliver Heger
>            Priority: Minor
>             Fix For: 2.5
>
>
> {{LocaleUtils}} has a static initializer block that initializes the list of 
> locales available in the system. This is done by calling 
> {{Locale.getAvailableLocales()}}.
> As I had to learn, {{getAvailableLocales()}} can be very expensive, depending 
> on the environment in which it is called. Obviously, all jars in the class 
> path are scanned to determine the supported locales. In our project we have a 
> large number of jars on the class path, and the invocation of the method 
> takes between 10 and 20 seconds. There is an entry in the Java Bug Database 
> related to this issue:
> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4908648
> {{LocaleUtils}} contains some methods that do not need the list of available 
> locales (and in fact it is one of those methods we would like to use). So I 
> wonder whether the initialization of the list of available locales could be 
> done on demand. It would then have to be synchronized, but the advantage is 
> that the expensive initialization is only performed if it is actually 
> required.
> (LANG-488 is also related to this topic.)

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to