下载seata https://github.com/seata/seata/releases
配置:file.config 分为本地模式file,数据库模式db
初始化表 https://github.com/seata/seata/edit/1.4.0/script/server/db/mysql.sql
连接的应该是这个库 globalTable,branchTable, lockTable 这是Seata server用来保存全局事务,分支事务,事务锁定状态的表 seata用这三个表记录分布式事务执行状态,控制最终一致性
undo_log 记录了全局事务和分支事务的ID信息,回滚内容和执行状态等 undo_log并不是创建在seata server的schema下,而是要创建在微服务项目自己的数据库之下
异常现象:
PhaseTwo_RollbackFailed_Retryable
好像在一直重试回滚
已经有个在重试回滚,再提交请求时:
JDBC commit failed; nested exception is io.seata.rm.datasource.exec.LockConflictException: get global lock fail, xid:10.96.9.237:8091:4738033714683482832, lockKeys:psog_store:1
https://blog.csdn.net/m0_37834471/article/details/105039673
Caused by: com.esotericsoftware.kryo.KryoException: Class cannot be created (missing no-arg constructor): java.time.LocalDateTime
这个表中只要有数据并且没有回滚成功,则会一直进行回滚尝试。(如果没限制回滚次数的话)