Browse Source

Fix docs howto customize the embedded webserver

This reflects the changes from 67556ba8.
See gh-8532.
pull/9042/head
Michael J. Simons 9 years ago committed by Brian Clozel
parent
commit
0436070b98
  1. 29
      spring-boot-docs/src/main/asciidoc/spring-boot-features.adoc

29
spring-boot-docs/src/main/asciidoc/spring-boot-features.adoc

@ -2372,22 +2372,23 @@ class for a complete list.
[[boot-features-programmatic-embedded-container-customization]] [[boot-features-programmatic-embedded-container-customization]]
===== Programmatic customization ===== Programmatic customization
If you need to configure your embedded servlet container programmatically you can If you need to configure your embedded servlet container programmatically you can
register a Spring bean that implements the `EmbeddedServletContainerCustomizer` interface. register a Spring bean that implements the `WebServerFactoryCustomizer` interface.
`EmbeddedServletContainerCustomizer` provides access to the `WebServerFactoryCustomizer` provides access to the
`ConfigurableEmbeddedServletContainer` which includes numerous customization setter `ConfigurableServletWebServerFactory` which includes numerous customization setter
methods. methods. Dedicated variants exists for Tomcat, Jetty and Undertow.
[source,java,indent=0] [source,java,indent=0]
---- ----
import org.springframework.boot.context.embedded.*; import org.springframework.boot.web.server.WebServerFactoryCustomizer;
import org.springframework.boot.web.servlet.server.ConfigurableServletWebServerFactory;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
@Component @Component
public class CustomizationBean implements EmbeddedServletContainerCustomizer { public class CustomizationBean implements WebServerFactoryCustomizer<ConfigurableServletWebServerFactory> {
@Override @Override
public void customize(ConfigurableEmbeddedServletContainer container) { public void customize(ConfigurableServletWebServerFactory server) {
container.setPort(9000); server.setPort(9000);
} }
} }
@ -2395,17 +2396,17 @@ methods.
[[boot-features-customizing-configurableembeddedservletcontainerfactory-directly]] [[boot-features-customizing-configurableservletwebserverfactory-directly]]
===== Customizing ConfigurableEmbeddedServletContainer directly ===== Customizing ConfigurableServletWebServerFactory directly
If the above customization techniques are too limited, you can register the If the above customization techniques are too limited, you can register the
`TomcatEmbeddedServletContainerFactory`, `JettyEmbeddedServletContainerFactory` or `TomcatServletWebServerFactory`, `JettyServletWebServerFactory` or
`UndertowEmbeddedServletContainerFactory` bean yourself. `UndertowServletWebServerFactory` bean yourself.
[source,java,indent=0] [source,java,indent=0]
---- ----
@Bean @Bean
public EmbeddedServletContainerFactory servletContainer() { public ConfigurableServletWebServerFactory webServerFactory() {
TomcatEmbeddedServletContainerFactory factory = new TomcatEmbeddedServletContainerFactory(); TomcatServletWebServerFactory factory = new TomcatServletWebServerFactory();
factory.setPort(9000); factory.setPort(9000);
factory.setSessionTimeout(10, TimeUnit.MINUTES); factory.setSessionTimeout(10, TimeUnit.MINUTES);
factory.addErrorPages(new ErrorPage(HttpStatus.NOT_FOUND, "/notfound.html")); factory.addErrorPages(new ErrorPage(HttpStatus.NOT_FOUND, "/notfound.html"));

Loading…
Cancel
Save