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

Jetty的核心

 
阅读更多

Jetty的核心类

Server

ThreadPool(有两个实现),见这里http://lixjluck.iteye.com/blog/1129558

SelectChannelConnector

SelectorManager

SelectSet

SelectChannelEndPoint

 

HttpConnection(HttpInput,  HttpOutput,  HttpGenerator)

Handler

 

 

Server启动过程


 SelectChannelConnector初始化过程

open方法做了什么事情?

 

    public void open() throws IOException
    {
        synchronized(this)
        {
            if (_acceptChannel == null)
            {
                // Create a new server socket
                _acceptChannel = ServerSocketChannel.open();
                // Set to blocking mode
                _acceptChannel.configureBlocking(true);

                // Bind the server socket to the local host and port
                _acceptChannel.socket().setReuseAddress(getReuseAddress());
                InetSocketAddress addr = getHost()==null?new InetSocketAddress(getPort()):new InetSocketAddress(getHost(),getPort());
                _acceptChannel.socket().bind(addr,getAcceptQueueSize());

                _localPort=_acceptChannel.socket().getLocalPort();
                if (_localPort<=0)
                    throw new IOException("Server channel not bound");

            }
        }
    }

    主要是启动web服务的监听端口,且配置成blocking模式。

 

 

 

 

Acceptor

 

acceptorThread的作用:

 

  1. Acceptor类 位于AbstractConnector.Acceptor
  2. 实际调用到SelectSet.doSelect
  3. Select and dispatch tasks found from changes and the selector

 

 

acceptor线程数量配置,见 http://lixjluck.iteye.com/blog/1129479 #acceptors

 

 

  • 大小: 68 KB
  • 大小: 52.9 KB
  • 大小: 55 KB
分享到:
评论

相关推荐

    Jetty 核心架构

    ### Jetty核心架构详解 #### 一、容器启动 Jetty作为一个高性能的Web服务器和Java Servlet容器,在启动过程中涉及到了多个关键步骤和技术细节。这部分主要介绍Jetty的启动流程。 ##### 1.1 容器启动 - **Jetty...

    Jetty 学习资料汇总

    二、Jetty核心概念 1. **Servlet**:深入理解Servlet接口和生命周期,以及如何在Jetty中注册和部署Servlet。 2. **ContextHandler**:解释ContextHandler的作用,它是Jetty中处理特定URL前缀的组件。 3. **...

    i-jetty源码

    一、i-jetty核心概念 1. **Servlet容器**:i-jetty作为一个Servlet容器,它的主要职责是管理和运行Servlet。Servlet是Java平台上的Web应用组件,用于处理客户端的请求并返回响应。 2. **HTTP服务器**:i-jetty不仅...

    jetty指导书

    - **2.3.3 start.jar深入探讨**: `start.jar`是一个包含Jetty核心组件的JAR文件,用于启动Jetty服务。 **2.4 我们可以学到什么** 通过学习Jetty,不仅可以了解其基本的安装和配置方法,还能深入了解Jetty的工作...

    嵌入式jetty服务器开发所有的依赖jar包

    1. **Jetty核心库(jetty-6.1.26.jar)**:这是Jetty服务器的核心组件,包含了处理HTTP请求、响应、连接管理、会话管理等功能。版本6.1.26是一个较旧但稳定的版本,适合对稳定性和兼容性有要求的项目。 2. **Jetty ...

    jetty包2(lib目录)

    1. **Jetty核心组件**: `lib`目录下的jar文件包括了Jetty的主要模块,如Jetty HTTP服务器、WebSocket服务器、Continuation支持、JMX管理工具等。例如,`jetty-server.jar`提供了基础的HTTP服务器功能,`jetty-...

    jetty-distribution-8.1.11.v20130520.rar

    5. **库文件**:包含Jetty依赖的各种JAR文件,如Servlet API、Jetty核心组件以及其他相关库。 6. **许可证文件**:关于Jetty软件的版权和许可信息。 压缩包中的子文件"7937705a7c5c68414d68d4a09979d40e.rar"可能是...

    jetty-io-9.1.3.v20140225.zip

    这个版本的Jetty IO组件主要负责处理网络I/O操作,是Jetty核心的一部分。 【描述】提到的"jgmp.zip"是一个与Google测量协议相关的Java库,它可能用于收集、处理和报告应用程序的使用数据,帮助开发者了解他们的应用...

    jetty-all.jar

    Jetty-all.jar是一个集合了众多Jetty组件...各个子文件如jetty-server、jetty-io和jetty-webapp等分别负责Jetty的核心功能、网络I/O和Web应用支持。通过理解和使用这些组件,开发者可以构建高性能的Web服务和应用程序。

    jetty-6.1.26.zip

    总的来说,Jetty 6.1.26虽然相对较老,但它体现了Jetty服务器的核心设计理念和优势,如轻量级、高性能和灵活性。尽管现代开发可能更倾向于使用更新的版本,但对于了解Jetty的历史和原理,以及在某些场景下部署旧项目...

    jetty所需jar包

    首先,让我们了解Jetty的核心组件和它们对应的jar包: 1. **jetty-server.jar**:这是Jetty服务器的基础,包含了处理HTTP连接和请求的类。它提供了Server、Connector和Handler等关键接口和实现。 2. **jetty-...

    jetty 适合jdk1.8用的服务器

    1. **Jetty服务器核心**:包含了运行Jetty服务器所需的基本组件。 2. **Servlet容器**:支持Servlet 3.1规范,可以处理HTTP请求并分发到对应的Servlet。 3. **配置文件**:如`start.ini`或`jetty.xml`,用于配置...

    jetty 8及依赖包

    在Jetty 8中,Servlet容器是其核心功能之一,它负责管理和调度Servlet实例。Servlet是一种Java API,用于生成动态Web内容。在Jetty中,Servlet容器负责解析HTTP请求,将请求路由到对应的Servlet,并将Servlet的响应...

    jetty.jar,jetty-sslengine.jar,jetty-util.jar

    这里我们主要讨论三个核心的Jetty组件:jetty.jar、jetty-sslengine.jar和jetty-util.jar。 首先,jetty.jar是Jetty服务器的核心库,包含了运行一个基本Web服务器所需的所有组件。它提供了Servlet容器的功能,能够...

    jetty 9.4.9

    1. **Servlet-API.jar**:这是Servlet规范的实现,提供了Servlet、Filter和Listener等核心接口,使得开发者可以编写处理HTTP请求的代码。Servlet API是Java Web应用程序的基础,与Jetty容器协同工作,使得应用能够...

    实战 Jetty--让你快速速学会jetty

    Jetty的核心优势在于其易用性、可扩展性和易嵌入性。 易用性是Jetty设计的关键。它支持通过XML配置或API来定制设置,使得开发者可以根据需求灵活调整。默认配置已经能够满足大多数日常使用场景,极大地简化了部署和...

    jetty6.1.6-2

    总的来说,Jetty 6.1.6的lib目录包含了运行和管理Web服务器所需的所有核心组件和依赖,使得开发者能够快速搭建和运行Java Web应用程序。虽然这个版本相对较旧,但其基本原理和架构对于学习现代Web服务器的工作方式仍...

    jetty 6 指南书

    - **构架概述**:解释Jetty的核心组件,如Connector(连接器)、Handler(处理器)和Server。 - **Connector**:负责网络通信,如HTTP和HTTPS连接的建立。 - **Handler**:处理不同的HTTP请求,如Request Handler...

    jetty-4.2.24

    在本文中,我们将深入探讨Jetty的核心特性、工作原理以及如何使用这个版本。 一、Jetty简介 Jetty由Mortbay Consulting开发,最初是为了提供一个简单、快速且易于集成的Web服务器和Servlet容器。与Apache Tomcat等...

    jetty相关所有jar包

    理解并掌握Jetty的这些核心特性对于开发和维护基于Java的Web应用至关重要,特别是那些需要高效、轻量级服务器解决方案的场景。通过熟练运用Jetty,开发者可以构建出高性能、可扩展且易于维护的Web应用程序。

Global site tag (gtag.js) - Google Analytics