使用Queue模型发送Spring MVC电子邮件

时间:2013-06-10 05:53:06

标签: spring spring-mvc javamail

我有一个场景,我需要在容器启动时启动一个线程,并在容器停止时停止。我正在使用Spring MVC作为我的应用程序。我的最终目标是在用户执行特定操作时发送电子邮件。此外,由于电子邮件发送过程,我不想减慢流量。所以我计划的是,每当我需要发送邮件时,我将创建一个队列并将邮件消息放入队列中。在启动期间启动的线程将读取队列并发送邮件。在这里,我面临两个问题:

  1. 在Spring MVC的情况下,如何在应用程序启动/停止时启动和停止线程(对于普通的Web应用程序,我可以使用ServletContextListener。)
  2. 在线程中,我需要调用邮件服务来发送邮件。那么如何将服务注入线程呢?可能吗?
  3. 任何提示或更灵活的解决方案都非常受欢迎....

    〜Ragesh

1 个答案:

答案 0 :(得分:2)

在单独的线程/异步中执行邮件发送的最简单方法是使用@Async AnnotationTask Execution and Scheduling

另见