diff options
Diffstat (limited to 'solr-8.3.1/server/etc/jetty.xml')
| -rw-r--r-- | solr-8.3.1/server/etc/jetty.xml | 221 |
1 files changed, 221 insertions, 0 deletions
diff --git a/solr-8.3.1/server/etc/jetty.xml b/solr-8.3.1/server/etc/jetty.xml new file mode 100644 index 000000000..1f6de775a --- /dev/null +++ b/solr-8.3.1/server/etc/jetty.xml @@ -0,0 +1,221 @@ +<?xml version="1.0"?> +<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure_9_0.dtd"> + +<!-- =============================================================== --> +<!-- Configure the Jetty Server --> +<!-- --> +<!-- Documentation of this file format can be found at: --> +<!-- http://wiki.eclipse.org/Jetty/Reference/jetty.xml_syntax --> +<!-- --> +<!-- =============================================================== --> + + +<Configure id="Server" class="org.eclipse.jetty.server.Server"> + + <!-- =========================================================== --> + <!-- Configure the Server Thread Pool. --> + <!-- The server holds a common thread pool which is used by --> + <!-- default as the executor used by all connectors and servlet --> + <!-- dispatches. --> + <!-- --> + <!-- Configuring a fixed thread pool is vital to controlling the --> + <!-- maximal memory footprint of the server and is a key tuning --> + <!-- parameter for tuning. In an application that rarely blocks --> + <!-- then maximal threads may be close to the number of 5*CPUs. --> + <!-- In an application that frequently blocks, then maximal --> + <!-- threads should be set as high as possible given the memory --> + <!-- available. --> + <!-- --> + <!-- Consult the javadoc of o.e.j.util.thread.QueuedThreadPool --> + <!-- for all configuration that may be set here. --> + <!-- =========================================================== --> + <Arg name="threadpool"> + <New id="threadpool" class="com.codahale.metrics.jetty9.InstrumentedQueuedThreadPool"> + <Arg name="registry"> + <Call id="solrJettyMetricRegistry" name="getOrCreate" class="com.codahale.metrics.SharedMetricRegistries"> + <Arg>solr.jetty</Arg> + </Call> + </Arg> + </New> + </Arg> + + <Get name="ThreadPool"> + <Set name="minThreads" type="int"><Property name="solr.jetty.threads.min" default="10"/></Set> + <Set name="maxThreads" type="int"><Property name="solr.jetty.threads.max" default="10000"/></Set> + <Set name="idleTimeout" type="int"><Property name="solr.jetty.threads.idle.timeout" default="120000"/></Set> + <Set name="stopTimeout" type="int"><Property name="solr.jetty.threads.stop.timeout" default="60000"/></Set> + <Set name="detailedDump">false</Set> + </Get> + + + <!-- =========================================================== --> + <!-- Http Configuration. --> + <!-- This is a common configuration instance used by all --> + <!-- connectors that can carry HTTP semantics (HTTP, HTTPS, SPDY)--> + <!-- It configures the non wire protocol aspects of the HTTP --> + <!-- semantic. --> + <!-- --> + <!-- This configuration is only defined here and is used by --> + <!-- reference from the jetty-http.xml, jetty-https.xml and --> + <!-- jetty-spdy.xml configuration files which instantiate the --> + <!-- connectors. --> + <!-- --> + <!-- Consult the javadoc of o.e.j.server.HttpConfiguration --> + <!-- for all configuration that may be set here. --> + <!-- =========================================================== --> + <New id="httpConfig" class="org.eclipse.jetty.server.HttpConfiguration"> + <Set name="secureScheme">https</Set> + <Set name="securePort"><Property name="solr.jetty.secure.port" default="8443" /></Set> + <Set name="outputBufferSize"><Property name="solr.jetty.output.buffer.size" default="32768" /></Set> + <Set name="outputAggregationSize"><Property name="solr.jetty.output.aggregation.size" default="8192" /></Set> + <Set name="requestHeaderSize"><Property name="solr.jetty.request.header.size" default="8192" /></Set> + <Set name="responseHeaderSize"><Property name="solr.jetty.response.header.size" default="8192" /></Set> + <Set name="sendServerVersion"><Property name="solr.jetty.send.server.version" default="false" /></Set> + <Set name="sendDateHeader"><Property name="solr.jetty.send.date.header" default="false" /></Set> + <Set name="headerCacheSize"><Property name="solr.jetty.header.cache.size" default="512" /></Set> + <Set name="delayDispatchUntilContent"><Property name="solr.jetty.delayDispatchUntilContent" default="false"/></Set> + <!-- Uncomment to enable handling of X-Forwarded- style headers + <Call name="addCustomizer"> + <Arg><New class="org.eclipse.jetty.server.ForwardedRequestCustomizer"/></Arg> + </Call> + --> + </New> + + <!-- =========================================================== --> + <!-- RewriteHandle to redirect root to Solr --> + <!-- =========================================================== --> + <New id="RewriteHandler" class="org.eclipse.jetty.rewrite.handler.RewriteHandler"> + <Set name="rewriteRequestURI">true</Set> + <Set name="rewritePathInfo">false</Set> + <Set name="originalPathAttribute">requestedPath</Set> + + <Call name="addRule"> + <Arg> + <New class="org.eclipse.jetty.rewrite.handler.RedirectRegexRule"> + <Set name="regex">^/$</Set> + <Set name="replacement">/solr/</Set> + </New> + </Arg> + </Call> + <Call name="addRule"> + <Arg> + <New class="org.eclipse.jetty.rewrite.handler.RewritePatternRule"> + <Set name="pattern">/v2/*</Set> + <Set name="replacement">/solr/____v2</Set> + </New> + </Arg> + </Call> + <Call name="addRule"> + <Arg> + <New class="org.eclipse.jetty.rewrite.handler.RewritePatternRule"> + <Set name="pattern">/api/*</Set> + <Set name="replacement">/solr/____v2</Set> + </New> + </Arg> + </Call> + <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="InstrumentedHandler" class="com.codahale.metrics.jetty9.InstrumentedHandler"> + <Arg><Ref refid="solrJettyMetricRegistry"/></Arg> + <Set name="handler"> + <New id="DefaultHandler" class="org.eclipse.jetty.server.handler.DefaultHandler"/> + </Set> + </New> + </Item> + <Item> + <New id="RequestLog" class="org.eclipse.jetty.server.handler.RequestLogHandler"/> + </Item> + </Array> + </Set> + </New> + </Set> + </New> + + <!-- =========================================================== --> + <!-- Set handler Collection Structure --> + <!-- =========================================================== --> + <Set name="handler"> + <Ref id="RewriteHandler"/> + </Set> + + <!-- =========================================================== --> + <!-- Configure Request Log --> + <!-- =========================================================== --> + <!-- + <Ref id="Handlers"> + <Call name="addHandler"> + <Arg> + <New id="RequestLog" class="org.eclipse.jetty.server.handler.RequestLogHandler"> + <Set name="requestLog"> + <New id="RequestLogImpl" class="org.eclipse.jetty.server.NCSARequestLog"> + <Set name="filename"> + logs/request.yyyy_mm_dd.log + </Set> + <Set name="filenameDateFormat">yyyy_MM_dd</Set> + <Set name="retainDays">90</Set> + <Set name="append">true</Set> + <Set name="extended">false</Set> + <Set name="logCookies">false</Set> + <Set name="LogTimeZone">UTC</Set> + </New> + </Set> + </New> + </Arg> + </Call> + </Ref> + --> + + <!-- =========================================================== --> + <!-- extra options --> + <!-- =========================================================== --> + <Set name="stopAtShutdown">true</Set> + <Set name="dumpAfterStart">false</Set> + <Set name="dumpBeforeStop">false</Set> + + <Call name="addBean"> + <Arg> + <New id="DeploymentManager" class="org.eclipse.jetty.deploy.DeploymentManager"> + <Set name="contexts"> + <Ref refid="Contexts" /> + </Set> + <Call name="setContextAttribute"> + <Arg>org.eclipse.jetty.server.webapp.ContainerIncludeJarPattern</Arg> + <Arg>.*/servlet-api-[^/]*\.jar$</Arg> + </Call> + + <Call name="addAppProvider"> + <Arg> + <New class="org.eclipse.jetty.deploy.providers.WebAppProvider"> + <Set name="monitoredDirName"><Property name="jetty.base" default="."/>/contexts</Set> + <Set name="scanInterval">0</Set> + </New> + </Arg> + </Call> + + <!-- Add a customize step to the deployment lifecycle --> + <!-- uncomment and replace DebugBinding with your extended AppLifeCycle.Binding class + <Call name="insertLifeCycleNode"> + <Arg>deployed</Arg> + <Arg>starting</Arg> + <Arg>customise</Arg> + </Call> + <Call name="addLifeCycleBinding"> + <Arg> + <New class="org.eclipse.jetty.deploy.bindings.DebugBinding"> + <Arg>customise</Arg> + </New> + </Arg> + </Call> + --> + + </New> + </Arg> + </Call> + +</Configure> |
