@SuppressWarnings("unchecked") private void postProcessBeforeInitialization(WebServerFactory webServerFactory) { LambdaSafe .callbacks(WebServerFactoryCustomizer.class, getCustomizers(), webServerFactory) .withLogger(WebServerFactoryCustomizerBeanPostProcessor.class) .invoke((customizer) -> customizer.customize(webServerFactory)); }
@SuppressWarnings("unchecked") private void invokeCustomizers(T factory, List<WebServerFactoryCustomizer<?>> customizers) { LambdaSafe.callbacks(WebServerFactoryCustomizer.class, customizers, factory) .invoke((customizer) -> customizer.customize(factory)); }
@Test public void customize() throws IOException { UndertowServletWebServerFactory factory = new UndertowServletWebServerFactory(); this.undertowAutoConfiguration.jsfUndertowFactoryCustomizer().customize(factory); UndertowDeploymentInfoCustomizer undertowDeploymentInfoCustomizer = factory.getDeploymentInfoCustomizers().iterator().next(); DeploymentInfo deploymentInfo = new DeploymentInfo(); deploymentInfo.setClassLoader(this.getClass().getClassLoader()); undertowDeploymentInfoCustomizer.customize(deploymentInfo); assertThat(deploymentInfo.getResourceManager().getResource("testUndertow.txt")) .isNotNull(); } }
@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(); }
@Test public void customize() { JettyServletWebServerFactory factory = new JettyServletWebServerFactory(); this.jettyAutoConfiguration.jsfJettyFactoryCustomizer().customize(factory); Server server = ((JettyWebServer) factory.getWebServer()).getServer(); Handler[] childHandlersByClass = server.getChildHandlersByClass(WebAppContext.class); WebAppContext webAppContext = (WebAppContext) childHandlersByClass[0]; assertThat(webAppContext.getBaseResource().getResource("testJetty.txt").exists()) .isTrue(); } }