source: other-projects/hathitrust/wcsa/extracted-features-solr/trunk/gslis-cluster/CONF/jetty-solr7/jetty.xml@ 32118

Last change on this file since 32118 was 32118, checked in by davidb, 6 years ago

Config files needed to top up Jetty with solr servlet

File size: 10.5 KB
Line 
1<?xml version="1.0"?>
2<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure_9_0.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 <!-- Configure the Server Thread Pool. -->
17 <!-- The server holds a common thread pool which is used by -->
18 <!-- default as the executor used by all connectors and servlet -->
19 <!-- dispatches. -->
20 <!-- -->
21 <!-- Configuring a fixed thread pool is vital to controlling the -->
22 <!-- maximal memory footprint of the server and is a key tuning -->
23 <!-- parameter for tuning. In an application that rarely blocks -->
24 <!-- then maximal threads may be close to the number of 5*CPUs. -->
25 <!-- In an application that frequently blocks, then maximal -->
26 <!-- threads should be set as high as possible given the memory -->
27 <!-- available. -->
28 <!-- -->
29 <!-- Consult the javadoc of o.e.j.util.thread.QueuedThreadPool -->
30 <!-- for all configuration that may be set here. -->
31 <!-- =========================================================== -->
32 <Arg name="threadpool">
33 <New id="threadpool" class="com.codahale.metrics.jetty9.InstrumentedQueuedThreadPool">
34 <Arg name="registry">
35 <Call id="solrJettyMetricRegistry" name="getOrCreate" class="com.codahale.metrics.SharedMetricRegistries">
36 <Arg>solr.jetty</Arg>
37 </Call>
38 </Arg>
39 </New>
40 </Arg>
41
42 <Get name="ThreadPool">
43 <Set name="minThreads" type="int"><Property name="solr.jetty.threads.min" default="10"/></Set>
44 <Set name="maxThreads" type="int"><Property name="solr.jetty.threads.max" default="10000"/></Set>
45 <Set name="idleTimeout" type="int"><Property name="solr.jetty.threads.idle.timeout" default="120000"/></Set>
46 <Set name="stopTimeout" type="int"><Property name="solr.jetty.threads.stop.timeout" default="60000"/></Set>
47 <Set name="detailedDump">false</Set>
48 </Get>
49
50
51 <!-- =========================================================== -->
52 <!-- Http Configuration. -->
53 <!-- This is a common configuration instance used by all -->
54 <!-- connectors that can carry HTTP semantics (HTTP, HTTPS, SPDY)-->
55 <!-- It configures the non wire protocol aspects of the HTTP -->
56 <!-- semantic. -->
57 <!-- -->
58 <!-- This configuration is only defined here and is used by -->
59 <!-- reference from the jetty-http.xml, jetty-https.xml and -->
60 <!-- jetty-spdy.xml configuration files which instantiate the -->
61 <!-- connectors. -->
62 <!-- -->
63 <!-- Consult the javadoc of o.e.j.server.HttpConfiguration -->
64 <!-- for all configuration that may be set here. -->
65 <!-- =========================================================== -->
66 <New id="httpConfig" class="org.eclipse.jetty.server.HttpConfiguration">
67 <Set name="secureScheme">https</Set>
68 <Set name="securePort"><Property name="solr.jetty.secure.port" default="8443" /></Set>
69 <Set name="outputBufferSize"><Property name="solr.jetty.output.buffer.size" default="32768" /></Set>
70 <Set name="outputAggregationSize"><Property name="solr.jetty.output.aggregation.size" default="8192" /></Set>
71 <Set name="requestHeaderSize"><Property name="solr.jetty.request.header.size" default="8192" /></Set>
72 <Set name="responseHeaderSize"><Property name="solr.jetty.response.header.size" default="8192" /></Set>
73 <Set name="sendServerVersion"><Property name="solr.jetty.send.server.version" default="false" /></Set>
74 <Set name="sendDateHeader"><Property name="solr.jetty.send.date.header" default="false" /></Set>
75 <Set name="headerCacheSize"><Property name="solr.jetty.header.cache.size" default="512" /></Set>
76 <Set name="delayDispatchUntilContent"><Property name="solr.jetty.delayDispatchUntilContent" default="false"/></Set>
77 <!-- Uncomment to enable handling of X-Forwarded- style headers
78 <Call name="addCustomizer">
79 <Arg><New class="org.eclipse.jetty.server.ForwardedRequestCustomizer"/></Arg>
80 </Call>
81 -->
82 </New>
83
84 <!-- =========================================================== -->
85 <!-- RewriteHandle to redirect root to Solr -->
86 <!-- =========================================================== -->
87 <New id="RewriteHandler" class="org.eclipse.jetty.rewrite.handler.RewriteHandler">
88 <Set name="rewriteRequestURI">true</Set>
89 <Set name="rewritePathInfo">false</Set>
90 <Set name="originalPathAttribute">requestedPath</Set>
91
92 <Call name="addRule">
93 <Arg>
94 <New class="org.eclipse.jetty.rewrite.handler.RedirectRegexRule">
95 <Set name="regex">^/$</Set>
96 <Set name="replacement">/solr/</Set>
97 </New>
98 </Arg>
99 </Call>
100 <Call name="addRule">
101 <Arg>
102 <New class="org.eclipse.jetty.rewrite.handler.RewritePatternRule">
103 <Set name="pattern">/v2/*</Set>
104 <Set name="replacement">/solr/____v2</Set>
105 </New>
106 </Arg>
107 </Call>
108 <Call name="addRule">
109 <Arg>
110 <New class="org.eclipse.jetty.rewrite.handler.RewritePatternRule">
111 <Set name="pattern">/api/*</Set>
112 <Set name="replacement">/solr/____v2</Set>
113 </New>
114 </Arg>
115 </Call>
116 <Set name="handler">
117 <New id="Handlers" class="org.eclipse.jetty.server.handler.HandlerCollection">
118 <Set name="handlers">
119 <Array type="org.eclipse.jetty.server.Handler">
120 <Item>
121 <New id="Contexts" class="org.eclipse.jetty.server.handler.ContextHandlerCollection"/>
122 </Item>
123 <Item>
124 <New id="InstrumentedHandler" class="com.codahale.metrics.jetty9.InstrumentedHandler">
125 <Arg><Ref refid="solrJettyMetricRegistry"/></Arg>
126 <Set name="handler">
127 <New id="DefaultHandler" class="org.eclipse.jetty.server.handler.DefaultHandler"/>
128 </Set>
129 </New>
130 </Item>
131 <Item>
132 <New id="RequestLog" class="org.eclipse.jetty.server.handler.RequestLogHandler"/>
133 </Item>
134 </Array>
135 </Set>
136 </New>
137 </Set>
138 </New>
139
140 <!-- =========================================================== -->
141 <!-- Set handler Collection Structure -->
142 <!-- =========================================================== -->
143 <Set name="handler">
144 <Ref id="RewriteHandler"/>
145 </Set>
146
147 <!-- =========================================================== -->
148 <!-- Configure Request Log -->
149 <!-- =========================================================== -->
150 <!--
151 <Ref id="Handlers">
152 <Call name="addHandler">
153 <Arg>
154 <New id="RequestLog" class="org.eclipse.jetty.server.handler.RequestLogHandler">
155 <Set name="requestLog">
156 <New id="RequestLogImpl" class="org.eclipse.jetty.server.NCSARequestLog">
157 <Set name="filename">
158 logs/request.yyyy_mm_dd.log
159 </Set>
160 <Set name="filenameDateFormat">yyyy_MM_dd</Set>
161 <Set name="retainDays">90</Set>
162 <Set name="append">true</Set>
163 <Set name="extended">false</Set>
164 <Set name="logCookies">false</Set>
165 <Set name="LogTimeZone">UTC</Set>
166 </New>
167 </Set>
168 </New>
169 </Arg>
170 </Call>
171 </Ref>
172 -->
173
174 <!-- =========================================================== -->
175 <!-- extra options -->
176 <!-- =========================================================== -->
177 <Set name="stopAtShutdown">true</Set>
178 <Set name="dumpAfterStart">false</Set>
179 <Set name="dumpBeforeStop">false</Set>
180
181 <Call name="addBean">
182 <Arg>
183 <New id="DeploymentManager" class="org.eclipse.jetty.deploy.DeploymentManager">
184 <Set name="contexts">
185 <Ref refid="Contexts" />
186 </Set>
187 <Call name="setContextAttribute">
188 <Arg>org.eclipse.jetty.server.webapp.ContainerIncludeJarPattern</Arg>
189 <Arg>.*/servlet-api-[^/]*\.jar$</Arg>
190 </Call>
191
192 <Call name="addAppProvider">
193 <Arg>
194 <New class="org.eclipse.jetty.deploy.providers.WebAppProvider">
195 <Set name="monitoredDirName"><Property name="jetty.base" default="."/>/contexts</Set>
196 <Set name="scanInterval">0</Set>
197 </New>
198 </Arg>
199 </Call>
200
201 <!-- Add a customize step to the deployment lifecycle -->
202 <!-- uncomment and replace DebugBinding with your extended AppLifeCycle.Binding class
203 <Call name="insertLifeCycleNode">
204 <Arg>deployed</Arg>
205 <Arg>starting</Arg>
206 <Arg>customise</Arg>
207 </Call>
208 <Call name="addLifeCycleBinding">
209 <Arg>
210 <New class="org.eclipse.jetty.deploy.bindings.DebugBinding">
211 <Arg>customise</Arg>
212 </New>
213 </Arg>
214 </Call>
215 -->
216
217 </New>
218 </Arg>
219 </Call>
220
221 <Call name="addBean">
222 <Arg>
223 <New class="org.eclipse.jetty.security.HashLoginService">
224 <Set name="name">HTRC-EF Realm</Set>
225 <Set name="config"><SystemProperty name="jetty.home" default="."/>/etc/realm.properties</Set>
226 <Set name="refreshInterval">0</Set>
227 </New>
228 </Arg>
229 </Call>
230
231</Configure>
Note: See TracBrowser for help on using the repository browser.