2013-08-30 10 views

Odpowiedz

24

Od docs:

instancji serwera zapewnia instancję puli wątków, które jest usługa Egzekutor domyślny inne komponenty serwerowe Jetty użyciu. Podstawową konfiguracją puli wątków jest maksymalny i minimalny rozmiar, a jest ustawiony w pliku etc/jetty.xml.

<Configure id="server" class="org.eclipse.jetty.server.Server"> 
<Set name="threadPool"> 
    <New class="org.eclipse.jetty.util.thread.QueuedThreadPool"> 
     <Set name="minThreads">10</Set> 
     <Set name="maxThreads">1000</Set> 
    </New> 
</Set> 
</Configure> 

Albo

QueuedThreadPool threadPool = new QueuedThreadPool(100, 10); 
Server server = new Server(threadPool); 
+6

Twój przykładowy kod nie działa dla Jetty 9.04, gdyż istnieje żadna metoda setThreadPool w klasie Server. Ponadto potrzebuję takich preferencji dla wbudowanego serwera pomostowego, zaktualizowałem pytanie. –

+5

ThreadPool może zostać przekazany do konstruktora instancji serwera lub po prostu wywołać metodę server.getThreadPool() i zmodyfikować ją przed wywołaniem .start() –

+1

W Jetty-9 wiele sygnatur metody zostało zmienionych dla serwera. Zamiast pobierających i ustawiających jest teraz oparte na większej liczbie konstruktorów. Naprawiono też próbkę kodu. – rocketboy

19

Jak już wspomniano, a rozwiązany w przykładzie powyżej kod Java, pula wątków jest teraz dostarczany jako argument konstruktora w Jetty 9 (i później).

Skorygowany przykład XML:

<Configure id="Server" class="org.eclipse.jetty.server.Server"> 

    <!-- =========================================================== --> 
    <!-- Configure the Server Thread Pool.       --> 
    <!--                --> 
    <!-- Consult the javadoc of o.e.j.util.thread.QueuedThreadPool --> 
    <!-- for all configuration that may be set here.     --> 
    <!-- =========================================================== --> 
    <Get name="ThreadPool"> 
     <Set name="minThreads" type="int">10</Set> 
     <Set name="maxThreads" type="int">200</Set> 
     <Set name="idleTimeout" type="int">60000</Set> 
     <Set name="detailedDump">false</Set> 
    </Get> 
    ... 
+1

Czy ta metoda będzie działać dla klienta HTTP Jetty? Gdzie znajduje się plik JAR dla klienta wbudowanego? – will

+0

Jest to jedyna rzecz, którą znalazłem w Internecie, która działa. Używam wtyczki Jetty Maven v9.2.2. Dzięki!! – Cameron