【发布时间】:2011-09-26 17:55:57
【问题描述】:
我已经到了必须向我的用户发送电子邮件通知的地步,因为他们订阅了任何事件。我的服务规模不大,但没有什么能阻止它成为一体,所以我要做好准备。
目前,我正在使用 Spring 的邮件发件人以相当同步的方式处理这些电子邮件(从集合中获取一堆订阅的电子邮件地址并向他们发送邮件)但是,可以看出这种方法很快就会变得不可用。因此,我正在争取更多的并行性。
多个线程可能会有所帮助,除非同时有太多线程。我猜|我需要像内存队列这样的东西,它可以在特定的时间间隔发送一批电子邮件,打开一个新线程。完成的线程将被收集在线程池中并重用。
建议?也许我的方法太复杂了。也许 Spring 已经提供了一种减轻阻塞和同步的方法。我很高兴知道。
【问题讨论】:
-
你可能会在 SO.programmers 上得到更好的答案
-
你的瓶颈几乎不会是 CPU。换句话说,不用担心代码效率。
标签: java multithreading spring email asynchronous