SpringCloud集成分布式事务管理框架lcn

1parent-pom.xml: 2-------------------------------------------------------------------------------- 3<?xml version="1.0" encoding="UTF-8"?> 4 5<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 6 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 7 <modelVersion>4.0.0</modelVersion> 8 <groupId>com.test</groupId> 9 <artifactId>springcloud</artifactId> 10 <packaging>pom</packaging> 11 <version>1.0-SNAPSHOT</version> 12 13 <parent> 14 <groupId>org.springframework.boot</groupId> 15 <artifactId>spring-boot-starter-parent</artifactId> 16 <version>2.0.3.RELEASE</version> 17 <relativePath/> 18 </parent> 19 20 <name>springcloud</name> 21 <!-- FIXME change it to the project's website --> 22 <url>http://www.example.com</url> 23 24 <properties> 25 <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 26 <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> 27 <java.version>1.8</java.version> 28 <spring-cloud.version>Finchley.RELEASE</spring-cloud.version> 29 </properties> 30 31 <!--子模块--> 32 <modules> 33 <module>eureka-server</module> 34 <module>member-service</module> 35 <module>order-service</module> 36 <module>zuul-service</module> 37 <module>config-service</module> 38 <module>config-client</module> 39 <!--接口包--> 40 <module>base-model-order</module> 41 <module>lcn-manager</module> 42 </modules> 43 44 <dependencies> 45 <!--test--> 46 <dependency> 47 <groupId>org.springframework.boot</groupId> 48 <artifactId>spring-boot-starter-test</artifactId> 49 <scope>test</scope> 50 <exclusions> 51 <exclusion> 52 <groupId>org.junit.vintage</groupId> 53 <artifactId>junit-vintage-engine</artifactId> 54 </exclusion> 55 </exclusions> 56 </dependency> 57 <dependency> 58 <groupId>org.springframework.boot</groupId> 59 <artifactId>spring-boot-starter-test</artifactId> 60 <scope>test</scope> 61 </dependency> 62 <dependency> 63 <groupId>org.springframework.boot</groupId> 64 <artifactId>spring-boot-starter-web</artifactId> 65 </dependency> 66 <dependency> 67 <groupId>junit</groupId> 68 <artifactId>junit</artifactId> 69 <version>4.13</version> 70 <scope>test</scope> 71 </dependency> 72 <!-- https://mvnrepository.com/artifact/com.alibaba/fastjson --> 73 <dependency> 74 <groupId>com.alibaba</groupId> 75 <artifactId>fastjson</artifactId> 76 <version>1.2.58</version> 77 </dependency> 78 <dependency> 79 <groupId>mysql</groupId> 80 <artifactId>mysql-connector-java</artifactId> 81 <version>5.1.36</version> 82 </dependency> 83 84 85 <!--lcn事务--> 86 <dependency> 87 <groupId>com.codingapi.txlcn</groupId> 88 <artifactId>txlcn-tc</artifactId> 89 <version>5.0.2.RELEASE</version> 90 </dependency> 91 92 <dependency> 93 <groupId>com.codingapi.txlcn</groupId> 94 <artifactId>txlcn-txmsg-netty</artifactId> 95 <version>5.0.2.RELEASE</version> 96 </dependency> 97 98 </dependencies> 99 <dependencyManagement> 100 <dependencies> 101 <dependency> 102 <groupId>org.springframework.cloud</groupId> 103 <artifactId>spring-cloud-dependencies</artifactId> 104 <version>Finchley.RELEASE</version> 105 <type>pom</type> 106 <scope>import</scope> 107 </dependency> 108 </dependencies> 109 </dependencyManagement> 110 <build> 111 <plugins> 112 <plugin> 113 <groupId>org.apache.maven.plugins</groupId> 114 <artifactId>maven-surefire-plugin</artifactId> 115 <version>2.18.1</version> 116 <configuration> 117 <skipTests>true</skipTests> 118 </configuration> 119 </plugin> 120 </plugins> 121 </build> 122</project> 123注意SpringBoot跟SpringCloud的版本:这是个大坑 124lcn-manager.pom 125-------------------------------------------------------------------------------- 126<?xml version="1.0" encoding="UTF-8"?> 127<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 128 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> 129 <modelVersion>4.0.0</modelVersion> 130 <properties> 131 <java.version>1.8</java.version> 132 </properties> 133 134 <dependencies> 135 <dependency> 136 <groupId>com.codingapi.txlcn</groupId> 137 <artifactId>txlcn-tm</artifactId> 138 <version>5.0.2.RELEASE</version> 139 </dependency> 140 <dependency> 141 <groupId>org.springframework.cloud</groupId> 142 <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId> 143 </dependency> 144 </dependencies> 145 <parent> 146 <groupId>com.test</groupId> 147 <artifactId>springcloud</artifactId> 148 <version>1.0-SNAPSHOT</version> 149 </parent> 150 <groupId>com.example</groupId> 151 <artifactId>lcn-manager</artifactId> 152 <version>0.0.1-SNAPSHOT</version> 153 <name>lcn-manager</name> 154 <description>Demo project for Spring Boot</description> 155</project> 156-------------------------------------------------------------------------------- 157lcn-manager.properties: 注意数据库选择一个能连接上的即可,不需要手动创建,不存在会自动创建 158 159#应用名称 160spring.application.name=tx-manager 161server.port=7970 162#DataSource配置 163spring.datasource.driver-class-name=com.mysql.jdbc.Driver 164spring.datasource.url=jdbc:mysql://127.0.0.1:3306/tx-manager?characterEncoding=UTF-8 165spring.datasource.username=root 166spring.datasource.password=1 167#redis 配置 168spring.redis.host=122.51.71.115 169spring.redis.port=6379 170spring.redis.password= 171 172#注册中心地址 173eureka.client.serviceUrl.defaultZone= http://localhost:8080/eureka/ 174# 注册名 175eureka.instance.instance-id=${spring.cloud.client.ip-address}:${server.port} 176# 设置注册到服务的为ip 177eureka.instance.prefer-ip-address=true 178#开启驼峰 179mybatis.configuration.map-underscore-to-camel-case=true 180#允许JDBC 生成主键。需要驱动器支持。如果设为了true,这个设置将强制使用被生成的主键,有一些驱动器不兼容不过仍然可以执行。 default:false 181mybatis.configuration.use-generated-keys=true 182 183# tx-manager ip(client请求ip) 184#tx-lcn.manager.host=127.0.0.1 185# client 请求端口 186#tx-lcn.manager.port=8070 187 188tx-lcn.client.manager-address=127.0.0.1:8070 189# 心跳检测时间 单位:ms 190tx-lcn.manager.heart-time=12000 191# 事务执行总时间 192tx-lcn.manager.dtx-time=10000 193# 参数延迟删除时间单位ms 194tx-lcn.message.netty.attr-delay-time=10000 195tx-lcn.manager.concurrent-level=128 196# 开启日志 197tx-lcn.logger.enabled=true 198logging.level.com.codingapi=debug 199tx-lcn.logger.driver-class-name=${spring.datasource.driver-class-name} 200tx-lcn.logger.jdbc-url=${spring.datasource.url} 201tx-lcn.logger.username=${spring.datasource.username} 202tx-lcn.logger.password=${spring.datasource.password} 203tx-lcn.manager.ex-url=/provider/email-to/xiaoluoheng@foxmail.com 204tx-lcn.manager.ex-url-enabled=true 205spring.jpa.hibernate.ddl-auto=update 206tx-lcn.manager.admin-key=123456 207 208 209-------------------------------------------------------------------------------- 210package com.example.lcnmanager; 211 212import com.codingapi.txlcn.tm.config.EnableTransactionManagerServer; 213import org.springframework.boot.SpringApplication; 214import org.springframework.boot.autoconfigure.SpringBootApplication; 215import org.springframework.cloud.netflix.eureka.EnableEurekaClient; 216 217@SpringBootApplication 218//注册到Eureka中 219@EnableEurekaClient 220//分布式事务管理server 221@EnableTransactionManagerServer 222public class LcnManagerApplication { 223 224 public static void main(String[] args) { 225 SpringApplication.run(LcnManagerApplication.class, args); 226 } 227 228} 229 230-------------------------------------------------------------------------------- 231保证lcn-manager项目正常启动 232 233 234集成SringCloud: 235 236在不同的微服务中启动类上加: 237@EnableDistributedTransaction //开启分布式事务管理 238 239/** 240 * 新增数据 241 * 242 * @param user 实例对象 243 * @return 实例对象 244 */ 245@Override 246//调用方与被调用方的业务方法上加注解即可 247@LcnTransaction 248@Transactional 249public User insert(User user) { 250 this.userDao.insert(user); 251 return user; 252}

最坑的是版本的兼容性,这个东西只能试验试错,总结

项目下载地址:https://gitee.com/dongfangxuri/lcn-sprongcloud.git欢迎拍砖
点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

MySQL部分从库上面因为大量的临时表tmp_table造成慢查询

背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_

皕杰报表之UUID

​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

2020年前端实用代码段,为你的工作保驾护航

有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )