Class UndertowServletWebServerFactory
- java.lang.Object
- org.springframework.boot.web.server.AbstractConfigurableWebServerFactory
- org.springframework.boot.web.servlet.server.AbstractServletWebServerFactory
- org.springframework.boot.web.embedded.undertow.UndertowServletWebServerFactory
- All Implemented Interfaces:
org.springframework.beans.factory.Aware
,ConfigurableUndertowWebServerFactory
,ConfigurableWebServerFactory
,ErrorPageRegistry
,WebServerFactory
,ConfigurableServletWebServerFactory
,ServletWebServerFactory
,org.springframework.context.ResourceLoaderAware
public class UndertowServletWebServerFactory extends AbstractServletWebServerFactory implements ConfigurableUndertowWebServerFactory, org.springframework.context.ResourceLoaderAware
ServletWebServerFactory
that can be used to createUndertowServletWebServer
s.Unless explicitly configured otherwise, the factory will create servers that listen for HTTP requests on port 8080.
- Since:
- 2.0.0
- See Also:
UndertowServletWebServer
Field Summary
Fields inherited from class org.springframework.boot.web.servlet.server.AbstractServletWebServerFactory
logger
Constructor Summary
Constructors Constructor Description UndertowServletWebServerFactory()
Create a newUndertowServletWebServerFactory
instance.UndertowServletWebServerFactory(int port)
Create a newUndertowServletWebServerFactory
that listens for requests using the specified port.UndertowServletWebServerFactory(String contextPath, int port)
Create a newUndertowServletWebServerFactory
with the specified context path and port.
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addBuilderCustomizers(UndertowBuilderCustomizer... customizers)
AddUndertowBuilderCustomizer
s that should be used to customize the UndertowUndertow.Builder
.void
addDeploymentInfoCustomizers(UndertowDeploymentInfoCustomizer... customizers)
AddUndertowDeploymentInfoCustomizer
s that should be used to customize the UndertowDeploymentInfo
.String
getAccessLogPrefix()
Collection<UndertowBuilderCustomizer>
getBuilderCustomizers()
Returns a mutable collection of theUndertowBuilderCustomizer
s that will be applied to the UndertowUndertow.Builder
.Collection<UndertowDeploymentInfoCustomizer>
getDeploymentInfoCustomizers()
Returns a mutable collection of theUndertowDeploymentInfoCustomizer
s that will be applied to the UndertowDeploymentInfo
.protected UndertowServletWebServer
getUndertowWebServer(io.undertow.Undertow.Builder builder, io.undertow.servlet.api.DeploymentManager manager, int port)
Factory method called to create theUndertowServletWebServer
.WebServer
getWebServer(ServletContextInitializer... initializers)
Gets a new fully configured but pausedWebServer
instance.boolean
isAccessLogEnabled()
boolean
isEagerInitFilters()
Return if filters should be initialized eagerly.protected boolean
isUseForwardHeaders()
void
setAccessLogDirectory(File accessLogDirectory)
Set the access log directory.void
setAccessLogEnabled(boolean accessLogEnabled)
Set whether access logs are enabled.void
setAccessLogPattern(String accessLogPattern)
Set the access log pattern.void
setAccessLogPrefix(String accessLogPrefix)
Set the access log prefix.void
setAccessLogRotate(boolean accessLogRotate)
Set whether access logs rotation is enabled.void
setAccessLogSuffix(String accessLogSuffix)
Set the access log suffix.void
setBufferSize(Integer bufferSize)
Set the buffer size.void
setBuilderCustomizers(Collection<? extends UndertowBuilderCustomizer> customizers)
SetUndertowBuilderCustomizer
s that should be applied to the UndertowUndertow.Builder
.void
setDeploymentInfoCustomizers(Collection<? extends UndertowDeploymentInfoCustomizer> customizers)
SetUndertowDeploymentInfoCustomizer
s that should be applied to the UndertowDeploymentInfo
.void
setEagerInitFilters(boolean eagerInitFilters)
Set whether filters should be initialized eagerly.void
setIoThreads(Integer ioThreads)
Set the number of IO Threads.void
setResourceLoader(org.springframework.core.io.ResourceLoader resourceLoader)
void
setUseDirectBuffers(Boolean directBuffers)
Set whether direct buffers should be used.void
setUseForwardHeaders(boolean useForwardHeaders)
Set if x-forward-* headers should be processed.void
setWorkerThreads(Integer workerThreads)
Set the number of Worker Threads.Methods inherited from class org.springframework.boot.web.servlet.server.AbstractServletWebServerFactory
addInitializers, getContextPath, getDisplayName, getDocumentRoot, getInitParameters, getJsp, getLocaleCharsetMappings, getMimeMappings, getSession, getUrlsOfJarsWithMetaInfResources, getValidDocumentRoot, getValidSessionStoreDir, getValidSessionStoreDir, isRegisterDefaultServlet, mergeInitializers, setContextPath, setDisplayName, setDocumentRoot, setInitializers, setInitParameters, setJsp, setLocaleCharsetMappings, setMimeMappings, setRegisterDefaultServlet, setSession, shouldRegisterJspServlet
Methods inherited from class org.springframework.boot.web.server.AbstractConfigurableWebServerFactory
addErrorPages, createTempDir, getAddress, getCompression, getErrorPages, getHttp2, getPort, getServerHeader, getSsl, getSslStoreProvider, setAddress, setCompression, setErrorPages, setHttp2, setPort, setServerHeader, setSsl, setSslStoreProvider
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.springframework.boot.web.server.ConfigurableWebServerFactory
setAddress, setCompression, setErrorPages, setHttp2, setPort, setServerHeader, setSsl, setSslStoreProvider
Methods inherited from interface org.springframework.boot.web.server.ErrorPageRegistry
addErrorPages
Constructor Detail
UndertowServletWebServerFactory
public UndertowServletWebServerFactory()
Create a newUndertowServletWebServerFactory
instance.
UndertowServletWebServerFactory
public UndertowServletWebServerFactory(int port)
Create a newUndertowServletWebServerFactory
that listens for requests using the specified port.- Parameters:
port
- the port to listen on
UndertowServletWebServerFactory
public UndertowServletWebServerFactory(String contextPath, int port)
Create a newUndertowServletWebServerFactory
with the specified context path and port.- Parameters:
contextPath
- the root context pathport
- the port to listen on
Method Detail
setBuilderCustomizers
public void setBuilderCustomizers(Collection<? extends UndertowBuilderCustomizer> customizers)
SetUndertowBuilderCustomizer
s that should be applied to the UndertowUndertow.Builder
. Calling this method will replace any existing customizers.- Parameters:
customizers
- the customizers to set
getBuilderCustomizers
public Collection<UndertowBuilderCustomizer> getBuilderCustomizers()
Returns a mutable collection of theUndertowBuilderCustomizer
s that will be applied to the UndertowUndertow.Builder
.- Returns:
- the customizers that will be applied
addBuilderCustomizers
public void addBuilderCustomizers(UndertowBuilderCustomizer... customizers)
Description copied from interface:ConfigurableUndertowWebServerFactory
AddUndertowBuilderCustomizer
s that should be used to customize the UndertowUndertow.Builder
.- Specified by:
addBuilderCustomizers
in interfaceConfigurableUndertowWebServerFactory
- Parameters:
customizers
- the customizers to add
setDeploymentInfoCustomizers
public void setDeploymentInfoCustomizers(Collection<? extends UndertowDeploymentInfoCustomizer> customizers)
SetUndertowDeploymentInfoCustomizer
s that should be applied to the UndertowDeploymentInfo
. Calling this method will replace any existing customizers.- Parameters:
customizers
- the customizers to set
getDeploymentInfoCustomizers
public Collection<UndertowDeploymentInfoCustomizer> getDeploymentInfoCustomizers()
Returns a mutable collection of theUndertowDeploymentInfoCustomizer
s that will be applied to the UndertowDeploymentInfo
.- Returns:
- the customizers that will be applied
addDeploymentInfoCustomizers
public void addDeploymentInfoCustomizers(UndertowDeploymentInfoCustomizer... customizers)
Description copied from interface:ConfigurableUndertowWebServerFactory
AddUndertowDeploymentInfoCustomizer
s that should be used to customize the UndertowDeploymentInfo
.- Specified by:
addDeploymentInfoCustomizers
in interfaceConfigurableUndertowWebServerFactory
- Parameters:
customizers
- the customizers to add
getWebServer
public WebServer getWebServer(ServletContextInitializer... initializers)
Description copied from interface:ServletWebServerFactory
Gets a new fully configured but pausedWebServer
instance. Clients should not be able to connect to the returned server untilWebServer.start()
is called (which happens when theApplicationContext
has been fully refreshed).- Specified by:
getWebServer
in interfaceServletWebServerFactory
- Parameters:
initializers
-ServletContextInitializer
s that should be applied as the server starts- Returns:
- a fully configured and started
WebServer
- See Also:
WebServer.stop()
getUndertowWebServer
protected UndertowServletWebServer getUndertowWebServer(io.undertow.Undertow.Builder builder, io.undertow.servlet.api.DeploymentManager manager, int port)
Factory method called to create theUndertowServletWebServer
. Subclasses can override this method to return a differentUndertowServletWebServer
or apply additional processing to theUndertow.Builder
andDeploymentManager
used to bootstrap Undertow- Parameters:
builder
- the buildermanager
- the deployment managerport
- the port that Undertow should listen on- Returns:
- a new
UndertowServletWebServer
instance
setResourceLoader
public void setResourceLoader(org.springframework.core.io.ResourceLoader resourceLoader)
- Specified by:
setResourceLoader
in interfaceorg.springframework.context.ResourceLoaderAware
setBufferSize
public void setBufferSize(Integer bufferSize)
Description copied from interface:ConfigurableUndertowWebServerFactory
Set the buffer size.- Specified by:
setBufferSize
in interfaceConfigurableUndertowWebServerFactory
- Parameters:
bufferSize
- buffer size
setIoThreads
public void setIoThreads(Integer ioThreads)
Description copied from interface:ConfigurableUndertowWebServerFactory
Set the number of IO Threads.- Specified by:
setIoThreads
in interfaceConfigurableUndertowWebServerFactory
- Parameters:
ioThreads
- number of IO Threads
setWorkerThreads
public void setWorkerThreads(Integer workerThreads)
Description copied from interface:ConfigurableUndertowWebServerFactory
Set the number of Worker Threads.- Specified by:
setWorkerThreads
in interfaceConfigurableUndertowWebServerFactory
- Parameters:
workerThreads
- number of Worker Threads
setUseDirectBuffers
public void setUseDirectBuffers(Boolean directBuffers)
Description copied from interface:ConfigurableUndertowWebServerFactory
Set whether direct buffers should be used.- Specified by:
setUseDirectBuffers
in interfaceConfigurableUndertowWebServerFactory
- Parameters:
directBuffers
- whether direct buffers should be used
setAccessLogDirectory
public void setAccessLogDirectory(File accessLogDirectory)
Description copied from interface:ConfigurableUndertowWebServerFactory
Set the access log directory.- Specified by:
setAccessLogDirectory
in interfaceConfigurableUndertowWebServerFactory
- Parameters:
accessLogDirectory
- access log directory
setAccessLogPattern
public void setAccessLogPattern(String accessLogPattern)
Description copied from interface:ConfigurableUndertowWebServerFactory
Set the access log pattern.- Specified by:
setAccessLogPattern
in interfaceConfigurableUndertowWebServerFactory
- Parameters:
accessLogPattern
- access log pattern
getAccessLogPrefix
public String getAccessLogPrefix()
setAccessLogPrefix
public void setAccessLogPrefix(String accessLogPrefix)
Description copied from interface:ConfigurableUndertowWebServerFactory
Set the access log prefix.- Specified by:
setAccessLogPrefix
in interfaceConfigurableUndertowWebServerFactory
- Parameters:
accessLogPrefix
- log prefix
setAccessLogSuffix
public void setAccessLogSuffix(String accessLogSuffix)
Description copied from interface:ConfigurableUndertowWebServerFactory
Set the access log suffix.- Specified by:
setAccessLogSuffix
in interfaceConfigurableUndertowWebServerFactory
- Parameters:
accessLogSuffix
- access log suffix
setAccessLogEnabled
public void setAccessLogEnabled(boolean accessLogEnabled)
Description copied from interface:ConfigurableUndertowWebServerFactory
Set whether access logs are enabled.- Specified by:
setAccessLogEnabled
in interfaceConfigurableUndertowWebServerFactory
- Parameters:
accessLogEnabled
- whether access logs are enabled
isAccessLogEnabled
public boolean isAccessLogEnabled()
setAccessLogRotate
public void setAccessLogRotate(boolean accessLogRotate)
Description copied from interface:ConfigurableUndertowWebServerFactory
Set whether access logs rotation is enabled.- Specified by:
setAccessLogRotate
in interfaceConfigurableUndertowWebServerFactory
- Parameters:
accessLogRotate
- whether access logs rotation is enabled
isUseForwardHeaders
protected final boolean isUseForwardHeaders()
setUseForwardHeaders
public void setUseForwardHeaders(boolean useForwardHeaders)
Description copied from interface:ConfigurableUndertowWebServerFactory
Set if x-forward-* headers should be processed.- Specified by:
setUseForwardHeaders
in interfaceConfigurableUndertowWebServerFactory
- Parameters:
useForwardHeaders
- if x-forward headers should be used
isEagerInitFilters
public boolean isEagerInitFilters()
Return if filters should be initialized eagerly.- Returns:
true
if filters are initialized eagerly, otherwisefalse
.- Since:
- 2.0.0
setEagerInitFilters
public void setEagerInitFilters(boolean eagerInitFilters)
Set whether filters should be initialized eagerly.- Parameters:
eagerInitFilters
-true
if filters are initialized eagerly, otherwisefalse
.- Since:
- 2.0.0