jetty启动源码分析
生活随笔
收集整理的這篇文章主要介紹了
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启动源码分析的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: PowerDesigner提示This
- 下一篇: 关于font-size对垂直居中影响的问