課程
/后端開發
/Java
/Java高并發秒殺API之Service層
請問:最后的代碼,異常都捕獲了,為何會觸發回滾?
2016-06-07
源自:Java高并發秒殺API之Service層 4-1
正在回答
23:12:47.590 [main] DEBUG seckill.dao.SeckillDao.reduceNumber - ==>? Preparing: UPDATE seckill SET productnumber = productnumber - 1 WHERE seckill_id = ? AND start_time <= ? AND end_time >= ? AND productnumber > 0 23:12:47.594 [main] DEBUG seckill.dao.SeckillDao.reduceNumber - ==> Parameters: 1000(Long), 2016-08-06 23:12:47.585(Timestamp), 2016-08-06 23:12:47.585(Timestamp)23:12:47.636 [main] DEBUG seckill.dao.SeckillDao.reduceNumber - <==??? Updates: 1
日志中顯示update: 1,這個對應update操作被回滾了,但是回滾沒有日志輸出,直接報出異常就沒有日志了。顯然回滾的日志不是被logback控制顯示的。
你好,謝謝回答,可是我就是觸發的重復秒殺這個異常,被捕獲了,但是那個update操作被回滾了哦。求解答
最后的代碼 只是 捕捉了 秒殺重復 ?和 秒殺關閉這兩個異常,如果還有別的異常就拋出來,并且拋出的異常是已經被轉化為 “運行時異?!??而 spring 是對 ?“運行時異?!泵舾械模ūO控),這個時候就觸發它的事物機制(前提是這個方法被事務管理)
舉報
Java實現高并發秒殺API,介紹秒殺業務Service層的設計和實現
2 回答對于捕獲異常的疑問
1 回答拋出異常問題,為什么是父類異常寫在前面,這樣不就會屏蔽后面的子類異常了嗎?
2 回答執行方法返回下面的異常,請問怎么解決????
2 回答輸出異常的問題
1 回答秒殺接口的返回值和異常使用有些疑問?
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2016-08-06
23:12:47.590 [main] DEBUG seckill.dao.SeckillDao.reduceNumber - ==>? Preparing: UPDATE seckill SET productnumber = productnumber - 1 WHERE seckill_id = ? AND start_time <= ? AND end_time >= ? AND productnumber > 0
23:12:47.594 [main] DEBUG seckill.dao.SeckillDao.reduceNumber - ==> Parameters: 1000(Long), 2016-08-06 23:12:47.585(Timestamp), 2016-08-06 23:12:47.585(Timestamp)
23:12:47.636 [main] DEBUG seckill.dao.SeckillDao.reduceNumber - <==??? Updates: 1
日志中顯示update: 1,這個對應update操作被回滾了,但是回滾沒有日志輸出,直接報出異常就沒有日志了。顯然回滾的日志不是被logback控制顯示的。
2016-06-08
你好,謝謝回答,可是我就是觸發的重復秒殺這個異常,被捕獲了,但是那個update操作被回滾了哦。求解答
2016-06-07
最后的代碼 只是 捕捉了 秒殺重復 ?和 秒殺關閉這兩個異常,如果還有別的異常就拋出來,并且拋出的異常是已經被轉化為 “運行時異?!??而 spring 是對 ?“運行時異?!泵舾械模ūO控),這個時候就觸發它的事物機制(前提是這個方法被事務管理)