栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

并不流行的 分布式事务 tx-lcn 项目搭建

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

并不流行的 分布式事务 tx-lcn 项目搭建

tx-lcn分布式事务项目貌似不再流行了,稍稍记录一下

注意: 前置条件,搭建好mysql数据库、redis数据库
因为是spring cloud项目 可以自己选择 分布式类型 我这里用的nacos

服务端 pom文件添加依赖

注意 这里只能使用applcation.properties格式


        
            org.springframework.boot
            spring-boot-starter-web
        

        
            mysql
            mysql-connector-java
            runtime
        
        
            org.projectlombok
            lombok
            true
        
        
            org.springframework.boot
            spring-boot-starter-test
            test
            
                
                    org.junit.vintage
                    junit-vintage-engine
                
            
        

		
        
            com.codingapi.txlcn
            txlcn-tm
            5.0.2.RELEASE
        
    
启动类添加注解

添加 EnableTransactionManagerServer 注解

@SpringBootApplication
@EnableTransactionManagerServer
public class DemoTxApplication {

    public static void main(String[] args) {
        SpringApplication.run(DemoTxApplication.class, args);
        System.out.println("tx 启动完成======》 ");
    }

}
配置properties配置文件

这里只能使用 properties 格式

# 应用名称
spring.application.name=demo-tx
# 应用服务 WEB 访问端口
server.port=7970
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://127.0.0.1:12005/tx-manager?characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
spring.datasource.username=root
spring.datasource.password=abc123456
spring.jpa.database-platform=org.hibernate.dialect.MySQL5InnoDBDialect
spring.jpa.hibernate.ddl-auto=update


spring.redis.host=localhost
spring.redis.port=6379
spring.redis.password=abc123456
spring.redis.database=10


tx-lcn.manager.admin-key=abc123456
tx-lcn.manager.host=127.0.0.1
# 开放端口提供给别的服务连接
tx-lcn.manager.port=8070
# 心跳检测时间(ms)
tx-lcn.manager.heart-time=15000
# 分布式事务执行总时间
tx-lcn.manager.dtx-time=30000
#参数延迟删除时间单位ms
tx-lcn.message.netty.attr-delay-time=10000
tx-lcn.manager.concurrent-level=128
# 开启日志
tx-lcn.logger.enabled=true
logging.level.com.codingapi=debug

# mybatis 的配置 这里我没设置 请自行添加情况添加
#mybatis.conf


客户端 pom依赖

注意 cloud跟boot版本对应,不然启动会报错误,建议创建项目使用阿里云连接( https://start.aliyun.com/ )创建

 

        
            org.projectlombok
            lombok
        


        
            org.springframework.boot
            spring-boot-starter-web
        
        
            com.alibaba.cloud
            spring-cloud-starter-alibaba-nacos-discovery
        
        
            org.springframework.cloud
            spring-cloud-starter-openfeign
        

        
            mysql
            mysql-connector-java
            runtime
        
        
            org.springframework.boot
            spring-boot-starter-test
            test
            
                
                    org.junit.vintage
                    junit-vintage-engine
                
            
        


		
        
            com.codingapi.txlcn
            txlcn-tc
            5.0.2.RELEASE
        

        
            com.codingapi.txlcn
            txlcn-txmsg-netty
            5.0.2.RELEASE
        
		

        
            com.baomidou
            mybatis-plus-boot-starter
            3.5.2
        
    

    
        
            
                org.springframework.cloud
                spring-cloud-dependencies
                ${spring-cloud.version}
                pom
                import
            
            
                org.springframework.boot
                spring-boot-dependencies
                ${spring-boot.version}
                pom
                import
            
            
                com.alibaba.cloud
                spring-cloud-alibaba-dependencies
                ${spring-cloud-alibaba.version}
                pom
                import
            
        
    
启动类添加注解

添加 EnableDistributedTransaction 注解

@SpringBootApplication
@MapperScan("com.example.serviceb.mapper")
@EnableDistributedTransaction
public class DemoServicebApplication {

    public static void main(String[] args) {
        SpringApplication.run(DemoServicebApplication.class, args);
        System.out.println("service 启动完成=========》");
    }

}

yml配置文
spring:
  application:
    name: demo-serviceb
  cloud:
    nacos:
      discovery:
        username: nacos
        password: nacos
        server-addr: http://127.0.0.1:8848
        namespace: public
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    name: defaultDataSource
    url: jdbc:mysql://localhost:3306/test?serverTimezone=UTC
    username: root
    password: 123456
server:
  jetty:
    threads:
      acceptors: 4
      selectors: 8
  port: 8002
  servlet:
    context-path: /


tx-lcn:
  client:
  # 输入服务端设置的地址
    manager-address: 127.0.0.1:8070

feign:
  client:
    config:
      default:
        connectTimeout: 10000
        readTimeout: 300000
mybatis-plus:
  mapper-locations: classpath*:mapper/*.xml
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1006873.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号