关闭

事务问题

171人阅读 评论(0) 收藏 举报

Sevice中是否可以捕获异常



分情况来待这个问题
1.如果service方法没有其他sevice方法,异常可以被捕获,spring的事务机制,感受不到异常存在,数据不回滚
2否则:不能捕获,会引起问题,required事务,由于具有传播性,被调用的service方法被调用的service捕获,会导致当前事务的状态被修改,在外层数据提交的时候,会报出org.springframework.transaction.UnexpectedRollbackException: Transaction rolled back because ithas been marked as rollback-only
参考网站
http://stackoverflow.com/questions/2007097/unexpectedrollbackexception-a-full-scenario-analysis


单独事务中是否可以多线程并发


两个问题:
1.主线程 所在事务 和 子线程 事务 是同一个事务吗?
2事务的传播机制是什么?
是不同的事务,这样用有风险,易引起数据不一致;如果都是独立任务,可以使用;所以要分清事务的边界

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:1414次
    • 积分:42
    • 等级:
    • 排名:千里之外
    • 原创:3篇
    • 转载:0篇
    • 译文:0篇
    • 评论:0条
    文章存档