Connector實(shí)例的創(chuàng)建已經(jīng)在Spring Boot啟動(dòng)過程(四):Spring Boot內(nèi)嵌Tomcat啟動(dòng)中提到了:

  photoshop培訓(xùn),電腦培訓(xùn),電腦維修培訓(xùn),移動(dòng)軟件開發(fā)培訓(xùn),網(wǎng)站設(shè)計(jì)培訓(xùn),網(wǎng)站建設(shè)培訓(xùn)

   Connector是LifecycleMBeanBase的子類,先是設(shè)置LifecycleState為LifecycleState.NEW,構(gòu)造首先執(zhí)行setProtocol,設(shè)置protocolHandlerClassName為"org.apache.coyote.http11.Http11NioProtocol"事實(shí)上它默認(rèn)值就是這個(gè),然后通過反射創(chuàng)建此協(xié)議處理器的實(shí)例,此時(shí)開始執(zhí)行Http11NioProtocol的構(gòu)造函數(shù):

    public Http11NioProtocol() {        super(new NioEndpoint());
    }

  初始化NioEndpoint過程中初始化了NioSelectorPool,NioSelectorShared默認(rèn)為true,即所有的SocketChannel共享一個(gè)Selector;設(shè)置pollerThreadCount,socket超時(shí)時(shí)間等。然后就是將new出來的NioEndPoint一路super,直到AbstractProtocol:

    public AbstractProtocol(AbstractEndpoint<S> endpoint) {        this.endpoint = endpoint;
        setSoLinger(Constants.DEFAULT_CONNECTION_LINGER);
        setTcpNoDelay(Constants.DEFAULT_TCP_NO_DELAY);
    }

  關(guān)于soLinger可以參考內(nèi)嵌Tomcat的Connector對象的靜態(tài)代碼塊。之后是外層AbstractHttp11Protocol的構(gòu)造函數(shù),Handler就是這里初始化并set的,這部分和上一塊所有的set最后都是到endpoint的:

photoshop培訓(xùn),電腦培訓(xùn),電腦維修培訓(xùn),移動(dòng)軟件開發(fā)培訓(xùn),網(wǎng)站設(shè)計(jì)培訓(xùn),網(wǎng)站建設(shè)培訓(xùn)

延伸閱讀

學(xué)習(xí)是年輕人改變自己的最好方式-Java培訓(xùn),做最負(fù)責(zé)任的教育,學(xué)習(xí)改變命運(yùn),軟件學(xué)習(xí),再就業(yè),大學(xué)生如何就業(yè),幫大學(xué)生找到好工作,lphotoshop培訓(xùn),電腦培訓(xùn),電腦維修培訓(xùn),移動(dòng)軟件開發(fā)培訓(xùn),網(wǎng)站設(shè)計(jì)培訓(xùn),網(wǎng)站建設(shè)培訓(xùn)學(xué)習(xí)是年輕人改變自己的最好方式