运维进行监控dubbo服务的时候可能会调用dubbo服务对象,并且定期去执行,这时候如果需要添加新的服务,可能需要修改监控dubbo服务的配置,即dubbo-producer.xml或是dubbo-consumer.xml。这就会导致每次添加一个服务,就要把dubbo服务相关配置加进配置文件,没有技术含量,而且是个长期而繁琐的工作。所以,我们可以通过硬编码获取dubbo的服务。这样我们就可以通过将dubob服务相关信息,存进文件或是数据库,来进行手动配置管理,而不必每次修改配置了。
怎么dubbo服务对象的,通过查找资料并测试,如下可以:
public static <T> T getDubboService(String interfStr,String zookeeperUrl,String appName) throws ClassNotFoundException{
ApplicationConfig application=new ApplicationConfig();
application.setName(appName);
RegistryConfig registryConfig =new RegistryConfig ();
registryConfig.setAddress(zookeeperUrl);
Class<?> interf=Class.forName(interfStr);
ReferenceConfig<T> rc=new ReferenceConfig<T>();
rc.setApplication(application);
rc.setInterface(interf);
return rc.get(); }
只需传入三个参数即可拿到dubbo服务对象,可以尽情操作吧