8e7093debaf2505dcbb40a58be054159b3353cce
[lui-solr.git] / zookeeper / etc / jetty.xml
1 <?xml version="1.0"?>
2 <!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure.dtd">
3
4 <!-- =============================================================== -->
5 <!-- Configure the Jetty Server                                      -->
6 <!--                                                                 -->
7 <!-- Documentation of this file format can be found at:              -->
8 <!-- http://wiki.eclipse.org/Jetty/Reference/jetty.xml_syntax        -->
9 <!--                                                                 -->
10 <!-- =============================================================== -->
11
12
13 <Configure id="Server" class="org.eclipse.jetty.server.Server">
14
15     <!-- =========================================================== -->
16     <!-- Server Thread Pool                                          -->
17     <!-- =========================================================== -->
18     <Set name="ThreadPool">
19       <!-- Default queued blocking threadpool -->
20       <New class="org.eclipse.jetty.util.thread.QueuedThreadPool">
21         <Set name="minThreads">10</Set>
22         <Set name="maxThreads">10000</Set>
23         <Set name="detailedDump">false</Set>
24       </New>
25     </Set>
26
27     <!-- =========================================================== -->
28     <!-- Set connectors                                              -->
29     <!-- =========================================================== -->
30
31   <!--
32     <Call name="addConnector">
33       <Arg>
34           <New class="org.eclipse.jetty.server.nio.SelectChannelConnector">
35             <Set name="host"><SystemProperty name="jetty.host" /></Set>
36             <Set name="port"><SystemProperty name="jetty.port" default="8983"/></Set>
37             <Set name="maxIdleTime">50000</Set>
38             <Set name="Acceptors">2</Set>
39             <Set name="statsOn">false</Set>
40             <Set name="confidentialPort">8443</Set>
41             <Set name="lowResourcesConnections">5000</Set>
42             <Set name="lowResourcesMaxIdleTime">5000</Set>
43           </New>
44       </Arg>
45     </Call>
46   -->
47
48     <!-- This connector is currently being used for Solr because it
49           showed better performance than nio.SelectChannelConnector
50           for typical Solr requests.  -->
51     <Call name="addConnector">
52       <Arg>
53           <New class="org.eclipse.jetty.server.bio.SocketConnector">
54             <Call class="java.lang.System" name="setProperty"> <Arg>log4j.configuration</Arg> <Arg>etc/log4j.properties</Arg> </Call>
55             <Set name="host"><SystemProperty name="jetty.host" /></Set>
56             <Set name="port"><SystemProperty name="jetty.port" default="8983"/></Set>
57             <Set name="maxIdleTime">50000</Set>
58             <Set name="lowResourceMaxIdleTime">1500</Set>
59             <Set name="statsOn">false</Set>
60           </New>
61       </Arg>
62     </Call>
63
64     <!-- if the connector below is uncommented, then jetty will also accept SSL
65          connections on port 8984, using a self signed certificate and can 
66          optionally require the client to authenticate with a certificate. 
67          (which can be the same as the server certificate_
68          
69          # Run solr example with SSL on port 8984
70          java -jar start.jar
71          # 
72          # Run post.jar so that it trusts the server cert...
73          java -Djavax.net.ssl.trustStore=../etc/solrtest.keystore -Durl=https://localhost:8984/solr/update -jar post.jar *.xml
74
75          # Run solr example with SSL requiring client certs on port 8984
76          java -Djetty.ssl.clientAuth=true -jar start.jar
77          #
78          # Run post.jar so that it trusts the server cert, 
79          # and authenticates with a client cert
80          java -Djavax.net.ssl.keyStorePassword=secret -Djavax.net.ssl.keyStore=../etc/solrtest.keystore -Djavax.net.ssl.trustStore=../etc/solrtest.keystore -Durl=https://localhost:8984/solr/update -jar post.jar *.xml
81
82     -->
83     <!--
84     <Call name="addConnector">
85       <Arg>
86         <New class="org.eclipse.jetty.server.ssl.SslSelectChannelConnector">
87           <Arg>
88             <New class="org.eclipse.jetty.http.ssl.SslContextFactory">
89               <Set name="keyStore"><SystemProperty name="jetty.home" default="."/>/etc/solrtest.keystore</Set>
90               <Set name="keyStorePassword">secret</Set>
91               <Set name="needClientAuth"><SystemProperty name="jetty.ssl.clientAuth" default="false"/></Set>
92             </New>
93           </Arg>
94           <Set name="port"><SystemProperty name="jetty.ssl.port" default="8984"/></Set>
95           <Set name="maxIdleTime">30000</Set>
96         </New>
97       </Arg>
98     </Call>
99     -->
100
101     <!-- =========================================================== -->
102     <!-- Set handler Collection Structure                            --> 
103     <!-- =========================================================== -->
104     <Set name="handler">
105       <New id="Handlers" class="org.eclipse.jetty.server.handler.HandlerCollection">
106         <Set name="handlers">
107          <Array type="org.eclipse.jetty.server.Handler">
108            <Item>
109              <New id="Contexts" class="org.eclipse.jetty.server.handler.ContextHandlerCollection"/>
110            </Item>
111            <Item>
112              <New id="DefaultHandler" class="org.eclipse.jetty.server.handler.DefaultHandler"/>
113            </Item>
114            <Item>
115              <New id="RequestLog" class="org.eclipse.jetty.server.handler.RequestLogHandler"/>
116            </Item>
117          </Array>
118         </Set>
119       </New>
120     </Set>
121     
122     <!-- =========================================================== -->
123     <!-- Configure Request Log                                       -->
124     <!-- =========================================================== -->
125     <!-- 
126     <Ref id="Handlers">
127       <Call name="addHandler">
128         <Arg>
129           <New id="RequestLog" class="org.eclipse.jetty.server.handler.RequestLogHandler">
130             <Set name="requestLog">
131               <New id="RequestLogImpl" class="org.eclipse.jetty.server.NCSARequestLog">
132                 <Set name="filename">
133                    logs/request.yyyy_mm_dd.log
134                 </Set>
135                 <Set name="filenameDateFormat">yyyy_MM_dd</Set>
136                 <Set name="retainDays">90</Set>
137                 <Set name="append">true</Set>
138                 <Set name="extended">false</Set>
139                 <Set name="logCookies">false</Set>
140                 <Set name="LogTimeZone">UTC</Set>
141               </New>
142             </Set>
143           </New>
144         </Arg>
145       </Call>
146     </Ref>
147     -->
148
149     <!-- =========================================================== -->
150     <!-- extra options                                               -->
151     <!-- =========================================================== -->
152     <Set name="stopAtShutdown">true</Set>
153     <Set name="sendServerVersion">false</Set>
154     <Set name="sendDateHeader">false</Set>
155     <Set name="gracefulShutdown">1000</Set>
156     <Set name="dumpAfterStart">false</Set>
157     <Set name="dumpBeforeStop">false</Set>
158
159
160
161
162     <Call name="addBean">
163       <Arg>
164         <New id="DeploymentManager" class="org.eclipse.jetty.deploy.DeploymentManager">
165           <Set name="contexts">
166             <Ref id="Contexts" />
167           </Set>
168           <Call name="setContextAttribute">
169             <Arg>org.eclipse.jetty.server.webapp.ContainerIncludeJarPattern</Arg>
170             <Arg>.*/servlet-api-[^/]*\.jar$</Arg>
171           </Call>
172           
173           
174           <!-- Add a customize step to the deployment lifecycle -->
175           <!-- uncomment and replace DebugBinding with your extended AppLifeCycle.Binding class 
176           <Call name="insertLifeCycleNode">
177             <Arg>deployed</Arg>
178             <Arg>starting</Arg>
179             <Arg>customise</Arg>
180           </Call>
181           <Call name="addLifeCycleBinding">
182             <Arg>
183               <New class="org.eclipse.jetty.deploy.bindings.DebugBinding">
184                 <Arg>customise</Arg>
185               </New>
186             </Arg>
187           </Call>
188           -->
189           
190         </New>
191       </Arg>
192     </Call>
193     
194     <Ref id="DeploymentManager">
195       <Call name="addAppProvider">
196         <Arg>
197           <New class="org.eclipse.jetty.deploy.providers.ContextProvider">
198             <Set name="monitoredDirName"><SystemProperty name="jetty.home" default="."/>/contexts</Set>
199             <Set name="scanInterval">0</Set>
200           </New>
201         </Arg>
202       </Call>
203     </Ref>
204
205 </Configure>