大家在使用dubbo的时候可能也遇到过这样的情况:一个是自己写的provider层的代码不能自己测试,需要等consumer层的代码完成后才能完整的测试;另一个是,在寻找问题的时候,由于provider经常是是多个服务器在提供服务,不确定这一次的测试请求会发到哪个服务器。
常见的情况是大家在xml中配置dubbo的消费者,然后在代码中注入消费者,最后调用相关功能。
我们在写测试代码的时候,如果dubbo消费者的初始化、创建、调用都在一段代码里,拷贝、粘贴是不是很方便呢?那么我们写更多的测试的时候也会很方便,如果像图中这样:
图中,testSayHelloMethod中的前半部分就是dubbo消费者的初始化过程了。本来这一部分我们在常规使用中是通过xml配置,spring容器加载的而已。
我已经把一个dubbo的示例工程上传到了我的资源里,其中dbprovider-impl是一个简单的dubbo服务提供者,dbconsumer-direct里面包含了不使用dubbo的xml配置,而是采用代码初始化dubbo的consumer然后直连到指定服务器的示例代码。
使用的时候,把自己的接口jar引入到dbconsumer-direct中,然后按照示例中方式调用即可。