0

我目前正在使用 LocaleContextHolder.getLocale() 来获取语言环境。

但问题是,有时它会返回没有国家代码的语言代码。

例如:有时en_US有时仅en

可能的原因是什么?

仅供参考:运行环境是:Java11,spring5.3.9。

如何确保 getLocale() 方法应该返回 lang-code_country-code (en_US) ?

任何帮助将不胜感激 !

简化问题陈述

在并行流中使用 LocaleContextHolder.getLocale() 时,LocaleContextHolder.getLocale() 为子线程提供不同的语言环境。例如,对于主线程en_us和其他线程en

contacts.parallelStream().forEach(contact -> {
Locale locale =  LocaleContextHolder.getLocale();
//some work....
});

输出线程

nio-8080:en_US,onPool-worker:en,......,onPool-worker:en

4

0 回答 0