Class JettyServletWebServerFactory
java.lang.Object
org.springframework.boot.web.server.AbstractConfigurableWebServerFactory
org.springframework.boot.web.servlet.server.AbstractServletWebServerFactory
org.springframework.boot.web.embedded.jetty.JettyServletWebServerFactory
- All Implemented Interfaces:
Aware,ConfigurableJettyWebServerFactory,ConfigurableWebServerFactory,ErrorPageRegistry,WebServerFactory,ConfigurableServletWebServerFactory,ServletWebServerFactory,WebListenerRegistry,ResourceLoaderAware
public class JettyServletWebServerFactory
extends AbstractServletWebServerFactory
implements ConfigurableJettyWebServerFactory, ResourceLoaderAware
ServletWebServerFactory that can be used to create a JettyWebServer.
Can be initialized using Spring's ServletContextInitializers or Jetty
Configurations.
Unless explicitly configured otherwise this factory will create servers that listen for HTTP requests on port 8080.
- Since:
- 2.0.0
- Author:
- Phillip Webb, Dave Syer, Andrey Hihlovskiy, Andy Wilkinson, EddĂș MelĂ©ndez, Venil Noronha, Henri Kerola, Moritz Halbritter, Onur Kagan Ozcan
- See Also:
-
Field Summary
Fields inherited from class org.springframework.boot.web.servlet.server.AbstractServletWebServerFactory
logger -
Constructor Summary
ConstructorsConstructorDescriptionCreate a newJettyServletWebServerFactoryinstance.JettyServletWebServerFactory(int port) Create a newJettyServletWebServerFactorythat listens for requests using the specified port.JettyServletWebServerFactory(String contextPath, int port) Create a newJettyServletWebServerFactorywith the specified context path and port. -
Method Summary
Modifier and TypeMethodDescriptionvoidaddConfigurations(org.eclipse.jetty.ee10.webapp.Configuration... configurations) AddConfigurations that will be applied to theWebAppContextbefore the server is started.protected final voidaddDefaultServlet(org.eclipse.jetty.ee10.webapp.WebAppContext context) Add Jetty'sDefaultServletto the givenWebAppContext.protected final voidaddJspServlet(org.eclipse.jetty.ee10.webapp.WebAppContext context) Add Jetty'sJspServletto the givenWebAppContext.voidaddServerCustomizers(JettyServerCustomizer... customizers) AddJettyServerCustomizers that will be applied to theServerbefore it is started.protected final voidconfigureWebAppContext(org.eclipse.jetty.ee10.webapp.WebAppContext context, ServletContextInitializer... initializers) Configure the given JettyWebAppContextfor use.Collection<org.eclipse.jetty.ee10.webapp.Configuration>Returns a mutable collection of JettyConfigurations that will be applied to theWebAppContextbefore the server is created.protected JettyWebServergetJettyWebServer(org.eclipse.jetty.server.Server server) Factory method called to create theJettyWebServer.Returns a mutable collection of JettyJettyServerCustomizers that will be applied to theServerbefore it is created.protected org.eclipse.jetty.ee10.webapp.ConfigurationgetServletContextInitializerConfiguration(org.eclipse.jetty.ee10.webapp.WebAppContext webAppContext, ServletContextInitializer... initializers) Return a JettyConfigurationthat will invoke the specifiedServletContextInitializers.org.eclipse.jetty.util.thread.ThreadPoolReturns a JettyThreadPoolthat should be used by theServer.protected org.eclipse.jetty.ee10.webapp.Configuration[]getWebAppContextConfigurations(org.eclipse.jetty.ee10.webapp.WebAppContext webAppContext, ServletContextInitializer... initializers) Return the JettyConfigurations that should be applied to the server.getWebServer(ServletContextInitializer... initializers) Gets a new fully configured but pausedWebServerinstance.protected voidpostProcessWebAppContext(org.eclipse.jetty.ee10.webapp.WebAppContext webAppContext) Post process the JettyWebAppContextbefore it's used with the Jetty Server.voidsetAcceptors(int acceptors) Set the number of acceptor threads to use.voidsetConfigurations(Collection<? extends org.eclipse.jetty.ee10.webapp.Configuration> configurations) Sets JettyConfigurations that will be applied to theWebAppContextbefore the server is created.voidsetMaxConnections(int maxConnections) Sets the maximum number of concurrent connections.voidsetResourceLoader(ResourceLoader resourceLoader) voidsetSelectors(int selectors) Set the number of selector threads to use.voidsetServerCustomizers(Collection<? extends JettyServerCustomizer> customizers) SetsJettyServerCustomizers that will be applied to theServerbefore it is started.voidsetThreadPool(org.eclipse.jetty.util.thread.ThreadPool threadPool) Set theThreadPoolthat should be used by theServer.voidsetUseForwardHeaders(boolean useForwardHeaders) Set if x-forward-* headers should be processed.Methods inherited from class org.springframework.boot.web.servlet.server.AbstractServletWebServerFactory
addCookieSameSiteSuppliers, addInitializers, addMimeMappings, addWebListeners, getContextPath, getCookieSameSiteSuppliers, getDisplayName, getDocumentRoot, getInitParameters, getJsp, getLocaleCharsetMappings, getMimeMappings, getSession, getUrlsOfJarsWithMetaInfResources, getValidDocumentRoot, getValidSessionStoreDir, getValidSessionStoreDir, getWebListenerClassNames, isRegisterDefaultServlet, mergeInitializers, setContextPath, setCookieSameSiteSuppliers, setDisplayName, setDocumentRoot, setInitializers, setInitParameters, setJsp, setLocaleCharsetMappings, setMimeMappings, setRegisterDefaultServlet, setSession, shouldRegisterJspServletMethods inherited from class org.springframework.boot.web.server.AbstractConfigurableWebServerFactory
addErrorPages, createTempDir, getAddress, getCompression, getErrorPages, getHttp2, getPort, getServerHeader, getServerNameSslBundles, getShutdown, getSsl, getSslBundle, getSslBundles, setAddress, setCompression, setErrorPages, setHttp2, setPort, setServerHeader, setShutdown, setSsl, setSslBundlesMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.springframework.boot.web.server.ConfigurableWebServerFactory
setAddress, setCompression, setErrorPages, setHttp2, setPort, setServerHeader, setShutdown, setSsl, setSslBundlesMethods inherited from interface org.springframework.boot.web.server.ErrorPageRegistry
addErrorPages
-
Constructor Details
-
JettyServletWebServerFactory
public JettyServletWebServerFactory()Create a newJettyServletWebServerFactoryinstance. -
JettyServletWebServerFactory
public JettyServletWebServerFactory(int port) Create a newJettyServletWebServerFactorythat listens for requests using the specified port.- Parameters:
port- the port to listen on
-
JettyServletWebServerFactory
Create a newJettyServletWebServerFactorywith the specified context path and port.- Parameters:
contextPath- the root context pathport- the port to listen on
-
-
Method Details
-
getWebServer
Description copied from interface:ServletWebServerFactoryGets a new fully configured but pausedWebServerinstance. Clients should not be able to connect to the returned server untilWebServer.start()is called (which happens when theApplicationContexthas been fully refreshed).- Specified by:
getWebServerin interfaceServletWebServerFactory- Parameters:
initializers-ServletContextInitializers that should be applied as the server starts- Returns:
- a fully configured and started
WebServer - See Also:
-
configureWebAppContext
protected final void configureWebAppContext(org.eclipse.jetty.ee10.webapp.WebAppContext context, ServletContextInitializer... initializers) Configure the given JettyWebAppContextfor use.- Parameters:
context- the context to configureinitializers- the set of initializers to apply
-
addDefaultServlet
protected final void addDefaultServlet(org.eclipse.jetty.ee10.webapp.WebAppContext context) Add Jetty'sDefaultServletto the givenWebAppContext.- Parameters:
context- the jettyWebAppContext
-
addJspServlet
protected final void addJspServlet(org.eclipse.jetty.ee10.webapp.WebAppContext context) Add Jetty'sJspServletto the givenWebAppContext.- Parameters:
context- the jettyWebAppContext
-
getWebAppContextConfigurations
protected org.eclipse.jetty.ee10.webapp.Configuration[] getWebAppContextConfigurations(org.eclipse.jetty.ee10.webapp.WebAppContext webAppContext, ServletContextInitializer... initializers) Return the JettyConfigurations that should be applied to the server.- Parameters:
webAppContext- the JettyWebAppContextinitializers- theServletContextInitializers to apply- Returns:
- configurations to apply
-
getServletContextInitializerConfiguration
protected org.eclipse.jetty.ee10.webapp.Configuration getServletContextInitializerConfiguration(org.eclipse.jetty.ee10.webapp.WebAppContext webAppContext, ServletContextInitializer... initializers) Return a JettyConfigurationthat will invoke the specifiedServletContextInitializers. By default this method will return aServletContextInitializerConfiguration.- Parameters:
webAppContext- the JettyWebAppContextinitializers- theServletContextInitializers to apply- Returns:
- the
Configurationinstance
-
postProcessWebAppContext
protected void postProcessWebAppContext(org.eclipse.jetty.ee10.webapp.WebAppContext webAppContext) Post process the JettyWebAppContextbefore it's used with the Jetty Server. Subclasses can override this method to apply additional processing to theWebAppContext.- Parameters:
webAppContext- the JettyWebAppContext
-
getJettyWebServer
Factory method called to create theJettyWebServer. Subclasses can override this method to return a differentJettyWebServeror apply additional processing to the Jetty server.- Parameters:
server- the Jetty server.- Returns:
- a new
JettyWebServerinstance
-
setResourceLoader
- Specified by:
setResourceLoaderin interfaceResourceLoaderAware
-
setUseForwardHeaders
public void setUseForwardHeaders(boolean useForwardHeaders) Description copied from interface:ConfigurableJettyWebServerFactorySet if x-forward-* headers should be processed.- Specified by:
setUseForwardHeadersin interfaceConfigurableJettyWebServerFactory- Parameters:
useForwardHeaders- if x-forward headers should be used
-
setAcceptors
public void setAcceptors(int acceptors) Description copied from interface:ConfigurableJettyWebServerFactorySet the number of acceptor threads to use.- Specified by:
setAcceptorsin interfaceConfigurableJettyWebServerFactory- Parameters:
acceptors- the number of acceptor threads to use
-
setSelectors
public void setSelectors(int selectors) Description copied from interface:ConfigurableJettyWebServerFactorySet the number of selector threads to use.- Specified by:
setSelectorsin interfaceConfigurableJettyWebServerFactory- Parameters:
selectors- the number of selector threads to use
-
setMaxConnections
public void setMaxConnections(int maxConnections) Description copied from interface:ConfigurableJettyWebServerFactorySets the maximum number of concurrent connections.- Specified by:
setMaxConnectionsin interfaceConfigurableJettyWebServerFactory- Parameters:
maxConnections- the maximum number of concurrent connections
-
setServerCustomizers
SetsJettyServerCustomizers that will be applied to theServerbefore it is started. Calling this method will replace any existing customizers.- Parameters:
customizers- the Jetty customizers to apply
-
getServerCustomizers
Returns a mutable collection of JettyJettyServerCustomizers that will be applied to theServerbefore it is created.- Returns:
- the
JettyServerCustomizers
-
addServerCustomizers
Description copied from interface:ConfigurableJettyWebServerFactoryAddJettyServerCustomizers that will be applied to theServerbefore it is started.- Specified by:
addServerCustomizersin interfaceConfigurableJettyWebServerFactory- Parameters:
customizers- the customizers to add
-
setConfigurations
public void setConfigurations(Collection<? extends org.eclipse.jetty.ee10.webapp.Configuration> configurations) Sets JettyConfigurations that will be applied to theWebAppContextbefore the server is created. Calling this method will replace any existing configurations.- Parameters:
configurations- the Jetty configurations to apply
-
getConfigurations
Returns a mutable collection of JettyConfigurations that will be applied to theWebAppContextbefore the server is created.- Returns:
- the Jetty
Configurations
-
addConfigurations
public void addConfigurations(org.eclipse.jetty.ee10.webapp.Configuration... configurations) AddConfigurations that will be applied to theWebAppContextbefore the server is started.- Parameters:
configurations- the configurations to add
-
getThreadPool
public org.eclipse.jetty.util.thread.ThreadPool getThreadPool()Returns a JettyThreadPoolthat should be used by theServer.- Returns:
- a Jetty
ThreadPoolornull
-
setThreadPool
public void setThreadPool(org.eclipse.jetty.util.thread.ThreadPool threadPool) Description copied from interface:ConfigurableJettyWebServerFactorySet theThreadPoolthat should be used by theServer. If set tonull(default), theServercreates aThreadPoolimplicitly.- Specified by:
setThreadPoolin interfaceConfigurableJettyWebServerFactory- Parameters:
threadPool- the ThreadPool to be used
-