2016-11-17 78 views
0

我有一种服务,它具有异步发送电子邮件的方法。发件人方法有一个@Async注释。但是当我尝试在该方法中使用当前语言环境时,它始终是默认的语言环境。所以问题是如何将语言环境传递给@Async方法。如何在Spring中使用@Async方法中的当前语言环境

+3

只要将它传递给方法即可。 –

+0

你能分享你的示例代码吗? – pleft

+0

@ M.Deinum是否有比在每种方法中传递区域设置更通用和优雅的解决方案? –

回答

0

可以实现自定义AsyncTaskExecutor,它将Locale作为参数。然后它会设置一个语言环境。

public interface LocaleAsyncTaskExecutor extends AsyncTaskExecutor { 
    void execute(Runnable task, Locale locale); 
}