Dubbo的三种调用方式

1、reference调用

@Reference(version = "1.0.0")
private UserFacade userFacade;

2、指定dubbo服务端口进行调用

 String url = "dubbo://192.168.2.95:20403/cn.lehome.api.business.cache.IMerchantRedisCache?version=1.0.0";//更改不同的Dubbo服务暴露的ip地址&端口          
        ReferenceBean<IMerchantRedisCache> referenceBean = new ReferenceBean<IMerchantRedisCache>();  
        referenceBean.setApplicationContext(applicationContext);  
        referenceBean.setInterface(IMerchantRedisCache.class);  
        referenceBean.setUrl(url);  
  
        try {  
            referenceBean.afterPropertiesSet();  
            IMerchantRedisCache merchantRedisCache = referenceBean.get();
            PlaneResDto<MerchantItem> resDto = merchantRedisCache.getInDubbo(419248146L);
    		JsonPrinter.printJson(resDto);
    		Assert.assertTrue(SysCode.SUCCESS.equals(resDto.getRspCd()));  
        } catch (Exception e) {  
            e.printStackTrace();  
        }  

3、采用zkClient从zookeeper服务中获取服务提供者信息,再进行调用。

ZkClient zkClient = new ZkClient(ZKServers,10000,10000,new SerializableSerializer()); 
List<String> lists = zkClient.getChildren("/dubbo/com.yc.api.business.cache.ICacheFacade/providers");
posted @ 2018-03-08 11:53  无语还真  阅读(8268)  评论(0)    收藏  举报