Update 26.3.3. Customizing embedded servlet containers.md
parent
54c47041f4
commit
35b6cbcc46
|
@ -7,4 +7,34 @@
|
||||||
2. server.address - 绑定的接口地址
|
2. server.address - 绑定的接口地址
|
||||||
3. server.sessionTimeout - session超时时间
|
3. server.sessionTimeout - session超时时间
|
||||||
|
|
||||||
具体参考[ServerProperties](http://github.com/spring-projects/spring-boot/tree/master/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/ServerProperties.java)
|
具体参考[ServerProperties](http://github.com/spring-projects/spring-boot/tree/master/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/ServerProperties.java)。
|
||||||
|
|
||||||
|
* 编程方式的自定义
|
||||||
|
|
||||||
|
如果需要以编程的方式配置内嵌的servlet容器,你可以注册一个实现EmbeddedServletContainerCustomizer接口的Spring bean。EmbeddedServletContainerCustomizer提供对ConfigurableEmbeddedServletContainer的访问,ConfigurableEmbeddedServletContainer包含很多自定义的setter方法。
|
||||||
|
```java
|
||||||
|
import org.springframework.boot.context.embedded.*;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
@Component
|
||||||
|
public class CustomizationBean implements EmbeddedServletContainerCustomizer {
|
||||||
|
@Override
|
||||||
|
public void customize(ConfigurableEmbeddedServletContainer container) {
|
||||||
|
container.setPort(9000);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
* 直接自定义ConfigurableEmbeddedServletContainer
|
||||||
|
|
||||||
|
如果上面的自定义手法过于受限,你可以自己注册TomcatEmbeddedServletContainerFactory,JettyEmbeddedServletContainerFactory或UndertowEmbeddedServletContainerFactory。
|
||||||
|
```java
|
||||||
|
@Bean
|
||||||
|
public EmbeddedServletContainerFactory servletContainer() {
|
||||||
|
TomcatEmbeddedServletContainerFactory factory = new TomcatEmbeddedServletContainerFactory();
|
||||||
|
factory.setPort(9000);
|
||||||
|
factory.setSessionTimeout(10, TimeUnit.MINUTES);
|
||||||
|
factory.addErrorPages(new ErrorPage(HttpStatus.NOT_FOUND, "/notfound.html");
|
||||||
|
return factory;
|
||||||
|
}
|
||||||
|
```
|
||||||
|
很多可选的配置都提供了setter方法,也提供了一些受保护的钩子方法以满足你的某些特殊需求。具体参考相关文档。
|
||||||
|
|
Loading…
Reference in New Issue