jetty.xml 解讀


<?xml version="1.0"?>

<!DOCTYPE Configure PUBLIC "-//MortBay Consulting//DTD Configure//EN" "http://jetty.mortbay.org/configure.dtd">

 

<!-- 配置Server對象,此時會調用org.mortbay.jetty.Server默認構造函數new一個Server 路徑:jetty-6.1.22\modules\jetty\src\main\java\org\mortbay\jetty\Server.java-->

<Configure id="Server" class="org.mortbay.jetty.Server">

 

    <!-- =========================================================== -->

    <!-- 配置線程池 -->

    <!-- =========================================================== -->

 

    <!-- 調用當前Server對象的setThreadPool方法 -->

    <Set name="ThreadPool">

      <!-- new一個ThreadPool對象,作為setThreadPool方法的參數 路徑 \jetty-6.1.22\extras\threadpool\src\main\java\org\mortbay\thread\concurrent  -->

      <New class="org.mortbay.thread.concurrent.ThreadPool">

        <!-- 設置線程池核心線程數大小 -->

        <Set name="corePoolSize">50</Set>

 

        <!-- 設置線程池最大線程數 -->

        <Set name="maximumPoolSize">50</Set>

      </New>

 

    </Set>

 

 

 

    <!-- =========================================================== -->

    <!-- 注冊 connectors                                              -->

    <!-- =========================================================== -->

  

    <!-- 調用當前Server對象的addConnector方法  -->

    <Call name="addConnector">

      <Arg> <!--Arg 標簽表示addConnector方法的參數列表-->

            

           <!--new一個SelectChannelConnector對象-->

          <New class="org.mortbay.jetty.nio.SelectChannelConnector">

 

            <!--調用當前SelectChannelConnector對象的setHost方法,

                    host表示Connector需要監聽的IP地址或者hostname,

                    SystemProperty標簽用來獲取Java系統變量。

             -->

            <Set name="host"><SystemProperty name="jetty.host" /></Set>

 

            <!-- 監聽端口 -->

            <Set name="port"><SystemProperty name="jetty.port" default="8080"/></Set>

 

            <!-- 一個連接的最大空閑時間  -->

            <Set name="maxIdleTime">30000</Set>

 

            <!-- Acceptor線程數量,Accepto的功能是接收客戶端連接然后分配個 ThreadPool處理-->

            <Set name="Acceptors">2</Set>

            

            <!-- 是否開啟統計功能  -->

            <Set name="statsOn">false</Set>

            

            <Set name="confidentialPort">8443</Set>

 

            <!-- 連接數量達到該數值時,Jetty會認為服務器資源已被耗盡  -->

           <Set name="lowResourcesConnections">5000</Set>

 

            <!-- 當資源飽和時,連接最大等待時間,時間單位是毫秒 -->

           <Set name="lowResourcesMaxIdleTime">5000</Set>

          </New>

      </Arg>

    </Call>

 

 

    <!-- =========================================================== -->

    <!-- 設置Handlers                            --> 

    <!-- =========================================================== -->

 

    <Set name="handler">

<!-- HandlerCollection 中每一個Handler都會被按順序執行 路徑 \jetty-6.1.22\modules\jetty\src\main\java\org\mortbay\jetty\handler\HandlerCollection.java --> 

      <New id="Handlers" class="org.mortbay.jetty.handler.HandlerCollection">

        <Set name="handlers">

         <Array type="org.mortbay.jetty.Handler">

           <Item>

                <!-- ContextHandler 的集合 --> 

             <New id="Contexts" class="org.mortbay.jetty.handler.ContextHandlerCollection"/>

           </Item>

           <Item>

              <!-- DefaultHandler 如果前一Handler沒有處理request的話就會執行它。用來輸出提示信息或者輸出網站圖標 --> 

             <New id="DefaultHandler" class="org.mortbay.jetty.handler.DefaultHandler"/>

           </Item>

            

            <!-- 請求日志記錄器 路徑 \jetty-6.1.22\modules\jetty\src\main\java\org\mortbay\jetty\handler\RequestLogHandler.java  -->

           <Item>

             <New id="RequestLog" class="org.mortbay.jetty.handler.RequestLogHandler"/>

           </Item>

         </Array>

        </Set>

      </New>

    </Set>

    ....................

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM