JBossWeb/Tomcat 初始化连接器和处理 Http 请求过程

本文详细介绍了JBossWeb作为Tomcat封装的Web容器,其初始化连接器和处理Http请求的过程。从Connector初始化、Http11Protocol和JIoEndpoint的角色到max-connections的理解,再到JIoEndpoint如何处理Socket请求,揭示了JBossWeb/Tomcat的工作机制。
摘要由CSDN通过智能技术生成

概述

JBossWeb 是JBoss 中的 Web 容器,他是对 Tomcat 的封装,本文以 Http 连接器为例,简单说明 JBossWeb/Tomcat 初始化连接器和处理 Http 请求过程 。本文内容提要:

  • Connector 初始化开始过程
  • 如何理解 max-connections
  • JIoEndpoint 处理 Socket 请求

Connector 初始化开始过程

如下图所示:


  1. WebConnectorService 指的是 `org.jboss.as.web.WebConnectorService`
  2. Connector 指的是 `org.apache.catalina.connector.Connector`
  3. Http11Protocol 指的是 `org.apache.coyote.http11.Http11Protocol`
  4. JIoEndpoint 指的是 `org.apache.tomcat.util.net.JIoEndpoint`
Connector init() 

Connector 可以是 HTTP Connector,也可以是 AJP Connector,Connector 中有 ProtocolHandler 和 Adapter 属性,Connector 初始化主要包括:初始化 Adapter,且将初始化的 Adapter 的 设定给 ProtocolHandler,然后调运 ProtocolHandler 的初始化方法,如下面代码段所示:

        // Initializa adapter
        adapter = new CoyoteAdapter(this);
        protocolHandler.setAdapter(adapter);

        IntrospectionUtils.setProperty(protocolHandler, "jkHome", System.getProperty("catalina.base"));

        try {
            protocolHandler.init();
        } catch (Exception e) {
            throw new LifecycleException(MESSAGES.protocolHandlerInitFailed(e));
        }

Http11Protocol init()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值