From 414e50f402e2174e77385fee3e4742eb5b3c95f6 Mon Sep 17 00:00:00 2001 From: Johnny Lim Date: Thu, 11 Oct 2018 13:01:44 +0900 Subject: [PATCH] Confirm WebServerFactoryCustomizer's execution order This commit confirms WebServerFactoryCustomizer's execution precedes other bean creations. See https://github.com/micrometer-metrics/micrometer/issues/911 --- .../com/izeye/sample/config/JettyConfig.java | 37 +++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 src/main/java/com/izeye/sample/config/JettyConfig.java diff --git a/src/main/java/com/izeye/sample/config/JettyConfig.java b/src/main/java/com/izeye/sample/config/JettyConfig.java new file mode 100644 index 0000000..451b7ea --- /dev/null +++ b/src/main/java/com/izeye/sample/config/JettyConfig.java @@ -0,0 +1,37 @@ +package com.izeye.sample.config; + +import org.springframework.boot.web.embedded.jetty.ConfigurableJettyWebServerFactory; +import org.springframework.boot.web.server.WebServerFactoryCustomizer; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +import org.eclipse.jetty.server.Server; +import org.eclipse.jetty.util.thread.ThreadPool; + +/** + * Configuration for Jetty. + * + * @author Johnny Lim + */ +@Configuration +public class JettyConfig { + + private volatile Server server; + + @Bean + public WebServerFactoryCustomizer jettyCustomizer() { + return (jetty) -> { + jetty.addServerCustomizers(this::setServer); + }; + } + + @Bean + public ThreadPool jettyThreadPool() { + return this.server.getThreadPool(); + } + + private void setServer(Server server) { + this.server = server; + } + +}