博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
spring boot 1.5.6版本整合LCN5.0
阅读量:5893 次
发布时间:2019-06-19

本文共 2504 字,大约阅读时间需要 8 分钟。

最新在更新LCN,由4.0更新到了5.0,这里说说更新遇到的问题,官方在5.0.1版本开始兼容了springboot1.5版本,但是整合的时候还是需要注意一些问题。

1.maven的引包需要改变,本人使用的是最新的5.0.2版本

         <-- 下面两个包的版本号最好与springboot版本一致,在txlcn-tc中,引入了这两个包,并且版本号为2.0.5,该操作用于覆盖2.0.5版本的包 -->      
org.springframework.boot
spring-boot-starter-actuator
1.5.6.RELEASE
org.springframework.boot
spring-boot-configuration-processor
1.5.6.RELEASE
    <-- 官方文档给出的解决方案,txlcn-tc中引入的是2.0.5版本,要换成1.3.5版本 -->
org.springframework.cloud
spring-cloud-commons
1.3.5.RELEASE
com.codingapi.txlcn
txlcn-tc
5.0.2.RELEASE
com.codingapi.txlcn
txlcn-txmsg-netty
5.0.2.RELEASE

 

2.代码需要做一些改变

a.启动类需要加上@EnableDistributedTransaction注解;

b.用到了分布式事务的方法上注解由@TxtTransaction改为@LcnTransaction,当然,还有txc、tcc和自定义的用法,具体可查看官方文档,这里就不赘述了。

 

3.到官方github上下载tx-lcn,并修改配置,只列出个人认为有用的配置,具体配置请查看官方文档

spring.application.name=tx-manager #lcn5.0集成了管理页面,该端口为访问管理页面的端口server.port=8899spring.datasource.driver-class-name=com.mysql.jdbc.Driver #lcn将异常事务日志存到了数据库中,需要建立tx-manager数据库,并在数据库中建立t_tx_exception表,sql文件可在txlcn-tm中找到spring.datasource.url=jdbc:mysql://127.0.0.1:3306/tx-manager?characterEncoding=UTF-8spring.datasource.username=rootspring.datasource.password=123456# TxClient连接请求端口,官方文档说默认是8070端口,但测试发现,TxManagerConfig类中的port属性并没有设置默认值,所以不设置端口客户端会找不到tx-managertx-lcn.manager.port=8070  #redis 主机,熟悉lcn的会知道,lcn将事务组信息存到了redis中spring.redis.host=127.0.0.1#redis 端口spring.redis.port=5379#redis 密码spring.redis.password=123456

自此,springboot1.5.6和lcn5.0的整合完毕

 

问题:当然,现在5.0.2版本还是有些不足,比如客户端启动后如果找不到tx-manager,则只会重试8次,并且无法配置不限重试次数,也就是说tx-manager需要在客户端之前启动才比较稳妥。

个人认为最好能让客户端一直重试,这样如果lcn挂了,再启动时,不需要把客户端也重启。

解决这个问题本人目前是通过修改lcn的部分源码,下篇博客再做介绍。

 

总的来说,LCN5.0比4.0是很大的跨越,做了很多优化,也新增了很多功能,以下举例以下个人认为受益很大的优化

1、新增管理页面,通过管理页面可以看到连接tx-manager的客户端,也可以看到lcn管理范围下出现的异常事务;

2、解决4.0中客户端找不到tx-manager而启动失败的问题,5.0版本中,客户端启动时就算找不到tx-manager,依然不影响客户端的启动,只是使用了lcn的方法会报空指针异常,避免了因为lcn而影响了模块的其他功能。

3、新增了txc、tcc和自定义的事务模式,符合更多的业务场景(虽然本人目前只使用了lcn模式)

转载于:https://www.cnblogs.com/jagerLan/p/10605670.html

你可能感兴趣的文章
Nginx安装
查看>>
MyEclipse中编译js错误Multiple markers at this line - Missing
查看>>
Java功底篇系列-04-基本类型/包装类型/Collections/Arrays
查看>>
Linux下网站安全加固方案
查看>>
查看操作系统位数
查看>>
我的友情链接
查看>>
数据依赖
查看>>
myeclipse开发Webservice
查看>>
解决Esxi安装server 2008 R2 鼠标轻飘飘现象
查看>>
千古兴亡多少事,一江春水向东流--转任总文章
查看>>
开源社区工具
查看>>
DEDE全站评论总数调用以及与使用方法
查看>>
1-2 给容器和PODS 分配CPU资源
查看>>
natas系列0--10
查看>>
Kubernetes 1.5.1 部署
查看>>
shell echo打印换行的方法
查看>>
数据导数据工具xtrabackup之xtrabackup_binlog_pos_innodb和xtrabackup_binlog_info区别
查看>>
67:zabbix之添加主动/被动模式|添加监控主机|自定义模块|图形中乱码|自动发现...
查看>>
汽车保养
查看>>
Unix系统性能监控工具之--SAR
查看>>