dubbo本地调试模式

来源:互联网 发布:2016中国网民数据统计 编辑:程序博客网 时间:2024/06/05 07:51

dubbo本地开发模式(即在不需要zookeepor情况下测试开发模式)

服务提供方:

<dubbo:registry address="zookeeper://10.x.x.x:2181" group="dubbo" id="myjhd_id" />
修改为

<dubbo:registry address="zookeeper://10.x.x.x:2181" group="dubbo" id="myjhd_id" register="false"/>
消费者:

<dubbo:reference> 里面的增加属性 url="dubbo://localhost:20880"

===================================华丽的分割线==================================

在开发Dubbo服务时,可能是多个人同时开发,但是都公用一个Zookeeper注册中心,这时就会出现同一个服务会有多个提供者(如果每个开发者都运行了提供者服务),这时如果某个开发者通过消费者服务在调用提供者服务时(调试服务时),调用的不一定是自己本机的提供者服务,可能是其他开发者的服务,这时就无法进行断点调试(代码运行在他人电脑上怎么断点调试?),为了能够调用自己的本机消费者服务,需要两步骤:

第一步:本机提供者服务不想Zookeeper注册服务(这样做使得他人条用不了自己的本机服务,因为服务还不稳定)




第二步:在消费者服务指定条用本地服务(直连调试)


好了,这样就可以实现本机消费者服务调用的一定是本地的提供者服务,从而可以实现断点调试。

 

注意:

timeout="12000" 为超时时间12秒

 

总结1:客户端和服务端可放入同一tomcat,然后web.xml各自加载dubbo**.xml,通过Servlet或Controller调取service方法。

public void init() throws ServletException {       super.init();        ServletContext servletContext = this.getServletContext();        WebApplicationContext ctx = WebApplicationContextUtils                .getWebApplicationContext(servletContext);        demoService = (DemoService) ctx.getBean("demoService");    }