This module allows an application to maintain a custom Locale
in a context that is bound to the current thread,
allowing a configured Locale
to be propagated.
- Add it to your classpath.
<dependency> <groupId>nl.talsmasoftware.context</groupId> <artifactId>locale-context</artifactId> <version>[see Maven badge above]</version> </dependency>
- Make sure to use the
ContextAwareExecutorService
as your threadpool. - Set the current Locale for some block of code:
private static LocaleContextManager localeContextManager = new LocaleContextManager(); private void runWithLocale(Locale locale, Runnable someCode) { try (Context<Locale> ctx = localeContextManager.initializeNewContext(locale)) { someCode.run(); } }
- Use the LocaleContext anywhere in your application:
private void someMethod() { Locale locale = LocaleContextManager.getCurrentLocaleOrDefault(); }