• alibabaseata 使用


    Seata 官网基于 docker 部署:https://seata.io/zh-cn/docs/ops/deploy-by-docker.html

    1. 直接在 虚拟机 上执行 

    docker run --name seata-server \
    -p 8091:8091 \
    -e SEATA_IP=192.168.0.101 \
    -e SEATA_PORT=8091 \
    seataio/seata-server

    拉取 lastest 镜像并启动容器

    其中 192.168.0.101 为虚拟机ip

    2. 项目 的pom.xml 里导入 坐标(需要注意 相关组件版本:https://github.com/alibaba/spring-cloud-alibaba/wiki/%E7%89%88%E6%9C%AC%E8%AF%B4%E6%98%8E):

    <dependency>
        <groupId>com.alibaba.cloud</groupId>
        <artifactId>spring-cloud-starter-alibaba-seata</artifactId>
        <version>2.2.5.RELEASE</version>
    </dependency>
    

    3. SpringBootApplication 启动类上添加  @EnableAutoDataSourceProxy 注解

    4.  修改 hailtaxi-driver-dev.yml 配置,添加 seata 相关内容:

    # 配置 seata
    seata:
      enabled: true
      application-id: ${spring.application.name}
      tx-service-group: my_tx_group
      enable-auto-data-source-proxy: true
      data-source-proxy-mode: AT
      use-jdk-proxy: false
      scan-packages: firstPackage,secondPackage
      excludes-for-scanning: firstBeanNameForExclude,secondBeanNameForExclude
      excludes-for-auto-proxying: firstClassNameForExclude,secondClassNameForExclude
      client:
        rm:
          async-commit-buffer-limit: 10000
          report-retry-count: 5
          table-meta-check-enable: false
          report-success-enable: false
          saga-branch-register-enable: false
          saga-json-parser: fastjson
          saga-retry-persist-mode-update: false
          saga-compensate-persist-mode-update: false
          tcc-action-interceptor-order: -2147482648 #Ordered.HIGHEST_PRECEDENCE + 1000
          sql-parser-type: druid
          lock:
            retry-interval: 10
            retry-times: 30
            retry-policy-branch-rollback-on-conflict: true
        tm:
          commit-retry-count: 5
          rollback-retry-count: 5
          default-global-transaction-timeout: 60000
          degrade-check: false
          degrade-check-period: 2000
          degrade-check-allow-times: 10
          interceptor-order: -2147482648 #Ordered.HIGHEST_PRECEDENCE + 1000
        undo:
          data-validation: true
          log-serialization: jackson
          log-table: undo_log
          only-care-update-columns: true
          compress:
            enable: true
            type: zip
            threshold: 64k
        load-balance:
          type: RandomLoadBalance
          virtual-nodes: 10
      service:
        vgroup-mapping:
          my_tx_group: default
        grouplist:
          default: 192.168.0.101:8091
        enable-degrade: false
        disable-global-transaction: false
      transport:
        shutdown:
          wait: 3
        thread-factory:
          boss-thread-prefix: NettyBoss
          worker-thread-prefix: NettyServerNIOWorker
          server-executor-thread-prefix: NettyServerBizHandler
          share-boss-worker: false
          client-selector-thread-prefix: NettyClientSelector
          client-selector-thread-size: 1
          client-worker-thread-prefix: NettyClientWorkerThread
          worker-thread-size: default
          boss-thread-size: 1
        type: TCP
        server: NIO
        heartbeat: true
        serialization: seata
        compressor: none
        enable-tm-client-batch-send-request: false
        enable-rm-client-batch-send-request: true
        rpc-rm-request-timeout: 30000
        rpc-tm-request-timeout: 30000

    5. idea 启动项目,报错: endpoint format should like ip:port

    可能的原因:估计和加载顺序、spring.application.name 配置被覆盖有关。

    解决方案:

    将 seata 配置移到 bootstrap.yml 配置文件中即可,即 和  spring.application.name 一起加载

  • 相关阅读:
    一失足千古恨在 WSL 中使用了 md 创建文件夹 (2020-04-26)
    开源中国 ThinkPHP 领奖
    投资投机脑图(2019-12-12)
    什么? 1XIN = 21BTC
    笔记:投机和投资 F4NNIU
    如何设置单个 Git 仓库的代理从而提高更新速度
    FastAdmin 使用 phpmail 出现 spl_autoload_register 错误
    plsql 引用型变量
    oracle 存储函数
    oracle存储过程(带参数的存储过程)
  • 原文地址:https://www.cnblogs.com/wtx106/p/15917310.html
Copyright © 2020-2023  润新知