gpt4 book ai didi

java - Spring Cloud Ribbon 抛出异常,名为“没有可用于 serverurl 的实例”

转载 作者:行者123 更新时间:2023-11-30 05:39:52 24 4
gpt4 key购买 nike

我正在使用带有 Spring 丝带的 Spring Boot 。我完成了功能区的所有配置。但是,当我向其余 Controller 发送请求时,它会抛出一个名为 没有可用于 serverurl 的实例 的异常。我该如何解决这个问题?

这些是我的配置

应用程序.yml

port: 8888

serverurl:
ribbon:
eureka:
enabled: false
listOfServers: localhost:8081,localhost:8082,localhost:8083
ServerListRefreshInterval: 15000

Spring Boot主类

@SpringBootApplication
@RibbonClient(name = "serverurl", configuration = RibbonCongisuration.class)
public class Server {

@LoadBalanced
@Bean
RestTemplate restTemplate(){
return new RestTemplate();
}


public static void main(String[] args) {
SpringApplication.run(Server.class,args);
}
}

休息 Controller

@RestController
@RequestMapping(value = "api/v1/clients")
public class ClientController {



@Autowired
RestTemplate restTemplate;

@GetMapping(value = "/{ID}")
public ClientDTO findByID(@PathVariable("ID") String clientID){
return restTemplate.getForEntity("http://serverurl/api/v1/clients/"+clientID,ClientDTO.class).getBody();

}
}

网址

http://localhost:8888/api/v1/clients/1234

最佳答案

1) 确保http://localhost:8081/api/v1/clients/1234 (8081/8082/8083) 响应。

2) 添加RibbonConfiguration 文件例如:

@Configuration
public class RibbonConfiguration{
@Bean
public IRule ribbonRule() {
return new BestAvailableRule();
}

@Bean
public IPing ribbonPing() {
return new PingUrl();
}

}

3)确保你有这种pom依赖(例如):

<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-ribbon</artifactId>
</dependency>

还有

<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>Finchley.SR2</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>

关于java - Spring Cloud Ribbon 抛出异常,名为“没有可用于 serverurl 的实例”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55873476/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com