container全部啟動後,connector接著啟動,connector包含乙個protocolhandler,protocolhandler目前有三種協議:bio、nio、apr,可以按需求啟用相應的協議。
每個協議protocolhandler包含乙個endpoint,在endpoint中開啟執行緒池,等待請求,然後傳送給container中的valve處理。
綜上:無論是container,還是connect,還是最上層的server,都是在伺服器活著的前提下存在的,因此他們都受tomcat伺服器生命週期lifecyclebase
的管理。
像生命週期這種抽象,在tomcat設計中用的很多,如container的抽象containerbase,valve的抽象valvebase,協議protocol的抽象abstractprotocol,endpoit的抽象abstractendpoint等,到最後回到最終的目的,用最少的**(提公升**復用性),做盡可能多的事(擴充套件效能良好)。即快,少,靈活。
這篇博文也很好
tomcat原始碼閱讀 一 入口
程式啟動入口 org.apache.catalina.startup.bootstrap的main方法,其最終會呼叫到org.apache.catalina.startup.catalina的load 和start 方法。bootstrap中的關鍵 public static void main s...
Tomcat原始碼閱讀系列
再過十來天,就要不再是大三,而步入大四的殿堂了,求職面試的事會接踵而至,鑑於春招時的教訓,自己的學習比較缺乏系統性地整理,向他人交流自己所掌握的技術能力仍有待提高,為此將自己閱讀tomcat原始碼的過程記錄一下,並分享到部落格中,讓有同樣興趣的同學一起交流討論。注 如沒有特別說明的地方,tomcat...
tomcat原始碼閱讀16
org.apache.catalina.session包 該包包括標準manager和session的實現,用於表示活動的session和獨立的session,他們都與相應的上下文相關聯。constants 該包的常量 filestore store介面的實現,將session儲存到配置目錄的檔案中...