关于TX-LCN5.0.2使用与docker部署方面的一些坑与实战的简单记录

TX不生产事务,只是事务的搬运工!

1、必须保证@LcnTransaction、@Transactional两个注解的先后顺序,@LcnTransaction在前

2、调试时需要适当的增大TxManage中分布式事务执行总时间(ms)的设定=>tx-lcn.manager.dtx-time. 默认为36000,否则超过时会出现NullPointerException异常

3、真实环境需解决服务集群部署的问题,参考:https://www.jnnvc.com/archives/5987

4、Tx-LCN TM docker部署,tx-lcn.manager.host是一个坑,参考:https://blog.csdn.net/qq_42714869/article/details/90514762

    配置宿主机IP,linux以jar包方式启动,在Manager平台IP为192.168.1.126,此时TC启动没问题
    
    配置0.0.0.0,linux docker打包镜像启动,在Manager平台IP为0.0.0.0,此时TC启动配置tx-lcn.manager.host=192.168.1.126将连接不上
    
    环境同上,将IP配置为真实,打包镜像后,效果同上
    
    根据官方解释地方在5.0.2上做了调整,我们会将设置tx-lcn.manager.host作为参数绑定在tm上,但是由于我们给的默认值为127.0.0.1.导致的问题。
    解决方案:写ip 或 为“”

        tx-lcn.manager.host=192.168.3.63
        tx-lcn.manager.host=
    https://github.com/codingapi/tx-lcn/issues/261
    尝试将设置tx-lcn.manager.host=任然不行,最终将TM Socket端口改变为8071后成功!

       
    docker build -t txlcn-tm:v1.0.2 .
    
    docker run -d -p 7970:7970 -p 8070:8070  --name txlcn-tm txlcn-tm:v1.0.2

后续会更新集群方面的坑。。。

你可能感兴趣的:(实践总结)