/** * Purge access log customizer embedded servlet container customizer. * * @param serverProperties the server properties * @param purgeProperties the purge properties * @return the embedded servlet container customizer */ @Bean public EmbeddedServletContainerCustomizer purgeAccessLogCustomizer( final ServerProperties serverProperties, final PurgeProperties purgeProperties) { return container -> { final UndertowEmbeddedServletContainerFactory factory = (UndertowEmbeddedServletContainerFactory) container; final Undertow.Accesslog accesslog = serverProperties.getUndertow() .getAccesslog(); final UndertowPurgeAccessLogHolder accessLogHolder = new UndertowPurgeAccessLogHolder( purgeProperties, accesslog.getDir().toPath(), accesslog.getPrefix(), accesslog.getSuffix()); factory.addDeploymentInfoCustomizers(accessLogHolder); }; }
/** * Purge access log customizer embedded servlet container customizer. * * @param serverProperties the server properties * @param purgeProperties the purge properties * @return the embedded servlet container customizer */ @Bean public EmbeddedServletContainerCustomizer purgeAccessLogCustomizer( final ServerProperties serverProperties, final PurgeProperties purgeProperties) { return container -> { final TomcatEmbeddedServletContainerFactory factory = (TomcatEmbeddedServletContainerFactory) container; final Accesslog accesslog = serverProperties.getTomcat().getAccesslog(); factory.getEngineValves().stream() .filter(valve -> valve instanceof AccessLogValve) .map(valve -> (AccessLogValve) valve).findFirst() .ifPresent(valve -> { final TomcatPurgeAccessLogHolder accessLogHolder = new TomcatPurgeAccessLogHolder( purgeProperties, Paths.get(accesslog.getDirectory()), accesslog.getPrefix(), accesslog.getSuffix(), valve); factory.addContextCustomizers(accessLogHolder); }); }; }
@Bean public EmbeddedServletContainerCustomizer containerCustomizer() { return (container -> { ErrorPage error401Page = new ErrorPage(HttpStatus.UNAUTHORIZED, "/401.html"); ErrorPage error404Page = new ErrorPage(HttpStatus.NOT_FOUND, "/404.html"); ErrorPage error500Page = new ErrorPage(HttpStatus.INTERNAL_SERVER_ERROR, "/500.html"); container.addErrorPages(error401Page, error404Page, error500Page); }); }
@Bean public EmbeddedServletContainerCustomizer cookieProcessorCustomizer() { return new EmbeddedServletContainerCustomizer() { @Override public void customize(ConfigurableEmbeddedServletContainer container) { if (container instanceof TomcatEmbeddedServletContainerFactory) { TomcatEmbeddedServletContainerFactory factory = (TomcatEmbeddedServletContainerFactory) container; factory.addContextCustomizers(new TomcatContextCustomizer() { @Override public void customize(Context context) { context.setCookieProcessor(new LegacyCookieProcessor()); } }); } } }; }
@Bean @Profile("!docker") public EmbeddedServletContainerCustomizer embeddedServletContainerCustomizer() { return (container -> { container.setContextPath(lyreProperties.getContextPath()); if (!lyreProperties.isEnableRemoteConnections()) { try { InetAddress inetAddress = InetAddress.getByAddress(new byte[]{127, 0, 0, 1}); container.setAddress(inetAddress); } catch (UnknownHostException e) { //supressed exception } } container.setPort(lyreProperties.getPort()); }); }
@Bean public EmbeddedServletContainerCustomizer embeddedServletContainerTest() { return (container -> { lyreProperties.setPort(8080); container.setContextPath(lyreProperties.getContextPath()); if (!lyreProperties.isEnableRemoteConnections()) { try { InetAddress inetAddress = InetAddress.getByAddress(new byte[]{127, 0, 0, 1}); container.setAddress(inetAddress); } catch (UnknownHostException e) { //supressed exception } } container.setPort(lyreProperties.getPort()); }); }
@Bean public EmbeddedServletContainerCustomizer containerCustomizer() { return new EmbeddedServletContainerCustomizer() { @Override public void customize(ConfigurableEmbeddedServletContainer container) { ErrorPage page404 = new ErrorPage(HttpStatus.NOT_FOUND,"/404"); container.addErrorPages(page404); } }; // return (container -> { // ErrorPage error401Page = new ErrorPage(HttpStatus.UNAUTHORIZED, "/401.html"); // ErrorPage error404Page = new ErrorPage(HttpStatus.NOT_FOUND, "/404.html"); // ErrorPage error500Page = new ErrorPage(HttpStatus.INTERNAL_SERVER_ERROR, "/500.html"); // // container.addErrorPages(error401Page, error404Page, error500Page); // }); }
@Bean public EmbeddedServletContainerCustomizer embeddedServletContainerCustomizer() { return new EmbeddedServletContainerCustomizer() { @Override public void customize(ConfigurableEmbeddedServletContainer container) { if (container instanceof TomcatEmbeddedServletContainerFactory) { TomcatEmbeddedServletContainerFactory tomcatEmbeddedServletContainerFactory = (TomcatEmbeddedServletContainerFactory) container; RedisSessionHandlerValve valve = new RedisSessionHandlerValve(); List<RedisSessionHandlerValve> valves = new ArrayList<RedisSessionHandlerValve>(); valves.add(0, valve); tomcatEmbeddedServletContainerFactory.setContextValves(valves); tomcatEmbeddedServletContainerFactory.setPort(28080); // Set the port of embeded tomcat as 28080 for default. System.out.println("Enterring EmbeddedServletContainerCustomizer.customize()..."); tomcatEmbeddedServletContainerFactory.addContextCustomizers( new ServletContainerCustomizer()); } } }; }
@Bean public EmbeddedServletContainerCustomizer embeddedServletContainerCustomizer() { return new EmbeddedServletContainerCustomizer() { @Value("${application.port}") private int embeddedServletContainerListenPort; @Override public void customize(ConfigurableEmbeddedServletContainer container) { if (container instanceof TomcatEmbeddedServletContainerFactory) { TomcatEmbeddedServletContainerFactory tomcatEmbeddedServletContainerFactory = (TomcatEmbeddedServletContainerFactory) container; if (embeddedServletContainerListenPort <= 1024 || embeddedServletContainerListenPort > 65535) { throw new IllegalArgumentException("The value of \"application.port\" in the properties file is invalid."); } tomcatEmbeddedServletContainerFactory.setPort(embeddedServletContainerListenPort); } } }; }
@Bean public EmbeddedServletContainerCustomizer servletContainerCustomizer() { return new EmbeddedServletContainerCustomizer() { @Override public void customize(final ConfigurableEmbeddedServletContainer servletContainer) { final TomcatEmbeddedServletContainerFactory tomcatContainerFactory = (TomcatEmbeddedServletContainerFactory)servletContainer; tomcatContainerFactory.addConnectorCustomizers(new TomcatConnectorCustomizer() { @Override public void customize(final Connector connector) { final AbstractHttp11Protocol<?> httpProtocol = (AbstractHttp11Protocol<?>)connector.getProtocolHandler(); httpProtocol.setCompression("on"); httpProtocol.setCompressionMinSize(256); final String mimeTypes = httpProtocol.getCompressibleMimeType(); final String mimeTypesWithJson = mimeTypes + "," + MediaType.APPLICATION_JSON_VALUE + ",application/javascript"; httpProtocol.setCompressibleMimeType(mimeTypesWithJson); } }); } }; }
@Bean @Autowired public EmbeddedServletContainerCustomizer servletContainerCustomizer(ServerProperties properties) { return container -> { if (container instanceof JettyEmbeddedServletContainerFactory) { JettyEmbeddedServletContainerFactory jettyContainer = (JettyEmbeddedServletContainerFactory) container; jettyContainer.addConfigurations(new AbstractConfiguration() { @Override public void configure(WebAppContext context) throws Exception { properties.getContextParameters().forEach((k, v) -> context.setInitParameter(k, v)); } }); } }; }
/** * Container customizer. Configures the embedded tomcat (e.g. post size) * * @return the embedded servlet container customizer * @throws Exception the exception */ @Bean public EmbeddedServletContainerCustomizer containerCustomizer( ) throws Exception { return new EmbeddedServletContainerCustomizer() { @Override public void customize(ConfigurableEmbeddedServletContainer container) { if (container instanceof TomcatEmbeddedServletContainerFactory) { TomcatEmbeddedServletContainerFactory tomcat = (TomcatEmbeddedServletContainerFactory) container; tomcat.addConnectorCustomizers( new TomcatConnectorCustomizer() { @Override public void customize(Connector connector) { connector.setMaxPostSize(20000000);//20MB } } ); } } }; }
@Bean public EmbeddedServletContainerCustomizer disableServerHeader() { return container -> { if (container instanceof JettyEmbeddedServletContainerFactory) { ((JettyEmbeddedServletContainerFactory) container).addServerCustomizers(new JettyServerCustomizer() { @Override public void customize(Server server) { for (Connector connector : server.getConnectors()) { if (connector instanceof ServerConnector) { HttpConnectionFactory connectionFactory = connector.getConnectionFactory(HttpConnectionFactory.class); connectionFactory.getHttpConfiguration().setSendServerVersion(false); } } } }); } }; }
@Bean public EmbeddedServletContainerCustomizer servletContainerCustomizer() { return servletContainer -> { addMimeMappingsForFonts(servletContainer); TomcatEmbeddedServletContainerFactory container = (TomcatEmbeddedServletContainerFactory) servletContainer; container.setRegisterJspServlet(false); container.addContextCustomizers(customizer -> customizer.addWelcomeFile("index.html")); container.addConnectorCustomizers( connector -> { AbstractHttp11Protocol httpProtocol = (AbstractHttp11Protocol) connector.getProtocolHandler(); httpProtocol.setCompression("on"); httpProtocol.setCompressionMinSize(256); httpProtocol.setCompressableMimeTypes(COMPRESSIBLE_MEDIA_TYPES); } ); }; }
@Bean public EmbeddedServletContainerCustomizer customizer() { return new EmbeddedServletContainerCustomizer() { @Override public void customize(ConfigurableEmbeddedServletContainer container) { TomcatEmbeddedServletContainerFactory tomcat = (TomcatEmbeddedServletContainerFactory) container; TomcatContextCustomizer contextCustomizer = new TomcatContextCustomizer() { @Override public void customize(Context context) { context.setCookieProcessor(new LegacyCookieProcessor()); } }; tomcat.addContextCustomizers(contextCustomizer); } }; }
@Bean public EmbeddedServletContainerCustomizer servletContainerCustomizer(){ return configurableEmbeddedServletContainer -> ((TomcatEmbeddedServletContainerFactory) configurableEmbeddedServletContainer).addConnectorCustomizers( new TomcatConnectorCustomizer() { @Override public void customize(Connector connector) { AbstractHttp11Protocol httpProtocol = (AbstractHttp11Protocol) connector.getProtocolHandler(); httpProtocol.setCompression("on"); httpProtocol.setCompressionMinSize(256); String mimeTypes = httpProtocol.getCompressableMimeTypes(); String mimeTypesWithJson = mimeTypes + "," + MediaType.APPLICATION_JSON_VALUE; httpProtocol.setCompressableMimeTypes(mimeTypesWithJson); } } ); }
@Bean public EmbeddedServletContainerCustomizer embeddedServletContainerCustomizer() { return new EmbeddedServletContainerCustomizer() { @Override public void customize(final ConfigurableEmbeddedServletContainer container) { if (container instanceof TomcatEmbeddedServletContainerFactory) { TomcatEmbeddedServletContainerFactory tomcat = (TomcatEmbeddedServletContainerFactory) container; for (TomcatConnectorCustomizer customizer : tomcatConnectorCustomizers) { tomcat.addConnectorCustomizers(customizer); } } } }; }
@Bean public EmbeddedServletContainerCustomizer containerCustomizer() { return factory -> { TomcatEmbeddedServletContainerFactory containerFactory = (TomcatEmbeddedServletContainerFactory) factory; containerFactory.setTomcatContextCustomizers(Arrays.asList(context -> { final PersistentManager persistentManager = new PersistentManager(); final FileStore store = new FileStore(); final String sessionDirectory = makeSessionDirectory(); log.info("Writing sessions to " + sessionDirectory); store.setDirectory(sessionDirectory); persistentManager.setStore(store); context.setManager(persistentManager); })); }; }
@Bean public EmbeddedServletContainerCustomizer containerCustomizer() { if (highAvailability) { logger.info("Setting up high availability configuration"); return factory -> { logger.info("Customizing Tomcat container"); TomcatEmbeddedServletContainerFactory containerFactory = (TomcatEmbeddedServletContainerFactory) factory; TomcatContextCustomizer tomcatContextCustomizer = context -> { context.setSessionTimeout(30); context.setManager(new MemcachedBackupSessionManager() {{ setMemcachedNodes(nodes); setFailoverNodes(failover); setRequestUriIgnorePattern(".*\\.(ico|png|gif|jpg|css|js)$"); }}); }; containerFactory.setTomcatContextCustomizers(Collections.singletonList(tomcatContextCustomizer)); setMimeMappings(factory); }; } else { logger.info("Skipping HA configuration"); return this::setMimeMappings; } }
@Bean public EmbeddedServletContainerCustomizer containerCustomizer() { return new EmbeddedServletContainerCustomizer() { @Override public void customize(ConfigurableEmbeddedServletContainer container) { ErrorPage error404Page = new ErrorPage(HttpStatus.NOT_FOUND, "/404.html"); container.addErrorPages(error404Page); } }; }
@Bean public EmbeddedServletContainerCustomizer containerCustomizer() { return container -> { container.addErrorPages( new ErrorPage(HttpStatus.NOT_FOUND, "/404") ); }; }
@Bean EmbeddedServletContainerCustomizer containerCustomizer() throws Exception { return (ConfigurableEmbeddedServletContainer container) -> { if (container instanceof TomcatEmbeddedServletContainerFactory) { TomcatEmbeddedServletContainerFactory tomcat = (TomcatEmbeddedServletContainerFactory) container; tomcat.addConnectorCustomizers( (connector) -> { connector.setMaxPostSize(1000000000); // 1000 MB } ); } }; }
@Bean public EmbeddedServletContainerCustomizer containerCustomizer() { return (container -> { ErrorPage error404Page = new ErrorPage(HttpStatus.NOT_FOUND, "/404.html"); container.addErrorPages(error404Page); }); }
@Bean public EmbeddedServletContainerCustomizer containerCustomizer() { return new EmbeddedServletContainerCustomizer() { @Override public void customize(ConfigurableEmbeddedServletContainer container) { ErrorPage error = new ErrorPage("/error.html"); container.addErrorPages(error); } }; }
@Bean public EmbeddedServletContainerCustomizer containerCustomizer() { return (container -> { ErrorPage error404Page = new ErrorPage(HttpStatus.NOT_FOUND, "/"); container.addErrorPages(error404Page); }); }
@Bean public EmbeddedServletContainerCustomizer containerCustomizer() { return new EmbeddedServletContainerCustomizer() { @Override public void customize(ConfigurableEmbeddedServletContainer container) { ErrorPage error404Page = new ErrorPage(HttpStatus.NOT_FOUND, "/404"); ErrorPage error500Page = new ErrorPage(HttpStatus.INTERNAL_SERVER_ERROR, "/500"); container.addErrorPages(error404Page); container.addErrorPages(error500Page); } }; }
@Bean public EmbeddedServletContainerCustomizer tomcatCustomizer() { return new EmbeddedServletContainerCustomizer() { @Override public void customize(ConfigurableEmbeddedServletContainer container) { if (container instanceof TomcatEmbeddedServletContainerFactory) { ((TomcatEmbeddedServletContainerFactory) container) .addConnectorCustomizers(gracefulShutdown()); } } }; }
@Bean @ConditionalOnClass({EmbeddedServletContainerFactory.class }) public EmbeddedServletContainerCustomizer tomcatContainerCustomizer() { return container -> { TomcatEmbeddedServletContainerFactory tomcat = (TomcatEmbeddedServletContainerFactory) container; tomcat.setTldSkip("*.jar"); }; }
@Bean public EmbeddedServletContainerCustomizer containerCustomizer() { return container -> { if (config.getServer().getHost() != null) { try { container.setAddress(InetAddress.getByName(config.getServer().getHost())); } catch (UnknownHostException e) { e.printStackTrace(); throw new RuntimeException(e); } } container.setPort(config.getServer().getPort()); container.setSsl(config.getSsl()); }; }
/** * 自定义异常页 */ @Bean public EmbeddedServletContainerCustomizer containerCustomizer() { return (container -> { ErrorPage error403Page = new ErrorPage(HttpStatus.FORBIDDEN, "/403"); ErrorPage error404Page = new ErrorPage(HttpStatus.NOT_FOUND, "/404"); ErrorPage error500Page = new ErrorPage(HttpStatus.INTERNAL_SERVER_ERROR, "/500"); container.addErrorPages(error403Page, error404Page, error500Page); }); }
@Bean public EmbeddedServletContainerCustomizer containerCustomizer() { return new EmbeddedServletContainerCustomizer() { @Override public void customize(ConfigurableEmbeddedServletContainer container) { container.setPort(cmdLineResult.getPort()); } }; }
@Bean public EmbeddedServletContainerCustomizer containerCustomizer() { return new EmbeddedServletContainerCustomizer() { @Override public void customize(ConfigurableEmbeddedServletContainer container) { ErrorPage error404Page = new ErrorPage(HttpStatus.NOT_FOUND, "/pageNotFound"); container.addErrorPages(error404Page); } }; }
@Bean public EmbeddedServletContainerCustomizer embeddedServletContainerCustomizer() { return new EmbeddedServletContainerCustomizer() { @Override public void customize(ConfigurableEmbeddedServletContainer container) { System.err.println("Customizing embeddedServlet container "); container.setSessionTimeout(1, TimeUnit.SECONDS); container.setPort(8084);// on which port embedded tomcat should run container.setContextPath("/spring-web-practice");// This is to make in sync with direct TOMCAT deployment and embedded server deployment } }; }
@Bean public EmbeddedServletContainerCustomizer containerCustomizer() { return container -> { container.addErrorPages(new ErrorPage(HttpStatus.NOT_FOUND, "/404.html")); container.addErrorPages(new ErrorPage(HttpStatus.INTERNAL_SERVER_ERROR, "/error.html")); }; }
@Bean public EmbeddedServletContainerCustomizer containerCustomizer() { return new EmbeddedServletContainerCustomizer() { @Override public void customize(ConfigurableEmbeddedServletContainer container) { container.setPort(3000); } }; }
@Bean public EmbeddedServletContainerCustomizer containerCustomizer() { return new EmbeddedServletContainerCustomizer() { @Override public void customize(ConfigurableEmbeddedServletContainer container) { ErrorPage error404Page = new ErrorPage(HttpStatus.NOT_FOUND, "/web/error/404"); container.addErrorPages(error404Page); } }; }