日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

jetty启动源码分析

發布時間:2024/1/17 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 jetty启动源码分析 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Main類是jetty的啟動類,是項目啟動的入口,

main方法通過解析傳入的參數,來決定加載哪些組件的配置文件,默認根據jetty根目錄下面的start.ini來決定加載。

Main的start方法,會啟動監控線程Monitor,在絕大情況下都不會使用,它會在接受到stop命令后,銷毀Main創建的子進程。

由Config加載start.conf,確定各個子模塊所對應需要加載的jar包,及Main需要委托調用的主類,默認是XmlConfiguration類。

在加載XmlConfiguration類定義時,切換了類加載器。

?

XmlConfiguration實現了ioc功能,根據Main方法選定的配置文件,裝配實例。

如:

<Configure id="Server" class="org.eclipse.jetty.server.Server"><!-- =========================================================== --><!-- Server Thread Pool --><!-- =========================================================== --><Set name="ThreadPool"><!-- Default queued blocking threadpool --><New class="org.eclipse.jetty.util.thread.QueuedThreadPool"><Set name="minThreads">10</Set><Set name="maxThreads">200</Set><Set name="detailedDump">false</Set></New></Set><!-- =========================================================== --><!-- Set connectors --><!-- =========================================================== --><Call name="addConnector"><Arg><New class="org.eclipse.jetty.server.nio.SelectChannelConnector"><Set name="host"><Property name="jetty.host" /></Set><Set name="port"><Property name="jetty.port" default="8080"/></Set><Set name="maxIdleTime">300000</Set><Set name="Acceptors">2</Set><Set name="statsOn">false</Set><Set name="confidentialPort">8443</Set><Set name="lowResourcesConnections">20000</Set><Set name="lowResourcesMaxIdleTime">5000</Set></New></Arg></Call><!-- =========================================================== --><!-- Set handler Collection Structure --> <!-- =========================================================== --><Set name="handler"><New id="Handlers" class="org.eclipse.jetty.server.handler.HandlerCollection"><Set name="handlers"><Array type="org.eclipse.jetty.server.Handler"><Item><New id="Contexts" class="org.eclipse.jetty.server.handler.ContextHandlerCollection"/></Item><Item><New id="DefaultHandler" class="org.eclipse.jetty.server.handler.DefaultHandler"/></Item></Array></Set></New></Set><!-- =========================================================== --><!-- extra options --><!-- =========================================================== --><Set name="stopAtShutdown">true</Set><Set name="sendServerVersion">true</Set><Set name="sendDateHeader">true</Set><Set name="gracefulShutdown">1000</Set><Set name="dumpAfterStart">false</Set><Set name="dumpBeforeStop">false</Set></Configure>

?

裝配好實例之后,如果實例實現了LifeCycle接口,調用start方法完成初始工作。

?

轉載于:https://www.cnblogs.com/knockon/p/3367292.html

總結

以上是生活随笔為你收集整理的jetty启动源码分析的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。