2018-08-13事物回調(diào)采坑

事件還原,最近在做一個項目善已,然后在提測階段褥影,測試提出說imei數(shù)據(jù)沒有同步池户。遠(yuǎn)程斷點排查少不了,發(fā)現(xiàn)有個事物回調(diào)方法sendImeiSynMsgByCount凡怎,會在事物成功提交后校焦,回調(diào)afterCommit()方法發(fā)送mq消息同步imei數(shù)據(jù)。發(fā)現(xiàn)afterCommit方法最后會被調(diào)用统倒,只是其中的imeiCenterPOList參數(shù)值為空了寨典,所以不會發(fā)送mq消息了。部分代碼如下

咦房匆,為什么參數(shù)會莫名其妙的不見了耸成,難道是異步事物回調(diào)的時候會把參數(shù)清理掉了注暗?沒轍,事物回調(diào)方法繼續(xù)打斷點墓猎,跟蹤下事物回調(diào)源碼。





第一次調(diào)試的時候赚楚,發(fā)現(xiàn)TransactionSynchronizationManager.getSynchronizations()里是有回調(diào)參數(shù)imeiCenterPOList的毙沾。但是這時候并沒有觸發(fā)invokeAfterCommit,因為沒有滿足條件宠页,事物回調(diào)只有在事物成功提交后才會觸發(fā)左胞。可是明明已經(jīng)走完了batchAddImei方法举户,而且沒有拋出異常烤宙,按道理應(yīng)該會成功提交事物的〖筻遥看下外部調(diào)用躺枕,果然外部方法里也做了事物注解。


繼續(xù)斷點供填,發(fā)現(xiàn)還是沒有觸發(fā)拐云,而且這時候TransactionSynchronizationManager.getSynchronizations()里依然是有回調(diào)參數(shù)imeiCenterPOList的。繼續(xù)向外找方法調(diào)用近她,果然最外層還嵌套了一層注解事物叉瘩。斷點后發(fā)現(xiàn),invokeAfterCommit觸發(fā)了粘捎,但是這時候TransactionSynchronizationManager.getSynchronizations()的回調(diào)參數(shù)imeiCenterPOList的值變?yōu)?了薇缅。

我們都知道注解式事物Propagation.REQUIRED是存在則繼承,不存在則創(chuàng)建的攒磨。所以最終的事物提交需要等最外層事物提交后泳桦,才會觸發(fā)事物提交。然后看下最外層方法是不是對imeiCenterPOList參數(shù)有操作娩缰,最后發(fā)現(xiàn)如下有個clear清理邏輯蓬痒。終于找到罪魁禍?zhǔn)住?/p>

最后解決:在sendImeiSynMsgByCount調(diào)用事物回調(diào)方法時,做參數(shù)復(fù)制漆羔。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末梧奢,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子演痒,更是在濱河造成了極大的恐慌亲轨,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,627評論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件鸟顺,死亡現(xiàn)場離奇詭異惦蚊,居然都是意外死亡器虾,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,180評論 3 399
  • 文/潘曉璐 我一進(jìn)店門蹦锋,熙熙樓的掌柜王于貴愁眉苦臉地迎上來兆沙,“玉大人,你說我怎么就攤上這事莉掂「鹌裕” “怎么了?”我有些...
    開封第一講書人閱讀 169,346評論 0 362
  • 文/不壞的土叔 我叫張陵憎妙,是天一觀的道長库正。 經(jīng)常有香客問我,道長厘唾,這世上最難降的妖魔是什么褥符? 我笑而不...
    開封第一講書人閱讀 60,097評論 1 300
  • 正文 為了忘掉前任,我火速辦了婚禮抚垃,結(jié)果婚禮上喷楣,老公的妹妹穿的比我還像新娘。我一直安慰自己鹤树,他們只是感情好抡蛙,可當(dāng)我...
    茶點故事閱讀 69,100評論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著魂迄,像睡著了一般粗截。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上捣炬,一...
    開封第一講書人閱讀 52,696評論 1 312
  • 那天熊昌,我揣著相機(jī)與錄音,去河邊找鬼湿酸。 笑死婿屹,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的推溃。 我是一名探鬼主播昂利,決...
    沈念sama閱讀 41,165評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼铁坎!你這毒婦竟也來了蜂奸?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 40,108評論 0 277
  • 序言:老撾萬榮一對情侶失蹤硬萍,失蹤者是張志新(化名)和其女友劉穎扩所,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體朴乖,經(jīng)...
    沈念sama閱讀 46,646評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡祖屏,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,709評論 3 342
  • 正文 我和宋清朗相戀三年助赞,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片袁勺。...
    茶點故事閱讀 40,861評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡雹食,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出期丰,到底是詐尸還是另有隱情群叶,我是刑警寧澤,帶...
    沈念sama閱讀 36,527評論 5 351
  • 正文 年R本政府宣布咐汞,位于F島的核電站,受9級特大地震影響儒鹿,放射性物質(zhì)發(fā)生泄漏化撕。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 42,196評論 3 336
  • 文/蒙蒙 一约炎、第九天 我趴在偏房一處隱蔽的房頂上張望植阴。 院中可真熱鬧,春花似錦圾浅、人聲如沸掠手。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,698評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽喷鸽。三九已至,卻和暖如春灸拍,著一層夾襖步出監(jiān)牢的瞬間做祝,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,804評論 1 274
  • 我被黑心中介騙來泰國打工鸡岗, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留混槐,地道東北人。 一個月前我還...
    沈念sama閱讀 49,287評論 3 379
  • 正文 我出身青樓轩性,卻偏偏與公主長得像声登,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子揣苏,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,860評論 2 361

推薦閱讀更多精彩內(nèi)容