1.@GlobalTransaction 与 @ExceptionHandler 冲突
问题场景
分布式事务下,服务提供者使用了springboot的全局异常处理,当出现异常时,消费者无法捕获,此时会出现事务回滚失效的问题
解决办法
将提供者的接口区分为:内部接口与外部接口,全局异常处理只扫描内部接口,外部接口的异常交给消费者处理
2.LocalDateTime
问题场景
seata 写入undo_log 日志时会将 datetime 类型解析为 LocalDateTime,而该类型没有空参构造器,seata内部自带的jackson无法反序列化。
解决办法
修改 seata 反序列化工具,client.undo.logSerialization
项目中添加 kryo 依赖