Spring Cloud Ribbon генерирует исключение под названием Нет доступных экземпляров для serverurl - PullRequest
1 голос
/ 26 апреля 2019

Я использую пружинный ботинок с пружинной лентой. Я сделал все настройки ленты. Но когда я отправляю запрос контроллеру rest, он выдает исключение под названием Нет доступных экземпляров для serverurl . Как я могу это исправить?

Это мои конфигурации

application.yml

port: 8888

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

Spring Boot Main Class

@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);
    }
}

Контроллер покоя

@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();

    }
}

URL

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

1 Ответ

1 голос
/ 26 апреля 2019

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>

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...