`
zhp8341
  • 浏览: 10579 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

dubbo启动服务之容器(Container)

 
阅读更多

原文:http://www.ccblog.cn/75.htm  这里看的更清晰写

 

 

一:SPI 简介

SPI 全称为 (Service Provider Interface) ,是JDK内置的一种服务提供发现机制。 目前有不少框架用它来做服务的扩展发现, 简单来说,它就是一种动态替换发现的机制, 举个例子来说, 有个接口,想运行时动态的给它添加实现,你只需要添加一个实现,而后,把新加的实现,描述给JDK知道就行啦(通过改一个文本文件即可) ,公司内部目前Dubbo框架就基于SPI机制提供扩展功能。

代码例子

 

public interface Cmand {
    public void execute();
}
public class ShutdownCommand implements Cmand {
    public void execute() {
        System.out.println("shutdown....");  
    }
}
public class StartCommand implements Cmand {
    public void execute() {
        System.out.println("start....");
    }
}
public class SPIMain {
    public static void main(String[] args) {
        ServiceLoader<Cmand> loader = ServiceLoader.load(Cmand.class);
        System.out.println(loader);
        
        
        for (Cmand Cmand : loader) {
            Cmand.execute();
        }
    }
}

 

配置:

com.unei.serviceloader.impl.ShutdownCommand  

com.unei.serviceloader.impl.StartCommand 

 

 

运行结果:

java.util.ServiceLoader[com.unei.serviceloader.Cmand]
shutdown....
start....

 

分享到:
评论

相关推荐

    Dubbo手册.pdf

    【Dubbo启动时依赖服务不可用会怎样?】 默认情况下,Dubbo在启动时会检查依赖服务的可用性,如果不可用会抛出异常阻止Spring初始化。可通过设置check="false"关闭此检查。 【Dubbo推荐使用什么序列化框架?】 ...

    dubboDemo新手教学

    - **容器(Container)**:运行服务提供者和消费者的容器,如Spring,用于管理应用的生命周期和依赖注入。 3. **服务接口(API)**: 在`dubbo-api`目录下的服务接口定义了服务提供者和消费者之间交互的规范。服务...

    Java面试资料之Dubbo相关

    13. **Dubbo启动时服务不可用的处理?** 如果在启动时依赖的服务不可用,Dubbo默认会抛出异常,阻止Spring初始化,确保服务的健康性。 以上是关于Dubbo的详细知识点介绍,涵盖了其基本概念、应用场景、与其他框架...

    Dubbo源码以及所需jar文件

    **容器(Container)**:运行服务提供者和消费者的应用容器,Dubbo支持Spring Container,可以无缝集成Spring框架。 在Dubbo的运行过程中,`zookeeper`作为常见的注册中心,用于存储服务提供者的元数据信息,服务...

    DUBBO开发指南

    4. **Container(容器)**:用于托管服务提供者或消费者的容器,可以是简单的JVM应用,也可以是Web容器或独立进程。 5. **Monitor(监控中心)**:用于收集和统计服务调用过程中的各种监控数据,如服务调用量、...

    Dubbo应用开发教程

    - **Container(服务运行容器)**:可以是任何类型的Java应用容器,比如Tomcat、Jetty等,用来承载服务的运行环境。 #### 三、Dubbo项目的初步搭建 1. **创建Java项目**:首先,需要创建一个普通的Java项目作为...

    Dubbo介绍.pptx

    5. **Container(服务运行容器)**:用来承载服务的容器,比如Web容器等。 #### 五、Dubbo的特点 1. **连通性**: - 注册中心负责服务地址的注册与查找,服务提供者和消费者只在启动时与注册中心交互。 - 监控...

    dubbo定义及使用

    - **容器(Container)**:运行服务提供者和消费者的应用容器,如Spring Boot、Tomcat等。 2. **Dubbo的设计模式** - **面向接口代理**:Dubbo基于JDK动态代理,实现了服务接口的透明化调用,使得消费者无需关心...

    dubbo的简单实现

    - **Container**:即服务容器,负责启动和管理服务实例。 Dubbo的工作流程如下: 1. 服务提供者在启动时,向注册中心注册自己提供的服务; 2. 服务消费者在启动时,向注册中心订阅自己所需的服务; 3. 注册中心...

    dubbo 整套jar包

    1. **Dubbo核心组件**:Dubbo的核心组件包括服务提供者(Provider)、服务消费者(Consumer)、注册中心(Register)、监控中心(Monitor)和服务容器(Container)。Provider负责暴露服务,Consumer负责调用服务,Register...

    dubbo的初级到高级,分布式系统架构视频

    - **Container(容器)**:可以理解为应用容器,用来装载服务提供者或消费者的程序。 #### 三、Dubbo的分布式系统架构 - **分布式架构设计原则**:包括服务拆分、服务组合、服务版本控制、服务限流降级等关键设计思想...

    dubbo最新全面深度解读 dubbo介绍.pdf

    container是服务容器,负责加载和启动provider。monitor则是监控中心,负责收集服务的运行数据,便于问题定位和性能优化。 配置方式是理解和使用dubbo的关键,包括了jvm、xml、property、annotation和api等多种方式...

    dubbo、zookeeper、nginx服务中间件面试题.pdf

    5. **Container**: 服务容器,如Tomcat,用于加载和运行服务提供者。 在实际应用中,Dubbo结合Spring框架使用,通过XML配置文件定义服务的提供和消费。例如,服务提供者会配置`&lt;dubbo:protocol&gt;`、`&lt;dubbo:...

    dubbo-master

    5. **容器(Container)**:运行服务提供者和消费者的地方,如 Spring 容器。 **主要功能:** 1. **服务治理:**包括服务注册、服务发现、服务元数据管理、服务健康检查等。 2. **高性能:**基于 Netty 框架实现,...

    Dubbo使用与实现.pdf

    5. **Container (服务运行容器)**:服务运行容器是指承载服务的容器或进程环境,如Tomcat、Jetty等Web容器。 #### 三、调用流程 1. **服务提供者启动**:服务提供者在启动时会向注册中心注册自己的服务信息。 2. **...

    dubbo调用的例子

    3. **Container**(容器):承载服务运行的环境,如Spring容器。 4. **Monitor**(监控中心):收集服务调用的统计信息,用于服务治理。 通过这个简单的Dubbo调用例子,我们可以看到Dubbo如何帮助我们构建分布式的...

    Dubbo学习手册

    - **Container**:服务运行容器。 **调用关系说明:** - 服务容器启动、加载并运行服务提供者。 - 服务提供者在启动时向注册中心注册服务。 - 消费者启动时向注册中心订阅所需服务。 - 注册中心返回服务提供者地址...

    dubbo-master源码

    - **container**: 提供服务容器,用于启动和管理服务提供者和消费者。 - **filter**: 提供服务拦截器,可以扩展服务调用的前后处理逻辑。 通过对Dubbo源码的阅读和分析,我们可以更深入地理解服务治理的原理,学习...

    dubbo详细搭建及使用

    5. **服务容器(Container)**:运行服务提供者和消费者的环境。 **Zookeeper 作为注册中心** Zookeeper 是Apache Hadoop的子项目,提供树状目录服务,支持变更推送,非常适合作为Dubbox的服务注册中心。在Linux系统...

    阿里Dubbo官方详细文档

    Dubbo是一个分布式服务框架,它有以下几个关键节点角色:Provider(服务提供方)、Consumer(服务消费方)、Registry(服务注册与发现的注册中心)、Monitor(服务调用次数和调用时间的监控中心)和Container(服务...

Global site tag (gtag.js) - Google Analytics