小编Sam*_*rth的帖子

带有Spring Cloud和Eureka的功能区:java.lang.IllegalStateException:没有可用于Samarths-MacBook-Pro.local的实例

我正在使用Ribbon Load Balancer处理Spring Boot Eureka客户端应用程序.

我有两个服务器在Eureka注册,名称为"TEST".在客户端,我有以下代码从Eureka获取服务器.

@Configuration
@ComponentScan
@EnableAutoConfiguration
@EnableEurekaClient
@RestController
public class EurekaConsumerApplication {

    @Autowired
    DiscoveryClient discoveryClient;

    @Autowired
    RestTemplate restTemplate;

    @RequestMapping(value = "/",method = RequestMethod.GET)
    String consumer(){
        InstanceInfo instance = discoveryClient.getNextServerFromEureka("TEST",        false);

        URI uri = UriComponentsBuilder.fromUriString(instance.getHomePageUrl() + "baseDir")
            .build()
            .toUri();
        String baseDir = restTemplate.getForObject(uri, String.class);

        return baseDir;

    }

    public static void main(String[] args) {
        SpringApplication.run(EurekaConsumerApplication.class, args);
    }
}
Run Code Online (Sandbox Code Playgroud)

application.yml

spring:
  application:
    name: consumer
info:
  component: Consumer to fetch configuration
server:
  port: 8090
eureka:
  instance:
   leaseRenewalIntervalInSeconds: 3
  metadataMap:
    instanceId:   ${vcap.application.instance_id:${spring.application.name}:${spring.application.instance_id:${random.value}}} …
Run Code Online (Sandbox Code Playgroud)

resttemplate spring-boot spring-cloud netflix-eureka netflix-ribbon

11
推荐指数
2
解决办法
2万
查看次数