Comment garder le contexte lors de la création de nouveaux fil au printemps?

Gevorg Harutyunyan:
System.out.println(LocaleContextHolder.getLocale()); // zh
new Thread(() -> {
    System.out.println(LocaleContextHolder.getLocale()); // en_US
}).start();

De fil parent, je vois que le contexte locale est « zh » de fil de l'enfant, je vois « en_US ». Nouveau thread est en train de perdre les paramètres régionaux de contexte. Y at-il un moyen de passer contexte nouveau thread créé?

Tarun Gupta:

Selon les Javadocs

La LocaleContext sera héritée par les fils de l'enfant engendré par le thread courant si le drapeau est héritable la valeur true.

Ce lieu de moyen peut être réglé en utilisant la méthode setLocale(Locale locale, boolean inheritable)en passant inheritablecomme vrai. Ainsi , avant la ponte d' un nouveau fil d'enfant , vous pouvez appeler setLocale avec inheritableégaux à true.

Je suppose que tu aimes

Origine http://10.200.1.11:23101/article/api/json?id=478813&siteId=1
conseillé
Classement