org.springframework.boot.web.embedded.tomcat.TomcatConnectorCustomizer Java Examples
The following examples show how to use
org.springframework.boot.web.embedded.tomcat.TomcatConnectorCustomizer.
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: EmbeddedTomcatConfig.java From blog with BSD 2-Clause "Simplified" License | 6 votes |
@Override public void customize(ConfigurableServletWebServerFactory factory) { ((TomcatServletWebServerFactory) factory).addConnectorCustomizers(new TomcatConnectorCustomizer() { @Override public void customize(Connector connector) { Http11NioProtocol protocol = (Http11NioProtocol) connector.getProtocolHandler(); protocol.setMaxConnections(200); protocol.setMaxThreads(200); protocol.setSelectorTimeout(3000); protocol.setSessionTimeout(3000); protocol.setConnectionTimeout(3000); connector.setPort(8888); } }); }
Example #2
Source File: HomeController.java From odo with Apache License 2.0 | 6 votes |
@Bean public ServletWebServerFactory servletContainer() throws Exception { TomcatServletWebServerFactory factory = new TomcatServletWebServerFactory(); int apiPort = Utils.getSystemPort(Constants.SYS_API_PORT); factory.setPort(apiPort); factory.getSession().setTimeout(Duration.ofMinutes(10)); factory.setContextPath("/testproxy"); baseDirectory = new File("./tmp"); factory.setBaseDirectory(baseDirectory); List<TomcatConnectorCustomizer> cs = new ArrayList(); cs.add(tomcatConnectorCustomizers()); factory.setTomcatConnectorCustomizers(cs); if (Utils.getEnvironmentOptionValue(Constants.SYS_LOGGING_DISABLED) != null) { HistoryService.getInstance().disableHistory(); } return factory; }
Example #3
Source File: ChengfengConfig.java From ChengFeng1.5 with MIT License | 5 votes |
@Bean public TomcatServletWebServerFactory tomcatEmbedded() { TomcatServletWebServerFactory tomcat = new TomcatServletWebServerFactory(); tomcat.addConnectorCustomizers((TomcatConnectorCustomizer) connector -> { if ((connector.getProtocolHandler() instanceof AbstractHttp11Protocol<?>)) { //-1 means unlimited ((AbstractHttp11Protocol<?>) connector.getProtocolHandler()).setMaxSwallowSize(-1); } }); return tomcat; }
Example #4
Source File: PortalTomcatWebServerCustomizer.java From seppb with MIT License | 5 votes |
@Override public void customize(WebServerFactory container) { TomcatServletWebServerFactory containerFactory = (TomcatServletWebServerFactory) container; containerFactory.addConnectorCustomizers((TomcatConnectorCustomizer) connector -> { connector.setAttribute("relaxedQueryChars", "[]|{}^\" < > "); connector.setAttribute("relaxedPathChars", "[]|"); }); }
Example #5
Source File: TomcatConfiguration.java From cymbal with Apache License 2.0 | 5 votes |
@Bean public ConfigurableServletWebServerFactory webServerFactory() { TomcatServletWebServerFactory factory = new TomcatServletWebServerFactory(); factory.addConnectorCustomizers( (TomcatConnectorCustomizer) connector -> connector.setProperty("relaxedQueryChars", "|{}[]\\")); return factory; }
Example #6
Source File: WebConfig.java From flash-waimai with MIT License | 5 votes |
@Bean public ConfigurableServletWebServerFactory webServerFactory() { TomcatServletWebServerFactory factory = new TomcatServletWebServerFactory(); factory.addConnectorCustomizers(new TomcatConnectorCustomizer() { @Override public void customize(Connector connector) { connector.setProperty("relaxedQueryChars", "|{}[]"); } }); return factory; }
Example #7
Source File: FileUploadApplication.java From parker with MIT License | 5 votes |
@Bean public TomcatServletWebServerFactory tomcatEmbedded() { TomcatServletWebServerFactory tomcat = new TomcatServletWebServerFactory(); tomcat.addConnectorCustomizers((TomcatConnectorCustomizer) connector -> { if ((connector.getProtocolHandler() instanceof AbstractHttp11Protocol<?>)) { //-1 means unlimited ((AbstractHttp11Protocol<?>) connector.getProtocolHandler()).setMaxSwallowSize(-1); } }); return tomcat; }
Example #8
Source File: WebServerConfig.java From NettyReverseProxy with Apache License 2.0 | 5 votes |
/** * tomcat配置 */ @Bean public TomcatServletWebServerFactory servletContainer() { TomcatServletWebServerFactory factory = new TomcatServletWebServerFactory(); factory.getSession().setTimeout(Duration.ofMinutes(10)); factory.addConnectorCustomizers(new TomcatConnectorCustomizer() { @Override public void customize(Connector connector) { AbstractHttp11Protocol httpProtocol = (AbstractHttp11Protocol) connector.getProtocolHandler(); httpProtocol.setCompression("on"); httpProtocol.setCompressibleMimeType("text/html,text/xml,text/plain,application/json,application/xml"); } }); return factory; }
Example #9
Source File: LealoneServletWebServerFactoryConfiguration.java From Lealone-Plugins with Apache License 2.0 | 5 votes |
@Bean LealoneTomcatServletWebServerFactory tomcatServletWebServerFactory2( ObjectProvider<TomcatConnectorCustomizer> connectorCustomizers, ObjectProvider<TomcatContextCustomizer> contextCustomizers, ObjectProvider<TomcatProtocolHandlerCustomizer<?>> protocolHandlerCustomizers) { LealoneTomcatServletWebServerFactory factory = new LealoneTomcatServletWebServerFactory(); factory.getTomcatConnectorCustomizers() .addAll(connectorCustomizers.orderedStream().collect(Collectors.toList())); factory.getTomcatContextCustomizers() .addAll(contextCustomizers.orderedStream().collect(Collectors.toList())); factory.getTomcatProtocolHandlerCustomizers() .addAll(protocolHandlerCustomizers.orderedStream().collect(Collectors.toList())); return factory; }
Example #10
Source File: HomeController.java From odo with Apache License 2.0 | 5 votes |
@Bean public TomcatConnectorCustomizer tomcatConnectorCustomizers() { return connector -> { connector.setMaxPostSize(-1); connector.setProperty("relaxedQueryChars", "<>[\\]^`{|}"); connector.setProperty("relaxedPathChars", "<>[\\]^`{|}"); }; }
Example #11
Source File: ServletWebServerInitializer.java From spring-fu with Apache License 2.0 | 4 votes |
@Override public void initialize(GenericApplicationContext context) { context.registerBean("webServerFactoryCustomizerBeanPostProcessor", WebServerFactoryCustomizerBeanPostProcessor.class, WebServerFactoryCustomizerBeanPostProcessor::new); context.registerBean(WebMvcProperties.class, () -> this.webMvcProperties); context.registerBean(ServletWebServerFactoryAutoConfiguration.BeanPostProcessorsRegistrar.class, ServletWebServerFactoryAutoConfiguration.BeanPostProcessorsRegistrar::new); context.registerBean(TomcatServletWebServerFactory.class, () -> new ServletWebServerFactoryConfiguration.EmbeddedTomcat().tomcatServletWebServerFactory( context.getBeanProvider(TomcatConnectorCustomizer.class), context.getBeanProvider(TomcatContextCustomizer.class), context.getBeanProvider(ResolvableType.forClass(TomcatProtocolHandlerCustomizer.class)))); ServletWebServerFactoryAutoConfiguration servletWebServerFactoryConfiguration = new ServletWebServerFactoryAutoConfiguration(); context.registerBean(ServletWebServerFactoryCustomizer.class, () -> servletWebServerFactoryConfiguration.servletWebServerFactoryCustomizer(serverProperties)); context.registerBean(TomcatServletWebServerFactoryCustomizer.class, () -> servletWebServerFactoryConfiguration.tomcatServletWebServerFactoryCustomizer(serverProperties)); context.registerBean(FilterRegistrationBean.class, servletWebServerFactoryConfiguration::forwardedHeaderFilter); DispatcherServletAutoConfiguration.DispatcherServletConfiguration dispatcherServletConfiguration = new DispatcherServletAutoConfiguration.DispatcherServletConfiguration(); context.registerBean(DispatcherServletAutoConfiguration.DEFAULT_DISPATCHER_SERVLET_BEAN_NAME, DispatcherServlet.class, () -> dispatcherServletConfiguration.dispatcherServlet(webMvcProperties)); context.registerBean(DispatcherServletAutoConfiguration.DEFAULT_DISPATCHER_SERVLET_REGISTRATION_BEAN_NAME, DispatcherServletRegistrationBean.class, () -> new DispatcherServletAutoConfiguration.DispatcherServletRegistrationConfiguration().dispatcherServletRegistration(context.getBean(DispatcherServletAutoConfiguration.DEFAULT_DISPATCHER_SERVLET_BEAN_NAME, DispatcherServlet.class), webMvcProperties, context.getBeanProvider(MultipartConfigElement.class))); WebMvcAutoConfiguration webMvcConfiguration = new WebMvcAutoConfiguration(); context.registerBean(OrderedHiddenHttpMethodFilter.class, webMvcConfiguration::hiddenHttpMethodFilter); Supplier<WebMvcAutoConfigurationAdapter> webMvcConfigurationAdapter = new Supplier<WebMvcAutoConfigurationAdapter>() { private WebMvcAutoConfigurationAdapter configuration; @Override public WebMvcAutoConfigurationAdapter get() { if (configuration == null) { configuration = new WebMvcAutoConfigurationAdapter(resourceProperties, webMvcProperties, context, context.getBeanProvider(HttpMessageConverters.class), context.getBeanProvider(ResourceHandlerRegistrationCustomizer.class), context.getBeanProvider(DispatcherServletPath.class)); return configuration; } return configuration; } }; context.registerBean(InternalResourceViewResolver.class, () -> webMvcConfigurationAdapter.get().defaultViewResolver()); context.registerBean(BeanNameViewResolver.class, () -> webMvcConfigurationAdapter.get().beanNameViewResolver()); context.registerBean("viewResolver", ContentNegotiatingViewResolver.class, () -> webMvcConfigurationAdapter.get().viewResolver(context)); context.registerBean(RequestContextFilter.class, WebMvcAutoConfigurationAdapter::requestContextFilter); // TODO Favicon management Supplier<EnableWebMvcConfiguration> enableWebMvcConfiguration = new Supplier<EnableWebMvcConfiguration>() { private EnableWebMvcConfiguration configuration; @Override public EnableWebMvcConfiguration get() { if (configuration == null) { configuration = new EnableWebMvcConfigurationWrapper(context.getBeanProvider(WebMvcProperties.class), context.getBeanProvider(WebMvcRegistrations.class), context); configuration.setApplicationContext(context); configuration.setServletContext(((WebApplicationContext) context).getServletContext()); configuration.setResourceLoader(context); } return configuration; } }; context.registerBean(FormattingConversionService.class, () -> enableWebMvcConfiguration.get().mvcConversionService()); context.registerBean(Validator.class, () -> enableWebMvcConfiguration.get().mvcValidator()); context.registerBean(ContentNegotiationManager.class, () -> enableWebMvcConfiguration.get().mvcContentNegotiationManager()); context.registerBean(ResourceChainResourceHandlerRegistrationCustomizer.class, () -> new ResourceChainCustomizerConfiguration().resourceHandlerRegistrationCustomizer()); context.registerBean(PathMatcher.class, () -> enableWebMvcConfiguration.get().mvcPathMatcher()); context.registerBean(UrlPathHelper.class, () -> enableWebMvcConfiguration.get().mvcUrlPathHelper()); context.registerBean(HandlerMapping.class, () -> enableWebMvcConfiguration.get().viewControllerHandlerMapping(context.getBean(FormattingConversionService.class), context.getBean(ResourceUrlProvider.class))); context.registerBean(RouterFunctionMapping.class, () -> { return enableWebMvcConfiguration.get().routerFunctionMapping(context.getBean(FormattingConversionService.class), context.getBean(ResourceUrlProvider.class)); }); context.registerBean(HandlerMapping.class, () -> enableWebMvcConfiguration.get().resourceHandlerMapping(context.getBean(ContentNegotiationManager.class), context.getBean(FormattingConversionService.class), context.getBean(ResourceUrlProvider.class))); context.registerBean(ResourceUrlProvider.class, () -> enableWebMvcConfiguration.get().mvcResourceUrlProvider()); context.registerBean(HandlerMapping.class, () -> enableWebMvcConfiguration.get().defaultServletHandlerMapping()); context.registerBean(HandlerFunctionAdapter.class, () -> enableWebMvcConfiguration.get().handlerFunctionAdapter()); context.registerBean(HttpRequestHandlerAdapter.class, () -> enableWebMvcConfiguration.get().httpRequestHandlerAdapter()); context.registerBean(SimpleControllerHandlerAdapter.class, () -> enableWebMvcConfiguration.get().simpleControllerHandlerAdapter()); context.registerBean(HandlerExceptionResolver.class, () -> enableWebMvcConfiguration.get().handlerExceptionResolver(context.getBean(ContentNegotiationManager.class))); context.registerBean(ViewResolver.class, () -> enableWebMvcConfiguration.get().mvcViewResolver(context.getBean(ContentNegotiationManager.class))); context.registerBean(HandlerMappingIntrospector.class, () -> enableWebMvcConfiguration.get().mvcHandlerMappingIntrospector(), bd -> bd.setLazyInit(true)); context.registerBean(WelcomePageHandlerMapping.class, () -> enableWebMvcConfiguration.get().welcomePageHandlerMapping(context, context.getBean(FormattingConversionService.class), context.getBean(ResourceUrlProvider.class))); context.registerBean(DispatcherServlet.LOCALE_RESOLVER_BEAN_NAME, LocaleResolver.class, () -> enableWebMvcConfiguration.get().localeResolver()); context.registerBean(DispatcherServlet.THEME_RESOLVER_BEAN_NAME, ThemeResolver.class, () -> enableWebMvcConfiguration.get().themeResolver()); context.registerBean(DispatcherServlet.FLASH_MAP_MANAGER_BEAN_NAME, FlashMapManager.class, () -> enableWebMvcConfiguration.get().flashMapManager()); context.registerBean(DispatcherServlet.REQUEST_TO_VIEW_NAME_TRANSLATOR_BEAN_NAME, RequestToViewNameTranslator.class, () -> enableWebMvcConfiguration.get().viewNameTranslator()); }
Example #12
Source File: HttpServer.java From guardedbox with GNU Affero General Public License v3.0 | 4 votes |
/** * Bean: ServletWebServerFactory. * Creates a dual port Tomcat, listening both in an http port and an https port. The http port simply redirects to the https one. * * @return TomcatServletWebServerFactory. */ @Bean public ServletWebServerFactory servletWebServerFactory() { // Check if there is dual port configuration. if (serverProperties.getInternalHttpPort() == null || serverProperties.getExternalHttpPort() == null || serverProperties.getInternalHttpsPort() == null || serverProperties.getExternalHttpsPort() == null || serverProperties.getPort().equals(serverProperties.getInternalHttpPort()) || !serverProperties.getPort().equals(serverProperties.getInternalHttpsPort())) { return new TomcatServletWebServerFactory(); } // Set TLS ECDH offered curves. if (!StringUtils.isEmpty(sslProperties.getEcdhCurves())) System.setProperty(JdkProperty.TLS_ECDH_CURVES.getPropertyName(), sslProperties.getEcdhCurves()); // Enable TLS OCSP stapling. if (sslProperties.getEnableOcspStapling() != null) System.setProperty(JdkProperty.TLS_ENABLE_OCSP_STAPLING.getPropertyName(), sslProperties.getEnableOcspStapling().toString()); // Create the https Tomcat. TomcatServletWebServerFactory tomcat = new TomcatServletWebServerFactory() { @Override protected void postProcessContext( Context context) { SecurityConstraint securityConstraint = new SecurityConstraint(); securityConstraint.setUserConstraint("CONFIDENTIAL"); SecurityCollection collection = new SecurityCollection(); collection.addPattern("/*"); securityConstraint.addCollection(collection); context.addConstraint(securityConstraint); } }; // Customize the https connector. tomcat.addConnectorCustomizers(new TomcatConnectorCustomizer() { @Override public void customize( Connector connector) { SSLHostConfig sslHostConfig = connector.findSslHostConfigs()[0]; sslHostConfig.setHonorCipherOrder(true); } }); // Add the http connector with a redirection to the https port. Connector httpConnector = new Connector(TomcatServletWebServerFactory.DEFAULT_PROTOCOL); httpConnector.setScheme("http"); httpConnector.setPort(serverProperties.getInternalHttpPort()); httpConnector.setSecure(false); httpConnector.setRedirectPort(serverProperties.getExternalHttpsPort()); tomcat.addAdditionalTomcatConnectors(httpConnector); return tomcat; }