精尽 Dubbo 源码分析 —— HTTP 服务器

1.概述Dubbo 的 HTTP 服务器,在 dubbo-remoting-http 模块中实现,使用在 http://、 rest://、hessian://、webservice://协议上。dubbo-remoting-http 模块,类图如下:2.API2.1 HttpServer实现 Resetable 接口,HTTP 服务器接口。方法如下:/** * HTTP 服务器接...
摘要由CSDN通过智能技术生成

1.概述

Dubbo 的 HTTP 服务器,在 dubbo-remoting-http 模块中实现,使用在 http://、 rest://、hessian://、webservice://协议上。

dubbo-remoting-http 模块,类图如下:
在这里插入图片描述

2.API

2.1 HttpServer

实现 Resetable 接口,HTTP 服务器接口。方法如下:

/**
 * HTTP 服务器接口
 */
public interface HttpServer extends Resetable {

    /**
     * get http handler.
     *
     * @return http handler.
     */
    HttpHandler getHttpHandler();

    /**
     * get url.
     *
     * @return url
     */
    URL getUrl();

    /**
     * get local address.
     *
     * @return local address.
     */
    InetSocketAddress getLocalAddress();

    /**
     * close the channel.
     */
    void close();

    /**
     * Graceful close the channel.
     */
    void close(int timeout);

    /**
     * is bound.
     *
     * @return bound
     */
    boolean isBound();

    /**
     * is closed.
     *
     * @return closed
     */
    boolean isClosed();

}
2.2 AbstractHttpServer

实现 HttpServer 接口,HTTP 服务器抽象类。代码如下:

/**
 * AbstractHttpServer
 *
 * HTTP 服务器抽象类
 */
public abstract class AbstractHttpServer implements HttpServer {

    /**
     * URL 对象
     */
    private final URL url;
    /**
     * 处理器
     */
    private final HttpHandler handler;
    /**
     * 是否关闭
     */
    private volatile boolean closed;

    public AbstractHttpServer(URL url, HttpHandler handler) {
        if (url == null) {
            throw new IllegalArgumentException("url == null");
        }
        if (handler =
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值