springcloud seata集成nacos 失败

 

项目环境: nacos+springcloud+mybatis-plus+seatea

前提:本地nacos中已经显示 seata-sever的服务已经注册成功 

相当于服务端的seata已经注册进入到注册中心

 

客户端:

使用的maven 依赖

<!-- seata-->
<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-alibaba-seata</artifactId>
    <version>2.1.0.RELEASE</version>
</dependency>
<dependency>
    <groupId>io.seata</groupId>
    <artifactId>seata-all</artifactId>
    <version>1.1.0</version>
</dependency>

application.pro...中

# Seata 服务组配置
seata.enabled=true
seata.application-id=order-seata-example
seata.tx-service-group=my_test_tx_group
seata.client.rm-report-success-enable=true
seata.client.rm-table-meta-check-enable=false
seata.client.rm-report-retry-count=5
seata.client.rm-async-commit-buffer-limit=10000
seata.client.rm.lock.lock-retry-internal=10
seata.client.rm.lock.lock-retry-times=30
seata.client.rm.lock.lock-retry-policy-branch-rollback-on-conflict=true
seata.client.tm-commit-retry-count=3
seata.client.tm-rollback-retry-count=3
seata.client.undo.undo-data-validation=true
seata.client.undo.undo-log-serialization=jackson
seata.client.undo.undo-log-table=undo_log
seata.client.log.exceptionRate=100
seata.client.support.spring.datasource-autoproxy=true
seata.service.vgroup-mapping.my_test_tx_group=default
seata.service.enable-degrade=false
seata.service.disable-global-transaction=false
seata.service.grouplist.default=127.0.0.1:8091
seata.transport.shutdown.wait=3
seata.transport.thread-factory.boss-thread-prefix=NettyBoss
seata.transport.thread-factory.worker-thread-prefix=NettyServerNIOWorker
seata.transport.thread-factory.server-executor-thread-prefix=NettyServerBizHandler
seata.transport.thread-factory.share-boss-worker=false
seata.transport.thread-factory.client-selector-thread-prefix=NettyClientSelector
seata.transport.thread-factory.client-selector-thread-size=1
seata.transport.thread-factory.client-worker-thread-prefix=NettyClientWorkerThread
seata.transport.type=TCP
seata.transport.server=NIO
seata.transport.heartbeat=true
seata.transport.serialization=seata
seata.transport.compressor=none
seata.transport.enable-client-batch-send-request=true

seata.registry.type=nacos
seata.registry.nacos.server-addr=127.0.0.1:8848
seata.registry.nacos.namespace=
seata.registry.nacos.cluster=default

seata.config.type=nacos
seata.config.nacos.namespace=""
seata.config.nacos.server-addr=127.0.0.1:8848

碰到的问题一:

项目路径中没有register.conf 的时候,直接报错

Caused by: io.seata.common.exception.NotSupportYetException: not support register type: null

通过源码查看

ConfigType configType;
try {
    configTypeName = CURRENT_FILE_INSTANCE.getConfig("config.type");
    configType = ConfigType.getType(configTypeName);
} catch (Exception var8) {
    throw new NotSupportYetException("not support register type: " + configTypeName, var8);
}

必须要项目中 有 register.conf 不清楚 具体原因,不知道是否是 application中 不生效的原因

问题二:

在resources 下面 加入 register.conf ,

registry {
  # file 、nacos 、eureka、redis、zk、consul、etcd3、sofa
  type = "nacos"
  nacos {
    serverAddr = "http://127.0.0.1:8848"
    group = "SEATA_GROUP"
    namespace = ""
    cluster = "default"
    username = "nacos"
    password = "nacos"
  }
}
config {
  # file、nacos 、apollo、zk、consul、etcd3
  type = "nacos"
  nacos {
    serverAddr = "http://127.0.0.1:8848"
    namespace = ""
    group = "SEATA_GROUP"
    username = "nacos"
    password = "nacos"
  }
}

项目回报错

no available service 'null' found, please make sure registry config correct

查看源码,config 为 无Fieds 属性对象

 

问题汇总:为什么application.propites中的 seata配置属性 感觉没有被加载 进入 

只能通过register.conf 中进行 加载,网上其他例子 包括 官网 在客户端 都可以 直接进行配置,不清楚具体原因 希望能解决

 

系统配置:

注册的seata-sever的服务端服务

错误截图:

 

seata 对应版本的依赖非常严重 要使用spring-cloud-alibab 的 推荐版本 即可

一般都是加载registry.conf,

您好,我是有问必答小助手,你的问题已经有小伙伴为您解答了问题,您看下是否解决了您的问题,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632

非常感谢您使用有问必答服务,为了后续更快速的帮您解决问题,现诚邀您参与有问必答体验反馈。您的建议将会运用到我们的产品优化中,希望能得到您的支持与协助!

速戳参与调研>>>https://t.csdnimg.cn/Kf0y