Hi ,

Thank you for your feedback. For the database connection string with
multiple IPs, you can change it to jdbc:mysql:loadbalance://
192.168.10.41:19131,192.168.10.42:19131/assets

Warm regards,

Ji Min


陈欢 <[email protected]> 于2024年4月29日周一 11:30写道:

> 陈欢
> [email protected]
>
>
>
> &nbsp;开发者,您好!
>         本人在学习使用seata(AT模式)的过程中出现了一个奇怪的问题,目前没有找到解决办法,想请您帮助看一下。
>
>
> 问题描述如下:
> Spring Cloud Alibaba 2.2.6.RELEASE + Spring Boot 2.3.2.RELEASE + seata
> 1.5.2 + mysql8.0
>
>
> 有若干个服务,服务A、服务B、服务C,并配置了seata 1.5.2,且正常使用,使用AT模式。
>
>
> 在使用MySql集群时候出现问题,问题出现在服务A、服务B、服务C使用mysql集群连接串时候,全局事务出现如下错误,
>
>
> 10:52:40.627 ERROR --- [Pool.commonPool-worker-11]
> io.seata.server.coordinator.DefaultCore&nbsp; : Committing branch
> transaction exception: BR:4323970364623622157/4323970364623622146
> No channel is available for resource[jdbc:mysql://192.168.10.41:19131,
> 192.168.10.42:19131/assets]
> ==&gt;
> java.lang.RuntimeException: rm client is not connected. dbkey:jdbc:mysql://
> 192.168.10.41:19131,
> 192.168.10.42:19131/assets,clientId:assets:192.168.10.41:55934
>         at
> io.seata.core.rpc.netty.AbstractNettyRemotingServer.sendSyncRequest(AbstractNettyRemotingServer.java:69)
>         at
> io.seata.server.coordinator.AbstractCore.branchCommitSend(AbstractCore.java:175)
>         at
> io.seata.server.coordinator.AbstractCore.branchCommit(AbstractCore.java:165)
>         at
> io.seata.server.coordinator.DefaultCore.lambda$doGlobalCommit$1(DefaultCore.java:204)
>         at
> io.seata.server.session.SessionHelper.forEach(SessionHelper.java:244)
>         at
> io.seata.server.coordinator.DefaultCore.doGlobalCommit(DefaultCore.java:192)
>         at
> io.seata.server.coordinator.DefaultCoordinator.lambda$handleAsyncCommitting$4(DefaultCoordinator.java:441)
>         at
> io.seata.server.session.SessionHelper.lambda$forEach$0(SessionHelper.java:223)
>         at
> java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:184)
>         at
> java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1384)
>         at
> java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:482)
>         at
> java.util.stream.ForEachOps$ForEachTask.compute(ForEachOps.java:291)
>         at
> java.util.concurrent.CountedCompleter.exec(CountedCompleter.java:731)
>         at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289)
>         at
> java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1067)
>         at
> java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1703)
>         at
> java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:172)
> <==
>
>
> 看错误是在操作分支事务提交的时候,获取不到Channel,无法建立连接,在官网和官网的博客都没有查到类似问题,所以想麻烦您指点一下,谢谢!

Reply via email to