是否有一种简单/轻量级的方法可以为Spring的JavaMailSender添加持久性并让它以异步方式运行? Spring是否为此提供任何“内置”支持?我目前正在寻找使用JMS的队列,但是对于手头的任务来说,它们似乎有些过分(看看ActiveMQ和RabbitMQ)。是否有轻量级的JMS选项?
答案 0 :(得分:2)
您使用jms的方法很好。遗憾的是,持久性和异步处理并不是一项简单的任务,您需要编写一些代码。
但是看看Spring integration,它提供了对JMS入口和电子邮件发送内置的内置支持 - 您所要做的就是通过XML DSL连接各个部分。
答案 1 :(得分:-1)
如果你想在Spring中使任何方法异步,你需要做的就是通过task
在xml配置中配置<task:annotation-driven/>
命名空间。然后,您只需使用@Async
注释该方法,它将在自己的线程中运行。请注意,异步调用将在其自己的事务中运行,因为Spring从其内部池中获取新线程以服务该调用。如果这样做,那么您不需要JMS进行异步处理。