| <?xml version="1.0"?> |
| <!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure.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"> |
| |
| <!-- =========================================================== --> |
| <!-- Server Thread Pool --> |
| <!-- =========================================================== --> |
| <Set name="ThreadPool"> |
| <!-- Default queued blocking threadpool --> |
| <New class="org.eclipse.jetty.util.thread.QueuedThreadPool"> |
| <Set name="minThreads">10</Set> |
| <Set name="maxThreads">10000</Set> |
| <Set name="detailedDump">false</Set> |
| </New> |
| </Set> |
| |
| <!-- =========================================================== --> |
| <!-- Set connectors --> |
| <!-- =========================================================== --> |
| |
| <!-- |
| <Call name="addConnector"> |
| <Arg> |
| <New class="org.eclipse.jetty.server.nio.SelectChannelConnector"> |
| <Set name="host"><SystemProperty name="jetty.host" /></Set> |
| <Set name="port"><SystemProperty name="jetty.port" default="8983"/></Set> |
| <Set name="maxIdleTime">50000</Set> |
| <Set name="Acceptors">2</Set> |
| <Set name="statsOn">false</Set> |
| <Set name="confidentialPort">8443</Set> |
| <Set name="lowResourcesConnections">5000</Set> |
| <Set name="lowResourcesMaxIdleTime">5000</Set> |
| </New> |
| </Arg> |
| </Call> |
| --> |
| |
| <!-- This connector is currently being used for Solr because it |
| showed better performance than nio.SelectChannelConnector |
| for typical Solr requests. --> |
| <Call name="addConnector"> |
| <Arg> |
| <New class="org.eclipse.jetty.server.bio.SocketConnector"> |
| <Set name="host"><SystemProperty name="jetty.host" /></Set> |
| <Set name="port"><SystemProperty name="jetty.port" default="8983"/></Set> |
| <Set name="maxIdleTime">50000</Set> |
| <Set name="lowResourceMaxIdleTime">1500</Set> |
| <Set name="statsOn">false</Set> |
| </New> |
| </Arg> |
| </Call> |
| |
| <!-- if the connector below is uncommented, then jetty will also accept SSL |
| connections on port 8984, using a self signed certificate and can |
| optionally require the client to authenticate with a certificate. |
| (which can be the same as the server certificate_ |
| |
| # Run solr example with SSL on port 8984 |
| java -jar start.jar |
| # |
| # Run post.jar so that it trusts the server cert... |
| java -Djavax.net.ssl.trustStore=../etc/solrtest.keystore -Durl=https://localhost:8984/solr/update -jar post.jar *.xml |
| |
| # Run solr example with SSL requiring client certs on port 8984 |
| java -Djetty.ssl.clientAuth=true -jar start.jar |
| # |
| # Run post.jar so that it trusts the server cert, |
| # and authenticates with a client cert |
| 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 |
| |
| --> |
| <!-- |
| <Call name="addConnector"> |
| <Arg> |
| <New class="org.eclipse.jetty.server.ssl.SslSelectChannelConnector"> |
| <Arg> |
| <New class="org.eclipse.jetty.http.ssl.SslContextFactory"> |
| <Set name="keyStore"><SystemProperty name="jetty.home" default="."/>/etc/solrtest.keystore</Set> |
| <Set name="keyStorePassword">secret</Set> |
| <Set name="needClientAuth"><SystemProperty name="jetty.ssl.clientAuth" default="false"/></Set> |
| </New> |
| </Arg> |
| <Set name="port"><SystemProperty name="jetty.ssl.port" default="8984"/></Set> |
| <Set name="maxIdleTime">30000</Set> |
| </New> |
| </Arg> |
| </Call> |
| --> |
| |
| <!-- =========================================================== --> |
| <!-- Set handler Collection Structure --> |
| <!-- =========================================================== --> |
| <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="DefaultHandler" class="org.eclipse.jetty.server.handler.DefaultHandler"/> |
| </Item> |
| <Item> |
| <New id="RequestLog" class="org.eclipse.jetty.server.handler.RequestLogHandler"/> |
| </Item> |
| </Array> |
| </Set> |
| </New> |
| </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="sendServerVersion">false</Set> |
| <Set name="sendDateHeader">false</Set> |
| <Set name="gracefulShutdown">1000</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 id="Contexts" /> |
| </Set> |
| <Call name="setContextAttribute"> |
| <Arg>org.eclipse.jetty.server.webapp.ContainerIncludeJarPattern</Arg> |
| <Arg>.*/servlet-api-[^/]*\.jar$</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> |
| |
| <Ref id="DeploymentManager"> |
| <Call name="addAppProvider"> |
| <Arg> |
| <New class="org.eclipse.jetty.deploy.providers.ContextProvider"> |
| <Set name="monitoredDirName"><SystemProperty name="jetty.home" default="."/>/contexts</Set> |
| <Set name="scanInterval">0</Set> |
| </New> |
| </Arg> |
| </Call> |
| </Ref> |
| |
| </Configure> |