Sharding-JDBC 最大努力型事务理解

Sharding-JDBC 最大努力型事务理解。

看的的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异步的执行,

还失败,保留事务日志,人工处理,

猜你喜欢

转载自my.oschina.net/xiaominmin/blog/1825153