dubbo服务启动

三种启动方式

  1. 自建Main方法类来运行(Spring容器) —-不建议(本地调试可用) 缺点: Dobbo本身提供的高级特性没用上 自已编写启动类可能会有缺陷
  try {
   ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("classpath:spring/spring-context.xml");

//spring-context.xml配置加入
/*
<import resource="dubbo-provider.xml" />
*/
   context.start();
  } catch (Exception e) {
   log.error("== DubboProvider context start error:",e);
  }
//或者        System.in.read();
  synchronized (DubboProvider.class) {
   while (true) {
    try {
     DubboProvider.class.wait();
    } catch (InterruptedException e) {
     log.error("== synchronized error:",e);
    }
   }
  }

2、使用Servlet容器运行(Tomcat、Jetty等)—-不可取 缺点:增加复杂性(端口、管理) 浪费资源(内存),没必要,直接建一个java工程

3.借助Spring容器使用Dubbo框架提供的Main方法类来运行com.alibaba.dubbo.container.Main 注意通过这种方式打包启动jar 需要把项目依赖jar包放到一起这里通过Main配置依赖目录关系 启动命令 java -jar XXXX .jar 或者用shell启动 —建议使用 优点:框架本身提供(com.alibaba.dubbo.container.Main) 可实现优雅关机(ShutdownHook)

//注意点: spring-context.xml <import resource="classpath:spring/spring-xxx.xml" />

监控dubbo服务

  1. dubbo-admin
    把dubbo-admin.war包放在一个tomcat的webapp下,修改dubbo.properties文件 启动

这里写图片描述
里边的:
dubbo.registry.address=zookeeper://127.0.0.1:2181#连接的是本地的zk
dubbo.admin.root.password=root
dubbo.admin.guest.password=guest

  1. dubbo-monitor(待完善)

重点介绍第3种

分为java -jar,shell启动两种。但是配置啊代码啊都是一样发的

  1. 代码结构
    api
    provider
    consumer
  2. 2.

java -jar

java -jar没有dubbo服务没有注册到zk上(待研究
这里写图片描述

但是没有注册到zk上

zkCli.sh

zk:ls /
zk:  [registry,zookeeper],没有dubbo
dubbo-admin 上也没有

问题出在了哪儿

放在tomcat工程下启动

  • 如何用maven搭建一个简单的web项目

,详见http://blog.csdn.net/yuguiyang1990/article/details/8796726(应该不侵权吧,帮作者杨名,写的很详细)
这里写图片描述

shell启动(待学习)

发布了13 篇原创文章 · 获赞 10 · 访问量 1640

猜你喜欢

转载自blog.csdn.net/navigator2015/article/details/79088371