Jetty架构和实现分析

本文深入探讨Jetty的架构设计,参考Jetty 7 Architecture文档,虽然内容较旧但核心架构保持稳定。实现分析从jetty-server模块开始,涉及Connector、Handler和ThreadPool。在ServerConnector中通过ServerSocketChannel监听端口,SelectorManager处理SocketChannel,ManagedSelector调度请求,最后由ThreadPool执行任务。
摘要由CSDN通过智能技术生成

Jetty架构和实现分析

架构分析

Jetty的架构,可以参见Jetty 7 Architecture,里面的内容包括了Jetty总体设计以及各个部分的实现方式。文档虽然有点儿旧,但是Jetty的架构设计基本没有什么大的变化,所以参考价值很高。

实现分析

代码组织方式

eclipse/jetty.project使用Maven管理项目,一个主要功能都是项目的一个子模块。

<modules>
    <module>jetty-ant</module>
    <module>jetty-util</module>
    <module>jetty-jmx</module>
    <module>jetty-io</module>
    <module>jetty-http</module>
    <module>jetty-http2</module>
    <module>jetty-continuation</module>
    <module>jetty-server</module>
    ...
</modules>

我们分析Jetty的实现,从jetty-server这个模块入手。

jetty-server分析

从Jetty的架构可知,Server主要包括几个部分:

  1. Connector
  2. Handler
  3. ThreadPool

同时由下面的Server的一部分成员变量也可以清楚地知晓。

@ManagedObject(value="Jetty HTTP Servlet server")
public class Server extends HandlerWrapper implements Attributes
{
   
    private static final Logger LOG = Log.getLogger(Server.class);

    private final AttributesMap _attributes = new AttributesMap();
    private final ThreadPool _threadPool;
    private final List<Connector> _connectors = new CopyOnWriteArrayList<>();
    private SessionIdManager _sessionIdManager;
    private boolean _stopAtShutdown;
    private boolean _dumpAfterStart=
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值