java– 交易和发送电子邮件

java– 交易和发送电子邮件,第1张

概述考虑用户在Web应用程序上创建新帐户的常见用例,以及应用程序向用户的地址发送确认电子邮件.从我所看到的,这通常以3种方式之一实现:> Web控制器调用服务方法,该方法在单个事务中创建用户帐户并发送电子邮件.> Web控制器调用服务方法(使用tx propagation = never),它调用自身的第一个方法在事务中创建用户帐户,然后调用第二个方

考虑用户在Web应用程序上创建新帐户的常见用例,以及应用程序向用户的地址发送确认电子邮件.从我所看到的,这通常以3种方式之一实现:

> Web控制器调用服务方法,该方法在单个事务中创建用户帐户并发送电子邮件.
> Web控制器调用服务方法(使用tx propagation = never),它调用自身的第一个方法在事务中创建用户帐户,然后调用第二个方法来发送电子邮件.
> Web控制器调用第一个服务方法,该方法在事务中创建用户帐户,然后调用第二个发送电子邮件的服务方法.

第一种方法简单明了,但存在发送电子邮件后回滚事务的风险,从而使电子邮件无效.第二种方法更复杂,但它保证只有在用户创建实际成功时才发送电子邮件.第三种方法很简单,但是使用不应该知道的业务逻辑来加重Web层.

是不是有一种更简单的方法,也许是AOP驱动的,可以保证只有在用户创建事务实际成功时才会发送电子邮件?我是否认为第一种方法可能会失败?

我们正在使用Java EE Spring堆栈并愿意集成其他API(AOP?Spring Integration?)来实现这一目标.

干杯!

最佳答案我目前用于解决此问题的另一个选项:

http://download.oracle.com/javaee/6/api/javax/transaction/Synchronization.html 总结

以上是内存溢出为你收集整理的java – 交易和发送电子邮件全部内容,希望文章能够帮你解决java – 交易和发送电子邮件所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1265855.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-08
下一篇 2022-06-08

发表评论

登录后才能评论

评论列表(0条)

保存