Class TomcatReactiveWebServerFactory
java.lang.Object
org.springframework.boot.web.server.AbstractConfigurableWebServerFactory
org.springframework.boot.web.reactive.server.AbstractReactiveWebServerFactory
org.springframework.boot.web.embedded.tomcat.TomcatReactiveWebServerFactory
- All Implemented Interfaces:
- ConfigurableTomcatWebServerFactory,- ConfigurableReactiveWebServerFactory,- ReactiveWebServerFactory,- ConfigurableWebServerFactory,- ErrorPageRegistry,- WebServerFactory
public class TomcatReactiveWebServerFactory
extends AbstractReactiveWebServerFactory
implements ConfigurableTomcatWebServerFactory
ReactiveWebServerFactory that can be used to create a TomcatWebServer.- Since:
- 2.0.0
- Author:
- Brian Clozel, HaiTao Zhang, Moritz Halbritter, Scott Frederick
- 
Field SummaryFields
- 
Constructor SummaryConstructorsConstructorDescriptionCreate a newTomcatReactiveWebServerFactoryinstance.TomcatReactiveWebServerFactory(int port) Create a newTomcatReactiveWebServerFactorythat listens for requests using the specified port.
- 
Method SummaryModifier and TypeMethodDescriptionvoidaddAdditionalTomcatConnectors(Connector... connectors) AddConnectors in addition to the default connector, e.g.voidaddConnectorCustomizers(TomcatConnectorCustomizer... tomcatConnectorCustomizers) AddTomcatConnectorCustomizers that should be added to the TomcatConnector.voidaddContextCustomizers(TomcatContextCustomizer... tomcatContextCustomizers) AddTomcatContextCustomizers that should be added to the TomcatContext.voidaddContextLifecycleListeners(LifecycleListener... contextLifecycleListeners) AddLifecycleListeners that should be added to the TomcatContext.voidaddEngineValves(Valve... engineValves) voidaddProtocolHandlerCustomizers(TomcatProtocolHandlerCustomizer<?>... tomcatProtocolHandlerCustomizers) AddTomcatProtocolHandlerCustomizers that should be added to the TomcatConnector.protected voidconfigureContext(Context context) Configure the TomcatContext.protected voidcustomizeConnector(Connector connector) Returns a mutable collection of theConnectors that will be added to the Tomcat.Returns a mutable collection of theLifecycleListeners that will be applied to the TomcatContext.Returns a mutable collection of theTomcatConnectorCustomizers that will be applied to the TomcatConnector.Returns a mutable collection of theTomcatContextCustomizers that will be applied to the TomcatContext.Returns a mutable collection of theTomcatProtocolHandlerCustomizers that will be applied to the TomcatConnector.protected TomcatWebServergetTomcatWebServer(Tomcat tomcat) Factory method called to create theTomcatWebServer.Returns the character encoding to use for URL decoding.getWebServer(HttpHandler httpHandler) Gets a new fully configured but pausedWebServerinstance.protected voidprepareContext(Host host, TomcatHttpHandlerAdapter servlet) voidsetBackgroundProcessorDelay(int delay) Sets the background processor delay in seconds.voidsetBaseDirectory(File baseDirectory) Set the Tomcat base directory.voidsetContextLifecycleListeners(Collection<? extends LifecycleListener> contextLifecycleListeners) SetLifecycleListeners that should be applied to the TomcatContext.voidsetDisableMBeanRegistry(boolean disableMBeanRegistry) Set whether the factory should disable Tomcat's MBean registry prior to creating the server.voidsetProtocol(String protocol) The Tomcat protocol to use when create theConnector.voidsetTomcatConnectorCustomizers(Collection<? extends TomcatConnectorCustomizer> tomcatConnectorCustomizers) SetTomcatConnectorCustomizers that should be applied to the TomcatConnector.voidsetTomcatContextCustomizers(Collection<? extends TomcatContextCustomizer> tomcatContextCustomizers) SetTomcatContextCustomizers that should be applied to the TomcatContext.voidsetTomcatProtocolHandlerCustomizers(Collection<? extends TomcatProtocolHandlerCustomizer<?>> tomcatProtocolHandlerCustomizers) SetTomcatProtocolHandlerCustomizers that should be applied to the TomcatConnector.voidsetUriEncoding(Charset uriEncoding) Set the character encoding to use for URL decoding.voidsetUseApr(boolean useApr) Whether to use APR.Methods inherited from class org.springframework.boot.web.server.AbstractConfigurableWebServerFactoryaddErrorPages, 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.Objectclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.springframework.boot.web.server.ConfigurableWebServerFactorysetAddress, setCompression, setErrorPages, setHttp2, setPort, setServerHeader, setShutdown, setSsl, setSslBundlesMethods inherited from interface org.springframework.boot.web.server.ErrorPageRegistryaddErrorPages
- 
Field Details- 
DEFAULT_PROTOCOLThe class name of default protocol used.- See Also:
 
 
- 
- 
Constructor Details- 
TomcatReactiveWebServerFactorypublic TomcatReactiveWebServerFactory()Create a newTomcatReactiveWebServerFactoryinstance.
- 
TomcatReactiveWebServerFactorypublic TomcatReactiveWebServerFactory(int port) Create a newTomcatReactiveWebServerFactorythat listens for requests using the specified port.- Parameters:
- port- the port to listen on
 
 
- 
- 
Method Details- 
getWebServerDescription copied from interface:ReactiveWebServerFactoryGets 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 interface- ReactiveWebServerFactory
- Parameters:
- httpHandler- the HTTP handler in charge of processing requests
- Returns:
- a fully configured and started WebServer
- See Also:
 
- 
prepareContext
- 
configureContextConfigure the TomcatContext.- Parameters:
- context- the Tomcat context
 
- 
customizeConnector
- 
setBaseDirectoryDescription copied from interface:ConfigurableTomcatWebServerFactorySet the Tomcat base directory. If not specified a temporary directory will be used.- Specified by:
- setBaseDirectoryin interface- ConfigurableTomcatWebServerFactory
- Parameters:
- baseDirectory- the tomcat base directory
 
- 
setBackgroundProcessorDelaypublic void setBackgroundProcessorDelay(int delay) Description copied from interface:ConfigurableTomcatWebServerFactorySets the background processor delay in seconds.- Specified by:
- setBackgroundProcessorDelayin interface- ConfigurableTomcatWebServerFactory
- Parameters:
- delay- the delay in seconds
 
- 
setTomcatContextCustomizerspublic void setTomcatContextCustomizers(Collection<? extends TomcatContextCustomizer> tomcatContextCustomizers) SetTomcatContextCustomizers that should be applied to the TomcatContext. Calling this method will replace any existing customizers.- Parameters:
- tomcatContextCustomizers- the customizers to set
 
- 
getTomcatContextCustomizersReturns a mutable collection of theTomcatContextCustomizers that will be applied to the TomcatContext.- Returns:
- the listeners that will be applied
 
- 
addContextCustomizersAddTomcatContextCustomizers that should be added to the TomcatContext.- Specified by:
- addContextCustomizersin interface- ConfigurableTomcatWebServerFactory
- Parameters:
- tomcatContextCustomizers- the customizers to add
 
- 
setTomcatConnectorCustomizerspublic void setTomcatConnectorCustomizers(Collection<? extends TomcatConnectorCustomizer> tomcatConnectorCustomizers) SetTomcatConnectorCustomizers that should be applied to the TomcatConnector. Calling this method will replace any existing customizers.- Parameters:
- tomcatConnectorCustomizers- the customizers to set
 
- 
addConnectorCustomizersAddTomcatConnectorCustomizers that should be added to the TomcatConnector.- Specified by:
- addConnectorCustomizersin interface- ConfigurableTomcatWebServerFactory
- Parameters:
- tomcatConnectorCustomizers- the customizers to add
 
- 
getTomcatConnectorCustomizersReturns a mutable collection of theTomcatConnectorCustomizers that will be applied to the TomcatConnector.- Returns:
- the customizers that will be applied
 
- 
setTomcatProtocolHandlerCustomizerspublic void setTomcatProtocolHandlerCustomizers(Collection<? extends TomcatProtocolHandlerCustomizer<?>> tomcatProtocolHandlerCustomizers) SetTomcatProtocolHandlerCustomizers that should be applied to the TomcatConnector. Calling this method will replace any existing customizers.- Parameters:
- tomcatProtocolHandlerCustomizers- the customizers to set
- Since:
- 2.2.0
 
- 
addProtocolHandlerCustomizerspublic void addProtocolHandlerCustomizers(TomcatProtocolHandlerCustomizer<?>... tomcatProtocolHandlerCustomizers) AddTomcatProtocolHandlerCustomizers that should be added to the TomcatConnector.- Specified by:
- addProtocolHandlerCustomizersin interface- ConfigurableTomcatWebServerFactory
- Parameters:
- tomcatProtocolHandlerCustomizers- the customizers to add
- Since:
- 2.2.0
 
- 
getTomcatProtocolHandlerCustomizersReturns a mutable collection of theTomcatProtocolHandlerCustomizers that will be applied to the TomcatConnector.- Returns:
- the customizers that will be applied
- Since:
- 2.2.0
 
- 
addAdditionalTomcatConnectorsAddConnectors in addition to the default connector, e.g. for SSL or AJP.Connector customizersare not applied to connectors added this way.- Parameters:
- connectors- the connectors to add
- Since:
- 2.2.0
 
- 
getAdditionalTomcatConnectorsReturns a mutable collection of theConnectors that will be added to the Tomcat.- Returns:
- the additionalTomcatConnectors
- Since:
- 2.2.0
 
- 
addEngineValvesDescription copied from interface:ConfigurableTomcatWebServerFactory- Specified by:
- addEngineValvesin interface- ConfigurableTomcatWebServerFactory
- Parameters:
- engineValves- the valves to add
 
- 
getEngineValves- Returns:
- the engine valves that will be applied
 
- 
setUriEncodingSet the character encoding to use for URL decoding. If not specified 'UTF-8' will be used.- Specified by:
- setUriEncodingin interface- ConfigurableTomcatWebServerFactory
- Parameters:
- uriEncoding- the uri encoding to set
 
- 
getUriEncodingReturns the character encoding to use for URL decoding.- Returns:
- the URI encoding
 
- 
setContextLifecycleListenerspublic void setContextLifecycleListeners(Collection<? extends LifecycleListener> contextLifecycleListeners) SetLifecycleListeners that should be applied to the TomcatContext. Calling this method will replace any existing listeners.- Parameters:
- contextLifecycleListeners- the listeners to set
 
- 
getContextLifecycleListenersReturns a mutable collection of theLifecycleListeners that will be applied to the TomcatContext.- Returns:
- the context lifecycle listeners that will be applied
 
- 
addContextLifecycleListenersAddLifecycleListeners that should be added to the TomcatContext.- Parameters:
- contextLifecycleListeners- the listeners to add
 
- 
getTomcatWebServerFactory method called to create theTomcatWebServer. Subclasses can override this method to return a differentTomcatWebServeror apply additional processing to the Tomcat server.- Parameters:
- tomcat- the Tomcat server.
- Returns:
- a new TomcatWebServerinstance
 
- 
setProtocolThe Tomcat protocol to use when create theConnector.- Parameters:
- protocol- the protocol
- See Also:
 
- 
setDisableMBeanRegistrypublic void setDisableMBeanRegistry(boolean disableMBeanRegistry) Set whether the factory should disable Tomcat's MBean registry prior to creating the server.- Parameters:
- disableMBeanRegistry- whether to disable the MBean registry
- Since:
- 2.2.0
 
- 
setUseAprpublic void setUseApr(boolean useApr) Whether to use APR.- Parameters:
- useApr- whether to use APR
- Since:
- 3.4.4
 
 
-