Gevorg Harutyunyan:
System.out.println(LocaleContextHolder.getLocale()); // zh
new Thread(() -> {
System.out.println(LocaleContextHolder.getLocale()); // en_US
}).start();
Von Muttergewinde, sehe ich, dass Kontext locale „zh“ von Kind-Thread ist, ich „en_US“ zu sehen. New Faden verliert den Kontext locale. Gibt es eine Möglichkeit Kontext neu erstellten Thread zu übergeben?
Tarun Gupta:
Nach dem Javadocs
Die LocaleContext wird von allen untergeordneten Threads durch den aktuellen Thread erzeugt vererbt werden, wenn die vererbbaren Flag auf wahr gesetzt ist.
Diese Mittel locale kann unter Verwendung des Verfahrens festgelegt werden , setLocale(Locale locale, boolean inheritable)
indem inheritable
als wahr. Also , bevor ein neues Kind Thread Laichen können Sie setLocale mit nennen inheritable
Gleichen true
.