最贊回答 / 原來我叫小土慕課網給我改了名字
分布式事務的話主要有兩種方式:(1)兩階段提交協議。就是在兩個不同服務的上層有一個事務協調器(TC)。當發起一個請求時,TC先將消息寫到本地日志里,之后向所有服務發起消息,本地日志是為例故障后恢復所用,相當于憑證的效果。所有服務收到消息后,執行具體本機事務,但不會進行commit,如果成功返回yes,失敗返回no。同理,返回前都應把返回的消息寫到日志里,當作憑證。TC手機所有返回的消息,如果所有服務都返回yes,那么給所有服務發送commit消息,如果有一個服務返回no,那么給所有服務發送abort消息,...
2016-07-15
最贊回答 / Peter_Matrix
重復秒殺會拋RepeatKillException異常, ?聲明式事務檢測到sevice層拋出運行期異常了就會自動回滾,回滾是以方法為整體回滾。 ?我說清楚了嗎,沒有說清楚我再講一遍 。
2016-07-01
最新回答 / helinz
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" ? ? ? xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ? ? ? xmlns:context="http://www.springframework.org/schema/context" ? ? ? xsi:schemaLocat...
2016-06-28
最新回答 / qq_永葆腹黑的蛙_03156515
我后來加了一個log4j.properties就沒有警告了,還有SeckillServiceImpl和SeckillServiceTest里面的logger那一條的導包不要弄錯了import org.slf4j.Logger;import org.slf4j.LoggerFactory;
2016-06-27
最贊回答 / imooc_garyo
當前不在秒殺時間內,所以exposed=false、md5=null,你可以去看看SeckillServieceImpl里看看邏輯,可以去數據庫update下start_time和end_time再試試。
2016-06-15
最新回答 / taoy
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 sec...
2016-06-07