文档章节

spring mvc 异常处理手动回滚 SQL log不回滚

微笑出品
 微笑出品
发布于 2017/02/16 19:37
字数 125
阅读 11
收藏 0
/**
     * 购买股权
     *
     * @param map
     * @return
     */
    @Override
    @Transactional
    public Map<String, String> buyStock(Map<String, Long> map) {
        Assert.notNull(map.get("memberId"));
        Assert.notNull(map.get("id"));
        Map<String, String> requestBody = null;
        try {
//        查询股权价格
            StockPrice stockPrice = stockPriceService.queryStockPriceById(map.get("id"));
            if (stockPrice != null) {
//        返回融宝请求体
                requestBody = payLogService.getPostBody(map.get("memberId").toString(), stockPrice.getPrice());
                if (requestBody != null) {
//        添加一条订单信息
                    stockOrderService.addStrockOrder(new StockOrder(map.get("memberId"), requestBody.get("order_no"),
                            map.get("id"), stockPrice.getStockNum(), stockPrice.getPrice(), Constant.ORDER_BUY, Constant.ORDER_UNDONE));
                }
            }
        } catch (Exception e) {
            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
            requestBody = null;
            //exception_log 表存储引擎不能为innodb
            exceptionLogService.addExceptionLog(new ExceptionLog("购买股权失败", e.getMessage()));
        }
        return requestBody;
    }

© 著作权归作者所有

共有 人打赏支持
微笑出品
粉丝 1
博文 56
码字总数 5691
作品 0
大连
私信 提问
spring做的事务service层的回滚机制

各位大佬,问个问题。 项目是ssm架构,事务切面表达式对service层做了事务 现在有一个问题,我在service的代码出现异常,应该是事务要做回滚,可我们这个系统很不规范,很多东西都写在了控制...

sprouting
2017/05/30
2.7K
11
关于Spring 声明式事务处理时,throws exception不回滚的问题

文章转自:http://cn-done.iteye.com/blog/775519 前一段时间,项目代码评审,发现有TX不使用Spring的事务处理,而直接封装方法,手动进行数据的回滚,得悉原因是:抛出异常以后事务不起作 ...

巴顿
2013/11/28
0
0
spring 事务加try catch就不回滚 @Transactional加上(rollbackFor = { Exception.class }),下面catch里面还需要手动回滚或抛运行异常了吗?

spring 事务加try catch就不回滚, @Transactional加上(rollbackFor = { Exception.class }) ,下面catch里面还需要手动回滚或抛运行异常了吗?...

Jordan裔
04/17
5.5K
8
运用@Transactional,自己抛出异常时不会回滚的原因,经验之谈

查看spring API可知 http://www.kuqin.com/spring2.0doc/index.html 对EJB来说,默认的行为是EJB容器在遇到系统异常 (通常指运行时异常)时自动回滚当前事务。EJB CMT遇到应用异常 (例如,...

孙斐
2011/12/04
0
0
Spring事务异常回滚,捕获异常不抛出就不会回滚

最近遇到了事务不回滚的情况,我还考虑说JPA的事务有bug? 我想多了....... 为了打印清楚日志,很多方法我都加tyr catch,在catch中打印日志。但是这边情况来了,当这个方法异常时候 日志是打...

binhu
2015/11/23
218
0

没有更多内容

加载失败,请刷新页面

加载更多

深入理解Java PriorityQueue

ava中PriorityQueue通过二叉小顶堆实现,可以用一棵完全二叉树表示。本文从Queue接口函数出发,结合生动的图解,深入浅出地分析PriorityQueue每个操作的具体过程和时间复杂度,将让读者建立对...

java菜分享
19分钟前
2
0
玩手机与做实验

看过这样一个故事:说的是在二十世纪二十年代初的一个深夜,担任英国剑桥大学卡文迪许实验室主任的卢瑟福来实验室检查,发现一位学生还在做实验。卢瑟福就问他:“你上午做什么了?”学生回答...

Bob2100
29分钟前
2
0
Kafka流式处理

Kafka Streams 初识流式处理 什么是数据流 数据流(也叫事件流)是无边界数据集的抽象表示。无边界意味着无限和持续增长。无边界数据集之所以是无限的,是因为随着时间的推移,新记录会不断加...

东都大狼狗
38分钟前
4
0
Mysql主从复制(拓展博客文章扩充知识面)

#不停库不锁表在线主从配置 使用 Xtrabackup 在线对MySQL做主从复制 1.数据量大的话还是建议使用工具例如xtrabackup,mysqldump比较适合操作10G以下的数据备份复制。 2.做业务之前考虑清楚具...

robertt15
43分钟前
2
0
docker快速搭建几个常用的第三方服务

本次和大家分享的内容是使用docker快速搭建工作中常用的第三方的服务,对于有一些互联网背景的公司来说,以下几个服务都是很需要的:redis,rabbit,elasticsearch; 如果想学习Java工程化、...

编程SHA
今天
9
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部