springCloud分佈式事務實戰(十)分佈式事務綜合大測試(全,共10篇)

啓動註冊中心,啓動redis ,啓動事務管理器
啓動mysql 啓動微服務1 ,啓動微服務2

(1)正常事務測試:

不拋出異常,兩邊都插入

1 設計沒有故障整合服務
@TxTransaction(isStart=true) //關鍵 4

@Overridebr/>@Transactional
public int saveBlockTheme(Block block, Theme theme) {
// return blockDao.saveBlock(name, blockDesc);

    int rs1 = blockDao.saveBlock("jwg1", "111");// 3 保存1

    int rs2 = themeClient.saveTheme("jwg2", "111", 1);// 4 保存2

    // int v = 100/0; //沒有故障

    return rs1 + rs2;

}

}
2 在瀏覽器輸入:http://localhost:8020/saveBlockTheme
結果:
springCloud分佈式事務實戰(十)分佈式事務綜合大測試(全,共10篇)

3 到數據庫查看:
Block表
springCloud分佈式事務實戰(十)分佈式事務綜合大測試(全,共10篇)

Theme表
springCloud分佈式事務實戰(十)分佈式事務綜合大測試(全,共10篇)

兩個庫的表中都插入

(2)非正常事務測試
認爲拋出異常,兩邊都不插入
1設計有故障服務
@TxTransaction(isStart=true) //關鍵 4

@Overridebr/>@Transactional
public int saveBlockTheme(Block block, Theme theme) {
// return blockDao.saveBlock(name, blockDesc);

    int rs1 = blockDao.saveBlock("jwg1", "111");// 3 保存1

    int rs2 = themeClient.saveTheme("jwg2", "111", 1);// 4 保存2

     int v = 100/0; //故障

    return rs1 + rs2;

}

}
2 在瀏覽器輸入:http://localhost:8020/saveBlockTheme
springCloud分佈式事務實戰(十)分佈式事務綜合大測試(全,共10篇)
3 去數據庫查看
Block表
springCloud分佈式事務實戰(十)分佈式事務綜合大測試(全,共10篇)
沒有記錄

Theme表
springCloud分佈式事務實戰(十)分佈式事務綜合大測試(全,共10篇)springCloud分佈式事務實戰(十)分佈式事務綜合大測試(全,共10篇)

沒有記錄,說明回滾成功

總結:
通過10篇文章的論述,成功實現了基於springcloud分佈式微服務的分佈式事務管理設計,實現和測試。希望在黑暗中摸索的同學有些幫助。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章