Seata不代理数据源,怎么拦截sql,存储事务日志呢?没有事务日志就没办法找原始sql和前后像回滚

Seata不代理数据源,怎么拦截sql,存储事务日志呢?没有事务日志就没办法找原始sql和前后像回滚

展开
收起
真的很搞笑 2023-04-10 22:28:07 278 发布于浙江 分享
分享
版权
举报
1 条回答
写回答
取消 提交回答
  • 坚持这件事孤独又漫长。

    可以通过以下三个步骤来拦截SQL并存储事务日志:

    1. 使用Seata官方提供的DataSourceProxy类代理您的数据源。该类可以将数据源与Seata框架整合,以便进行分布式事务管理。

    2. 在您的项目中添加Seata提供的Filter,例如ServerTransactionControlFilter和ClientATFilter,以便将资源管理器和事务参与者与Seata交互。在Filter中,您可以拦截SQL并将其存储到事务日志中。

    3. 如果您的数据源不支持XA事务,可以考虑使用TCC事务模式。在TCC模式下,您可以通过在try、confirm和cancel阶段中手动执行提交和回滚,来管理分布式事务。

    2023-04-11 08:54:30 举报
    赞同 评论

    评论

    全部评论 (0)

    登录后可评论

为企业提供高效、稳定、易扩展的中间件产品。

收录在圈子:
+ 订阅
阿里云中间件主要有包含这么几个: 分布式关系型数据库DRDS_水平拆分 做数据库扩展性的 、消息队列MQ 是做消息的中间件、企业级分布式应用服务EDAS 做分布式服务的、还有一些其他的中间件,比如配置服务、缓存等等。
还有其他疑问?
咨询AI助理
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等