/*********************************************************************************************************/ // 设置内嵌tomcat,我还是习惯在yml配置,下面那种方式设置的不全,是内嵌服务器的通用配置 // implements WebServerFactoryCustomizer<ConfigurableServletWebServerFactory> // @Bean public ConfigurableServletWebServerFactory webServerFactory() { TomcatServletWebServerFactory factory = new TomcatServletWebServerFactory(); factory.setPort(9000); return factory; } /*********************************************************************************************************/
@Bean public TomcatServletWebServerFactory tomcatServletWebServerFactory() { return new TomcatServletWebServerFactory(); } }
/** * Creates a {@link TomcatServletWebServerFactory}. * * @return a {@link TomcatServletWebServerFactory}. */ @Bean public TomcatServletWebServerFactory tomcatServletWebServerFactory() { return new TomcatServletWebServerFactory(); }
@Bean TomcatServletWebServerFactory webServerFactory() { return new TomcatServletWebServerFactory(0); }
@Bean public ServletWebServerFactory servletContainer() { TomcatServletWebServerFactory tomcat = new TomcatServletWebServerFactory(); if (StringUtils.isNotBlank(servletContextPath)) { tomcat.setContextPath(servletContextPath); } if (tomcatAjpEnabled) { tomcat.addAdditionalTomcatConnectors(createAJPConnector()); } return tomcat; }
@Bean public ConfigurableServletWebServerFactory webServerFactory() { TomcatServletWebServerFactory factory = new TomcatServletWebServerFactory(); factory.addConnectorCustomizers( connector -> { Http11NioProtocol protocol = (Http11NioProtocol) connector.getProtocolHandler(); protocol.setDisableUploadTimeout(false); } ); return factory; }
@Bean public ConfigurableServletWebServerFactory webServerFactory() { TomcatServletWebServerFactory factory = new TomcatServletWebServerFactory(); MimeMappings mappings = new MimeMappings(MimeMappings.DEFAULT); mappings.add("hbs", "text/x-handlebars-template"); mappings.add("hal", "application/hal+json"); factory.setMimeMappings(mappings); return factory; }
@Bean public ConfigurableServletWebServerFactory webServerFactory() { final TomcatServletWebServerFactory factory = new TomcatServletWebServerFactory(); final Set<ErrorPage> errorPages = new HashSet<>(); errorPages.add(new ErrorPage(HttpStatus.NOT_FOUND, "/web/error/404")); factory.setErrorPages(errorPages); final MimeMappings mappings = new MimeMappings(MimeMappings.DEFAULT); mappings.add("xsd", "text/xml; charset=utf-8"); mappings.add("ico", "image/x-icon"); factory.setMimeMappings(mappings); return factory; }
@Bean public ServletWebServerFactory tomcatEmbedded(){ TomcatServletWebServerFactory tomcat=new TomcatServletWebServerFactory(); tomcat.addConnectorCustomizers((TomcatConnectorCustomizer) connector ->{ if (connector.getProtocolHandler() instanceof AbstractHttp11Protocol<?>){ //-1 无限的意思 ((AbstractHttp11Protocol<?>)connector.getProtocolHandler()).setMaxSwallowSize(-1); } }); return tomcat; } }
@Bean public ServletWebServerFactory servletContainer() { TomcatServletWebServerFactory tomcat = new TomcatServletWebServerFactory(); tomcat.addConnectorCustomizers(connector -> connector.setAllowTrace(true)); return tomcat; }
@Test public void doNotCustomize() { TomcatServletWebServerFactory tomcatFactory = new TomcatServletWebServerFactory(); this.tomcatAutoConfiguration.jsfTomcatFactoryCustomizer().customize(tomcatFactory); assertThat(tomcatFactory.getTomcatConnectorCustomizers()) .isEmpty(); }
@Test public void customize() { TomcatServletWebServerFactory tomcatFactory = new TomcatServletWebServerFactory(); this.tomcatAutoConfiguration.jsfTomcatFactoryCustomizer().customize(tomcatFactory); assertThat(tomcatFactory.getTomcatContextCustomizers()) .isNotEmpty(); }