开发者社区 > 云原生 > 正文

有谁知道seata这是什么原因吗? 使用的是redis模式

dd13113137dd76bc4c070a9f18652134.png 有谁知道seata这是什么原因吗? 使用的是redis模式

展开
收起
真的很搞笑 2023-05-14 19:08:17 212 0
4 条回答
写回答
取消 提交回答
  • 十分耕耘,一定会有一分收获!

    楼主你好,看了你的问题,报错 "only three parameters of tableName, pk, resourceId or Xid are supported" 指的是在尝试执行某个操作时,传递的参数不符合预期,只支持三个参数:tableName(表名)、pk(主键)和resourceld(资源ID)。

    2023-12-25 19:48:29
    赞同 展开评论 打赏
  • 报错 "only three parameters of tableName, pk, resourceId or Xid are supported" 指的是在尝试执行某个操作时,传递的参数不符合预期。Seata 期望在执行相关操作时,只接受 tableName、pk(主键)、resourceId 或 xid(全局事务ID)中的一部分作为参数。

    2023-12-23 14:14:01
    赞同 1 展开评论 打赏
  • 这个错误提示表示在使用Seata的Redis模式时,只支持三个参数:tableName(表名)、pk(主键)和resourceld(资源ID)。如果你提供了其他参数,就会出现这个错误。

    要解决这个问题,你需要检查你的代码,确保在配置Seata时只提供了这三个参数。例如,如果你的代码是这样的:

    GlobalTransactional globalTransactional = new GlobalTransactional(txManager);
    globalTransactional.execute(status -> {
        // 执行业务逻辑
    });
    

    你需要修改为:

    GlobalTransactional globalTransactional = new GlobalTransactional(txManager);
    globalTransactional.execute(status -> {
        // 执行业务逻辑
    }, "yourTableName", "yourPrimaryKey", "yourResourceId");
    

    这样,你就可以使用Seata的Redis模式,并且只提供三个参数了。

    2023-12-13 17:32:59
    赞同 展开评论 打赏
  • 北京阿里云ACE会长

    在使用 Seata 的 Redis 模式时,如果出现 “only three parameters of tableName,pk,resourceld or Xid are supported” 的错误提示,可能的原因有以下几种:

    1. 配置文件不正确:可能是因为 Seata Server 的配置文件不正确,导致无法正确初始化 Redis 模式。可以检查 Seata Server 的配置文件,确认其是否正确配置。
    2. 依赖问题:可能是因为 Seata Server 依赖的组件缺失或版本不正确,导致无法正确初始化 Redis 模式。可以检查 Seata Server 的依赖,确认其是否正确配置。
    3. 其他原因:还有可能是其他原因导致无法正确初始化 Redis 模式,需要根据具体情况进行排查。
    2023-12-11 19:46:24
    赞同 展开评论 打赏

阿里云拥有国内全面的云原生产品技术以及大规模的云原生应用实践,通过全面容器化、核心技术互联网化、应用 Serverless 化三大范式,助力制造业企业高效上云,实现系统稳定、应用敏捷智能。拥抱云原生,让创新无处不在。

相关电子书

更多
Redis在唯品会的应用实践——架构演进与功能定制 立即下载
微博的Redis定制之路 立即下载
云数据库Redis版的开源之路 立即下载