文档章节

AOP事务的例子

乒乓狂魔
 乒乓狂魔
发布于 2015/10/10 08:09
字数 171
阅读 666
收藏 3

给大家看一个例子,共同来分析下存在的问题

场景:保存用户成功后,发送一个消息。如果没有保存成功,回滚同时不能发送消息

前提:

  • 1 先不考虑发送消息会失败的情况,就是一旦调用发送消息的方法就一定会发送成功。
  • 2 tx:annotation-driven也已正常配置

关注问题: AOP是否成功?事务能否正常回滚?

结果是:

  • UserService没有被代理,如何解决
  • 上述问题解决后,会发现并没有开启事务,如何解决?

输入图片说明

看看上面的伪代码能不能达到目的

© 著作权归作者所有

共有 人打赏支持
乒乓狂魔
粉丝 1012
博文 105
码字总数 271356
作品 0
长宁
程序员
私信 提问
加载中

评论(7)

乒乓狂魔
乒乓狂魔

引用来自“iq527”的评论

使用Spring的事务切面时, Service方法中调用内部方法时, 无法实施切面中的增强 0
http://jinnianshilongnian.iteye.com/blog/1487235
是的
iq527
iq527
使用Spring的事务切面时, Service方法中调用内部方法时, 无法实施切面中的增强 0
http://jinnianshilongnian.iteye.com/blog/1487235
_adian
_adian
什么跟什么啊,还aop
泥沙砖瓦浆木匠
泥沙砖瓦浆木匠

引用来自“乒乓狂魔”的评论

引用来自“泥沙砖瓦浆木匠”的评论

0其他没什么 就是 private void saveAndSendMsg

你改成public后,虽然被代理了,但是仍然没有开启事务
乒乓狂魔
乒乓狂魔

引用来自“泥沙砖瓦浆木匠”的评论

0其他没什么 就是 private void saveAndSendMsg

你改成public后,虽然被代理了,但是仍然没有开启事务
乒乓狂魔
乒乓狂魔

引用来自“泥沙砖瓦浆木匠”的评论

0其他没什么 就是 private void saveAndSendMsg

这只是第一个问题
泥沙砖瓦浆木匠
泥沙砖瓦浆木匠
0其他没什么 就是 private void saveAndSendMsg
hibernate persist update 方法没有正常工作(不保存数据,不更新数据)

工程结构 问题描述 在工程中通过spring aop的方式配置事务,使用hibernate做持久化。在代码实现中使用hibernate persit()方法插入数据到数据库,使用hibernate update()方法更新数据。问题是...

xiaoheike
2016/04/15
0
0
在同一个类中调用另一个方法没有触发 Spring AOP 的问题

起因 考虑如下一个例子: 在这个例子中, 我们定义了一个注解 , 这个是一个方法注解, 我们的期望是当有此注解的方法被调用时, 需要执行指定的切面逻辑, 即执行 方法. 在 SomeService 类中, 方法...

永顺
2017/02/17
0
0
spring aop , tx

一 .面向切面编程(AOP)的基础概念: 以一个普通的java方法来举例 a. 横切关注点:如上面5个通知的位置,在java对象中,可以这些具有类似共同处理逻辑的位置加入如权限验证、事物处理、日志记...

SKYCOBS
2016/08/18
13
0
【Spring AOP】学习记录(二)

国庆过得好像有点忙,是不是生活过得简单了,就有时间享福了?当然国庆假期也抽点时间来学习学习,不然赶不上年轻人的脚步 学啥 今天学习了一下aop的事务管理,没分析内部,估计只不过对使用...

小彬彬_
2016/10/04
8
0
我们为什么要使用 AOP

前言 一年半前写了一篇文章Spring3:AOP,是当时学习如何使用Spring AOP的时候写的,比较基础。这篇文章最后的推荐以及回复认为我写的对大家有帮助的评论有很多,但是现在从我个人的角度来看...

t4i2b10X4c22nF6A
2017/10/26
0
0

没有更多内容

加载失败,请刷新页面

加载更多

大数据教程(9.5)用MR实现sql中的jion逻辑

上一篇博客讲解了使用jar -jar的方式来运行提交MR程序,以及通过修改YarnRunner的源码来实现MR的windows开发环境提交到集群的方式。本篇博主将分享sql中常见的join操作。 一、需求 订单数据表...

em_aaron
9分钟前
0
0
十万个为什么之什么是resultful规范

起源 越来越多的人开始意识到,网站即软件,而且是一种新型的软件。这种"互联网软件"采用客户端/服务器模式,建立在分布式体系上,通过互联网通信,具有高延时(high latency)、高并发等特点...

尾生
15分钟前
0
0
《告诉你真实的美国教育》的读后感3900字

《告诉你真实的美国教育》的读后感3900字: 文章的开篇分析了我们耳熟能详的关于美国教育的小故事,就是那个因为幼儿园的老师教了“0”这个字母,然后妈妈告老师剥夺了孩子的想象力,再然后幼...

原创小博客
23分钟前
0
0
Terraform配置文件(Terraform configuration)

Terraform配置文件 翻译自Terraform Configuration Terraform用文本文件来描述设备、设置变量。这些文件被称为Terraform配置文件,以.tf结尾。这一部分将讲述Terraform配置文件的加载与格式。...

buddie
39分钟前
1
0
exportfs命令, vsftp搭建ftp服务

exportfs命令 当修改/etc/exports文件后,更改的内容是不会立即生效的。如果重启nfs服务,会导致客户端重启期间的请求是挂起等待的,可以把客户端的挂载umount进行卸载后,再重启nfs服务,但...

野雪球
49分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部