1、从注册中心获取
public static void main(String[] args) {
// 获取 ReferenceConfig
ReferenceConfig<DemoService> referenceConfig = DubboUtil.referenceConfig("dubbo-demo");
// 获取服务 接口
DemoService demoService = referenceConfig.get();
// 进行服务调用
String result = demoService.sayHello("demo");
System.out.println("result = " + result);
}
....
public static ReferenceConfig<DemoService> referenceConfig(String applicationName) {
ReferenceConfig<DemoService> referenceConfig = new ReferenceConfig<>();
// 设置服务名称
referenceConfig.setApplication(new ApplicationConfig(applicationName));
// 设置注册中心地址
RegistryConfig registryConfig = new RegistryConfig("zookeeper://localhost:2181");
referenceConfig.setRegistry(registryConfig);
// 设置暴露接口
referenceConfig.setInterface(DemoService.class);
referenceConfig.setTimeout(5000);
// 设置版本号和分组 服务接口 + 服务分组 + 服务版本号确定唯一服务
referenceConfig.setVersion("1.0.0");
referenceConfig.setGroup("dubbo");
return referenceConfig;
}
2、根据url获取
ReferenceConfig reference = new ReferenceConfig<>();
reference.setInterface(UserService.class);
reference.setTag();
reference.setCheck(false);
//dubbo服务的ip和端口
reference.setUrl("dubbo://127.0.0.1:8080/UserService");
UserService userService = reference.get();