1

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

  1. 在 Spring MVC 的情况下,如何在应用程序启动/停止时启动和停止线程(对于普通的 Web 应用程序,我可以为此使用 ServletContextListener。)?
  2. 在线程中,我需要调用邮件服务来发送邮件。那么如何将服务注入线程呢?可能吗?

非常感谢任何提示或更灵活的解决方案....

~拉吉什

4

1 回答 1

2

在单独的线程/异步中执行邮件发送的最简单方法是使用任务执行和调度@Async 注解

也可以看看

于 2013-06-10T06:35:44.480 回答