如何动态调用dubbo编程式

这篇文章给大家介绍如何动态调用dubbo编程式,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

创新互联致力于互联网网站建设与网站营销,提供网站制作、成都网站设计、网站开发、seo优化、网站排名、互联网营销、微信平台小程序开发、公众号商城、等建站开发,创新互联网站建设策划专家,为不同类型的客户提供良好的互联网应用定制解决方案,帮助客户在新的全球化互联网环境中保持优势。

定一个接口 

public interface ToDoService {

    String test(String s);}

两个实现

@Service(group = "test1")public class ToDoService1 implements ToDoService {@Override    public String test(String s) {return "1" + s;    }
}
@Service(group = "test2")public class ToDoService2 implements ToDoService {@Override    public String test(String s) {return "2" + s;    }
}

这里通过 group来区分两个实现类

调用方:

/** * 执行ToDoService * * @param group * @return */public String executeToDoService(String group) {
    ReferenceConfig referenceConfig = new ReferenceConfig<>();    referenceConfig.setInterface(ToDoService.class);    referenceConfig.setGroup(group);    ReferenceConfigCache cache = ReferenceConfigCache.getCache();    ToDoService toDoService1 = cache.get(referenceConfig);    try {return toDoService1.test("哈哈");    } catch (Exception ex) {return "";    }
}

这里需要注意的是,ReferenceCofing 官方文档里说很重,需要缓存,言外之意就是不要重复new ReferenceCofing 实例,这样会不断的会注册成为消费者 Consumer 。

但是官方提供了 ReferenceConfigCache ,所以不要自己写个什么静态的 hashMap来缓存,用dubbo开发者提供的工具来获取 我们需要调用的实例

ReferenceConfigCache cache = ReferenceConfigCache.getCache();  ToDoService toDoService1 = cache.get(referenceConfig);

关于如何动态调用dubbo编程式就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。


文章标题:如何动态调用dubbo编程式
分享链接:http://scyanting.com/article/ieiioj.html