【问题标题】:Spring JavaMailSender: Making it asynchronous and persistentSpring JavaMailSender:使其异步和持久化
【发布时间】:2012-05-25 19:38:56
【问题描述】:

是否有一种简单/轻量级的方法可以将持久性添加到 Spring 的 JavaMailSender 并使其异步运行? Spring 是否为此提供任何“内置”支持?我目前正在查看带有 JMS 的队列,但对于手头的任务(查看 ActiveMQ 和 RabbitMQ)来说,它们似乎有点过头了。是否有轻量级 JMS 选项?

【问题讨论】:

  • “持久性”是什么意思?
  • @skaffman 在服务器重启后幸存。

标签: spring queue jms spring-jms


【解决方案1】:

您使用 的方法很好。不幸的是,持久化和异步处理并不是那么简单的任务,您将不得不编写一些代码。

不过看看Spring integration,它提供了对 JMS 入站和电子邮件出站的内置支持 - 您所要做的就是通过 XML DSL 连接各个部分。

【讨论】:

    【解决方案2】:

    如果你想让Spring中的任何方法异步,你需要做的就是通过<task:annotation-driven/>在xml配置中配置task命名空间。然后,您只需使用@Async 注释该方法,它将在自己的线程中运行。请注意,异步调用将在其自己的事务中运行,因为 Spring 从其内部池中获取一个新线程来为调用提供服务。如果你这样做了,那么你就不需要 JMS 来进行异步处理了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-06
      • 1970-01-01
      • 1970-01-01
      • 2012-11-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多