有效发送多封电子邮件

时间:2011-09-26 17:55:58

标签: java multithreading spring email asynchronous

我已经达到了这样的程度,我必须向我的用户发送电子邮件通知,以及他们订阅的任何活动。我的服务并不大,但没有什么能阻止它成为一个,所以我想做好准备。

目前,我正在以相当同步的方式使用Spring的邮件发件人处理这些电子邮件(从一个集合中获取一堆订阅的电子邮件地址并向他们发送邮件)但是,人们可以看到这种方法可能很快就会变得无法使用。因此,我正在努力实现更多的并行性。

多线程可能有助于这种情况,除非它们同时存在太多线程。我想|我需要像内存中的队列一样,它可以在一定的时间间隔内发送批量的电子邮件,打开一个新的线程。完成的线程将被收集在线程池中并重新使用。

连连呢?也许我的方法过于复杂。也许Spring已经提供了一种缓解阻塞和同步的方法。我很高兴知道。

1 个答案:

答案 0 :(得分:2)

不是向每个用户发送一封电子邮件,而是一次向所有用户发送一封电子邮件。换句话说,制作一封邮件并将每个用户添加到目的地列表。然后,您的SMTP服务器将担心重复它并将副本发送给每个人。