首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JMS为什么要通过Java邮件发送邮件

JMS为什么要通过Java邮件发送邮件
EN

Stack Overflow用户
提问于 2014-02-07 10:32:57
回答 3查看 6.2K关注 0票数 3

场景1 :

  1. 在服务器中设置JMS队列
  2. 向生产者发送消息的Java代码创建JMS生成器,当调用JMS生成器时,应该接收电子邮件数据(subject、body、to、cc等),并将其发布到步骤1中的队列设置中
  3. 创建一个JMS,它订阅在步骤1中创建的队列,它的onMessage应该调用JavaMail API来发送电子邮件。

场景2 :

  • 直接调用JavaMail API发送电子邮件。

我知道如何使用doing.Thing和Java,这就是为什么我们必须从场景2转到场景1来发送场景2。现在我们使用的是场景1。从大应用程序的不同部分发送邮件,所以我们使用JMS,在那里发送mails.Please将帮助我理解队列的使用者。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-02-07 10:48:31

在大型应用程序中使用此机制有两个原因:

( 1)你不希望你的客户不得不等待邮件的寄出。

2)如果您由于任何原因失去与邮件服务器的连接,您不希望丢失邮件。

票数 12
EN

Stack Overflow用户

发布于 2014-02-07 10:45:25

如果您在本地机器附近没有可重发的MTA,但需要确保您的邮件将被发送,您就会这样做。例如,如果出现网络中断,但是您依赖Java Mail发送邮件而没有其他逻辑,那么您的邮件将根本不会发送。

使用JMS,一旦真正的MTA再次可用,您就可以重新安排邮件的传输时间。

票数 5
EN

Stack Overflow用户

发布于 2017-01-10 10:40:13

此外:

  1. 与邮件提供者(SMTP和POP3)的对话是异步的,并且接近于JMS/MDB。那么,我为什么要使用与JMS不同的API呢?
  2. 您可以将邮件处理保存在一个事务中,以及一些数据库更改其他活动。我记得太多的春天..。sic‘项目,其中客户需要原子操作,其中包括db中的状态更改;-)
  3. 图像,您发送的消息变得更强制,您必须连接到X400服务。只要想一想代码的微小变化(以及RA的变化),您就会发现遇到了正确的架构设计。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21625361

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档