当前位置: 首页 > 网络应用技术

SEATA,SEATA源修改的一些扩展

时间:2023-03-07 01:39:03 网络应用技术

  有一个用于表结构的缓存机制,默认时间为10分钟!

  如果我们修改表的结构,则会导致SEATA异常,并且交易不能提交,从而导致错误。

  解决方案方法如下:

  1.等待10分钟之前。

  2.修改源代码,不再从缓存中获取表结构。

  哈哈,我们是一个,这绝对是选择!

  因此,需要修改源代码。如下图所示:显示::

  在buildRecords方法中对相关代码进行了细微调整,并且不再从缓存表结构tablemeta中获得,并从resultsetsetmetadata中更改。

  有时,当我们执行更新操作时,我们可能需要更新,例如,以下内容:

  但是,这样的SQL语句使用SEATA交易,这将导致不提交SEATA交易并导致错误。

  它不支持默认值。在这里,我们需要修改源代码。

  在(seata-rm-datasource)srcmainjava目录中,我修改io.seata.rm.datasource.exec。如下图所示:

  在(seata-sqlparser)子模块seata-sqlparser-druidsrcmainjava目录中,io.seata.seata.sqlparser.druid.msql.msqlupdatreconizer类已修改,如下图所示:如下:

  (1)SEATA-SQLPARPARPARSER-DRUIDSRCMAINJAVA目录中的SEATA-SQLPARSER,修改io.seata.sqlparser.druid.oracle。如下图所示:

  (2)SEATA-SQLPARPARPARSER-DRUIDSRCMAINJAVA(SEATA-SQLPARSER),修改Oo.seata.rm.datasource.oracle.aracle.aracle.aracle.race.race.raceyword,如下图所示:

  (1)MySQL数据库:

  普通多观察连接

  加入表

  (2)Oracle,Kingbase(人民大会Jincang)和Dimeng数据库:

  好吧,Seata的一些扩展,Seata源代码修改,就是这样!

  今天在这里,很滑!交点简报^_^

  我认为有收益,帮助!交叉触摸

  原始:https://juejin.cn/post/710315485786741774