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();
}