springCloud当配置两个生产者,负载均衡是访问地址报错。

java.lang.IllegalStateException: Request URI does not contain a valid hostname: /mcroservice-payment/payment/get/35

不管是否是新建的springCloud项目,还是其他情况。

遇到这个问题,相信对springCloud及项目的目录结构有一定的了解,基于springboot。

1.配置的服务名称要规范,不能有下划线

#spring相关配置
spring:
  application:
    name: hao-payment  #服务名
  datasource:
    type: com.alibaba.druid.pool.DruidDataSource  #当前数据源操作类型
    driver-class-name: com.mysql.jdbc.Driver  #数据库驱动包-org.gjt.mm.mysql.Driver
    url: jdbc:mysql://localhost:3306/hao?autoReconnect=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false
    username: root
    password: 123

2.restTemplate配置类中方法要加注解 @LoadBalanced

package com.hao.utils;
import org.springframework.cloud.client.loadbalancer.LoadBalanced;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.client.RestTemplate;
@Configuration
public class ApplicationContextConfig {
    @Bean
    //RestTemplate 的负载均衡能力
    @LoadBalanced
    public RestTemplate getRestTemplate() {
        return new RestTemplate();
    }
}

3.这也属于忽视的问题

就是在消费者服务的controller中配置的路径要加上http://。

public static final String PAYMENT_URL = "http://mcroservice-payment";

当然可以在其他地方配置。提供一个排除错误的方式。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

hsc从容

你的鼓励是我的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值