Mar*_*rko 7 java email spring multithreading asynchronous
我正在开发的应用程序的功能之一是每次用户在我们的系统中注册他的发票时都会发送电子邮件.如果使用Spring框架,特别容易从Java app发送电子邮件.我使用Spring框架中的JavaMailSenderImpl和SimpleMailMessage,它运行正常.
但我需要在新线程中发送电子邮件,以便与SMTP服务器的通信不会减慢其余应用程序进程的速度.问题是我打电话的时候
MailSender.send()
Run Code Online (Sandbox Code Playgroud)
来自新线程的方法,不发送电子邮件消息,而不是在同一线程中发送时.我尝试使用spring的@Async注释,spring Executor和普通的旧java.lang.Thread,但它不起作用.
可以用spring在java中异步发送电子邮件吗?有人有类似的问题吗?如果需要,我可以发布一些代码示例.
TNX
它应该有效。
您需要告诉 Spring 它应该通过以下方式关注您的@Async注释:
<task:annotation-driven />
Run Code Online (Sandbox Code Playgroud)
您需要注意一些限制: