1. 程式人生 > >springCloud分散式事務實戰(十)分散式事務綜合大測試(全,共10篇)

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分散式微服務的分散式事務管理設計,實現和測試。希望在黑暗中摸索的同學有些幫助。