springCloud(11)-consumer-获取providers信息-DiscoveryClient-@EnableDiscoveryClient

consumer可以通过provider提供的controller 是可以查到注册中心所有providers和providers的信息的。
1.provider 的controller 添加服务发现  用DiscoveryClient
2.provider 的主程序上添加               @EnableDiscoveryClient()
3.测试


1.provider 的controller 添加服务发现  用DiscoveryClient
 

 @Resource
   private DiscoveryClient discoveryClient; 

   @GetMapping(value = "/payment/discovery")
    public Object discovery()
    {
        //1.获得的是eureka服务列表信息 如下图所示
        List services = discoveryClient.getServices();
        for (String element : services) {
            log.info("*****element: "+element);
        }

       //2. 得到payment8001 payment8002 两个微服务名称
       // "CLOUD-PAYMENT-SERVICE" 是servicedId

        List instances = discoveryClient.getInstances("CLOUD-PAYMENT-SERVICE");
        for (ServiceInstance instance : instances) {
            log.info(instance.getServiceId()+"\t"+instance.getHost()+"\t"+instance.getPort()+"\t"+instance.getUri());
        }

        return this.discoveryClient;
    }

springCloud(11)-consumer-获取providers信息-DiscoveryClient-@EnableDiscoveryClient_第1张图片


2.provider 的主程序上添加               @EnableDiscoveryClient()
 

@SpringBootApplication
@EnableEurekaClient
public class PaymentMain8001 {
    public static void main(String[] args) {
        SpringApplication.run(PaymentMain8001.class,args);
    }

}


3.测试

1.启动provider8001,consumer 80服务 输入网址


2.添加日志,后台打印
springCloud(11)-consumer-获取providers信息-DiscoveryClient-@EnableDiscoveryClient_第2张图片

如果出现则表示注册成功。

你可能感兴趣的:(JAVA)