Java 在spring中创建新线程时如何保持上下文?

Java 在spring中创建新线程时如何保持上下文?,java,spring,Java,Spring,从父线程,我看到上下文区域设置是“zh”,从子线程,我看到“en_US”。新线程正在丢失上下文区域设置。是否有方法将上下文传递给新创建的线程?根据 如果可继承标志设置为true,则LocaleContext将由当前线程生成的任何子线程继承 这意味着可以使用方法setLocale(locale-locale,boolean-inheritable)设置语言环境,方法是将inheritable传递为true。因此,在生成新的子线程之前,您可以使用inheritable等于true调用setLocal

从父线程,我看到上下文区域设置是“zh”,从子线程,我看到“en_US”。新线程正在丢失上下文区域设置。是否有方法将上下文传递给新创建的线程?

根据

如果可继承标志设置为true,则LocaleContext将由当前线程生成的任何子线程继承


这意味着可以使用方法
setLocale(locale-locale,boolean-inheritable)
设置语言环境,方法是将
inheritable
传递为true。因此,在生成新的子线程之前,您可以使用
inheritable
等于
true

调用setLocale。谢谢@Joe,它解决了我的问题。
System.out.println(LocaleContextHolder.getLocale()); // zh
new Thread(() -> {
    System.out.println(LocaleContextHolder.getLocale()); // en_US
}).start();