看的的1.5.4版本 最新的2.x版本
demo查看
https://github.com/shardingjdbc/sharding-jdbc/blob/1.5.4/sharding-jdbc-example/sharding-jdbc-example-jdbc-transaction/src/main/java/com/dangdang/ddframe/rdb/sharding/example/transaction/Main.java
需要硬編碼
SoftTransactionManager transactionManager=new SoftTransactionManager(getSoftTransactionConfiguration(dataSource));
transactionManager.init();
BEDSoftTransaction transaction = (BEDSoftTransaction transactionManager.getTransaction(SoftTransactionType.BestEffortsDelivery);
。。。
邏輯大致是將執行的sql記錄日誌到數據庫中,失敗了在讀出來重複執行,成功了刪除,直到一定的重試次數
如果還是失敗 使用elastic-job異步的執行,
還失敗,保留事務日誌,人工處理,