2501_93160959 2025-08-24 12:21 采纳率: 33.3%
浏览 7
已结题

springboot集成seata1.2.0使用consul时注册和配置的地址多拼接了默认端口

springboot项目集成seata时,使用consul做注册和配置中心,在模块的properties文件做了以下配置:

seata.registry.type=consul
seata.registry.consul.server-addr=127.0.0.1:8500
seata.config.type=consul
seata.config.consul.server-addr=127.0.0.1:8500

运行后报错:

Exception in thread "consul-config-executor_1" com.ecwid.consul.transport.TransportException: org.apache.http.client.ClientProtocolException: URI does not specify a valid host name: http://127.0.0.1:8500:8500/v1/kv/service.vgroupMapping.my_test_tx_group
at com.ecwid.consul.transport.AbstractHttpTransport.executeRequest(AbstractHttpTransport.java:77)
at com.ecwid.consul.transport.AbstractHttpTransport.makeGetRequest(AbstractHttpTransport.java:34)
at com.ecwid.consul.v1.ConsulRawClient.makeGetRequest(ConsulRawClient.java:128)
at com.ecwid.consul.v1.kv.KeyValueConsulClient.getKVValue(KeyValueConsulClient.java:73)
at com.ecwid.consul.v1.kv.KeyValueConsulClient.getKVValue(KeyValueConsulClient.java:67)
at com.ecwid.consul.v1.kv.KeyValueConsulClient.getKVValue(KeyValueConsulClient.java:57)
at com.ecwid.consul.v1.ConsulClient.getKVValue(ConsulClient.java:479)
at io.seata.config.consul.ConsulConfiguration.lambda$getConfig$0(ConsulConfiguration.java:99)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
at java.lang.Thread.run(Thread.java:748)
Caused by: org.apache.http.client.ClientProtocolException: URI does not specify a valid host name: http://127.0.0.1:8500:8500/v1/kv/service.vgroupMapping.my_test_tx_group
at org.apache.http.impl.client.CloseableHttpClient.determineTarget(CloseableHttpClient.java:95)
at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:164)
at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:140)
at com.ecwid.consul.transport.AbstractHttpTransport.executeRequest(AbstractHttpTransport.java:61)
11 more

img

发现是server-addr多拼接了一个默认的8500端口,找不到原因。请求解答!

  • 写回答

5条回答 默认 最新

  • 2501_93160959 2025-08-24 14:37
    关注

    找到问题原因了:项目采用的是 Spring Boot 2.3.5.RELEASE版本,使用seata1.2.0依赖就会出现这个问题中端口重复拼接的错误,改为seata1.3.0版本就可以了。应该是版本不兼容的问题。希望这个能给过来人一个参考。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

问题事件

  • 系统已结题 9月1日
  • 已采纳回答 8月24日
  • 创建了问题 8月24日