启动项目及dubbo容器的初始化工作流程分析

一、启动项目及dubbo容器的工作流程
1.首先向System(final class)类中放入键值对-日志路径、dubbo的配置路径
  System.setProperty("Log4jContextSelector", "org.apache.logging.log4j.core.async.AsyncLoggerContextSelector");
  System.setProperty("dubbo.spring.config", "classpath*:META-INF/dubbox/*.xml,classpath*:META-INF/spring/*.xml");
2.启动dubbo容器
  com.alibaba.dubbo.container.Main.main(new String[]{"wx_gws"});
    - 进到com.alibaba.dubbo.container.Main的main方法:
      -- 在System中查找键为"dubbo.container"对应的值,如果没有返回默认对应的值"spring"
      -- final List<Container> containers = new ArrayList<Container>();
        通过containers.add(loader.getExtension("spring"));
        添加一个com.alibaba.dubbo.container.spring.SpringContainer容器
        即,使用spring容器运行dubbo服务
      -- container.start();启动dubbo容器,向zk中注册服务
        start()方法中context = new ClassPathXmlApplicationContext(configPath.split("[,\\s]+"));
        context.start();
        configPath-->开始时的System.setProperty("dubbo.spring.config", "classpath*:META-INF/dubbox/*.xml,classpath*:META-INF/spring/*.xml");值
      --通过main方法中的
        synchronized (Main.class) {
          while (running) {
            try {
               Main.class.wait();
            } catch (Throwable e) {}
        }
        }实现容器处于非关闭状态

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值