From 38b70859606e66aff51bab9a6d0c7b3784e346d3 Mon Sep 17 00:00:00 2001 From: liaozan <378024053@qq.com> Date: Wed, 1 Nov 2023 20:39:20 +0800 Subject: [PATCH] Remove spring-boot-admin instead of micrometer-registry-prometheus --- .../schbrain/common/util/IpAddressHolder.java | 8 +++- pom.xml | 11 ------ .../logger/JSONLoggingInitializer.java | 2 +- .../LoggingConfigLoadedEventListener.java | 2 +- .../xxl/properties/XxlJobProperties.java | 2 +- support/schbrain-spring-support/pom.xml | 10 ++--- .../spring/admin/AdminApplicationFactory.java | 38 ------------------- ...ringBootAdminFeatureAutoConfiguration.java | 35 ----------------- ...ultPropertiesEnvironmentPostProcessor.java | 3 -- ...ot.autoconfigure.AutoConfiguration.imports | 1 - 10 files changed, 12 insertions(+), 100 deletions(-) delete mode 100644 support/schbrain-spring-support/src/main/java/com/schbrain/framework/support/spring/admin/AdminApplicationFactory.java delete mode 100644 support/schbrain-spring-support/src/main/java/com/schbrain/framework/support/spring/admin/SpringBootAdminFeatureAutoConfiguration.java diff --git a/commons/common-util/src/main/java/com/schbrain/common/util/IpAddressHolder.java b/commons/common-util/src/main/java/com/schbrain/common/util/IpAddressHolder.java index c989e67..6b52bcf 100644 --- a/commons/common-util/src/main/java/com/schbrain/common/util/IpAddressHolder.java +++ b/commons/common-util/src/main/java/com/schbrain/common/util/IpAddressHolder.java @@ -17,8 +17,12 @@ public class IpAddressHolder { private static final String POD_IP = System.getenv("POD_IP"); private static final String LOCAL_IP = Optional.ofNullable(findFirstNonLoopBackAddress()).map(InetAddress::getHostAddress).orElse("127.0.0.1"); - public static String getIpAddress() { - return POD_IP == null ? LOCAL_IP : POD_IP; + public static String getLocalIp() { + return getLocalIp(LOCAL_IP); + } + + public static String getLocalIp(String fallback) { + return POD_IP == null ? fallback : POD_IP; } private static InetAddress findFirstNonLoopBackAddress() { diff --git a/pom.xml b/pom.xml index 1808b63..076c8a5 100644 --- a/pom.xml +++ b/pom.xml @@ -87,7 +87,6 @@ 5.3.3 3.18.0 9.0.0 - 2.7.11 0.10.4 2.0.2 3.9.1 @@ -423,16 +422,6 @@ apm-toolkit-logback-1.x ${skywalking-tooklit.version} - - de.codecentric - spring-boot-admin-starter-server - ${spring-boot-admin.version} - - - de.codecentric - spring-boot-admin-starter-client - ${spring-boot-admin.version} - io.vavr vavr diff --git a/starters/logger-spring-boot-starter/src/main/java/com/schbrain/framework/autoconfigure/logger/JSONLoggingInitializer.java b/starters/logger-spring-boot-starter/src/main/java/com/schbrain/framework/autoconfigure/logger/JSONLoggingInitializer.java index 92705cb..75eb0cf 100644 --- a/starters/logger-spring-boot-starter/src/main/java/com/schbrain/framework/autoconfigure/logger/JSONLoggingInitializer.java +++ b/starters/logger-spring-boot-starter/src/main/java/com/schbrain/framework/autoconfigure/logger/JSONLoggingInitializer.java @@ -127,7 +127,7 @@ public class JSONLoggingInitializer { private String getCustomFields() { JSONObject customFields = new JSONObject(); customFields.set("appName", applicationName); - customFields.set("podIp", IpAddressHolder.getIpAddress()); + customFields.set("podIp", IpAddressHolder.getLocalIp()); return customFields.toString(); } diff --git a/starters/logger-spring-boot-starter/src/main/java/com/schbrain/framework/autoconfigure/logger/listener/LoggingConfigLoadedEventListener.java b/starters/logger-spring-boot-starter/src/main/java/com/schbrain/framework/autoconfigure/logger/listener/LoggingConfigLoadedEventListener.java index 298a8a6..661a854 100644 --- a/starters/logger-spring-boot-starter/src/main/java/com/schbrain/framework/autoconfigure/logger/listener/LoggingConfigLoadedEventListener.java +++ b/starters/logger-spring-boot-starter/src/main/java/com/schbrain/framework/autoconfigure/logger/listener/LoggingConfigLoadedEventListener.java @@ -44,7 +44,7 @@ public class LoggingConfigLoadedEventListener extends ConfigLoadedEventListenerA * hostInfo properties, for logging pattern, used in logback-spring.xml */ private Map buildIpAddressProperties() { - return Map.of("application.ipAddress", IpAddressHolder.getIpAddress()); + return Map.of("application.ipAddress", IpAddressHolder.getLocalIp()); } /** diff --git a/starters/xxl-job-spring-boot-starter/src/main/java/com/schbrain/framework/autoconfigure/xxl/properties/XxlJobProperties.java b/starters/xxl-job-spring-boot-starter/src/main/java/com/schbrain/framework/autoconfigure/xxl/properties/XxlJobProperties.java index 8e24756..af4b291 100644 --- a/starters/xxl-job-spring-boot-starter/src/main/java/com/schbrain/framework/autoconfigure/xxl/properties/XxlJobProperties.java +++ b/starters/xxl-job-spring-boot-starter/src/main/java/com/schbrain/framework/autoconfigure/xxl/properties/XxlJobProperties.java @@ -15,7 +15,7 @@ public class XxlJobProperties implements ConfigurableProperties { private String adminAddresses; - private String ip = IpAddressHolder.getIpAddress(); + private String ip = IpAddressHolder.getLocalIp(); private int port = -1; diff --git a/support/schbrain-spring-support/pom.xml b/support/schbrain-spring-support/pom.xml index d7de96b..ca7b4e3 100644 --- a/support/schbrain-spring-support/pom.xml +++ b/support/schbrain-spring-support/pom.xml @@ -24,20 +24,16 @@ org.springframework.boot - spring-boot-starter-web + spring-boot-starter-actuator - org.springframework.boot - spring-boot-starter-actuator + io.micrometer + micrometer-registry-prometheus org.springframework.boot spring-boot-configuration-processor - - de.codecentric - spring-boot-admin-starter-client - org.springframework.boot spring-boot-properties-migrator diff --git a/support/schbrain-spring-support/src/main/java/com/schbrain/framework/support/spring/admin/AdminApplicationFactory.java b/support/schbrain-spring-support/src/main/java/com/schbrain/framework/support/spring/admin/AdminApplicationFactory.java deleted file mode 100644 index e8d028b..0000000 --- a/support/schbrain-spring-support/src/main/java/com/schbrain/framework/support/spring/admin/AdminApplicationFactory.java +++ /dev/null @@ -1,38 +0,0 @@ -package com.schbrain.framework.support.spring.admin; - -import com.schbrain.common.util.IpAddressHolder; -import de.codecentric.boot.admin.client.config.InstanceProperties; -import de.codecentric.boot.admin.client.registration.ServletApplicationFactory; -import de.codecentric.boot.admin.client.registration.metadata.MetadataContributor; -import org.springframework.boot.actuate.autoconfigure.endpoint.web.WebEndpointProperties; -import org.springframework.boot.actuate.autoconfigure.web.server.ManagementServerProperties; -import org.springframework.boot.actuate.endpoint.web.PathMappedEndpoints; -import org.springframework.boot.autoconfigure.web.ServerProperties; -import org.springframework.boot.autoconfigure.web.servlet.DispatcherServletPath; - -import javax.servlet.ServletContext; - -/** - * @author liaozan - * @since 2023/10/26 - */ -public class AdminApplicationFactory extends ServletApplicationFactory { - - public AdminApplicationFactory(InstanceProperties instance, ManagementServerProperties management, - ServerProperties server, ServletContext servletContext, PathMappedEndpoints pathMappedEndpoints, - WebEndpointProperties webEndpoint, MetadataContributor metadataContributor, - DispatcherServletPath dispatcherServletPath) { - super(instance, management, server, servletContext, pathMappedEndpoints, webEndpoint, metadataContributor, dispatcherServletPath); - } - - @Override - protected String getServiceHost() { - return IpAddressHolder.getIpAddress(); - } - - @Override - protected String getManagementHost() { - return IpAddressHolder.getIpAddress(); - } - -} diff --git a/support/schbrain-spring-support/src/main/java/com/schbrain/framework/support/spring/admin/SpringBootAdminFeatureAutoConfiguration.java b/support/schbrain-spring-support/src/main/java/com/schbrain/framework/support/spring/admin/SpringBootAdminFeatureAutoConfiguration.java deleted file mode 100644 index 49efe24..0000000 --- a/support/schbrain-spring-support/src/main/java/com/schbrain/framework/support/spring/admin/SpringBootAdminFeatureAutoConfiguration.java +++ /dev/null @@ -1,35 +0,0 @@ -package com.schbrain.framework.support.spring.admin; - -import de.codecentric.boot.admin.client.config.InstanceProperties; -import de.codecentric.boot.admin.client.config.SpringBootAdminClientAutoConfiguration; -import de.codecentric.boot.admin.client.registration.ApplicationFactory; -import de.codecentric.boot.admin.client.registration.metadata.MetadataContributor; -import org.springframework.boot.actuate.autoconfigure.endpoint.web.WebEndpointProperties; -import org.springframework.boot.actuate.autoconfigure.web.server.ManagementServerProperties; -import org.springframework.boot.actuate.endpoint.web.PathMappedEndpoints; -import org.springframework.boot.autoconfigure.AutoConfiguration; -import org.springframework.boot.autoconfigure.condition.ConditionalOnCloudPlatform; -import org.springframework.boot.autoconfigure.web.ServerProperties; -import org.springframework.boot.autoconfigure.web.servlet.DispatcherServletPath; -import org.springframework.boot.cloud.CloudPlatform; -import org.springframework.context.annotation.Bean; - -import javax.servlet.ServletContext; - -/** - * @author liaozan - * @since 2023/10/26 - */ -@AutoConfiguration(before = SpringBootAdminClientAutoConfiguration.class) -@ConditionalOnCloudPlatform(CloudPlatform.KUBERNETES) -public class SpringBootAdminFeatureAutoConfiguration { - - @Bean - public ApplicationFactory applicationFactory(InstanceProperties instance, ManagementServerProperties management, - ServerProperties server, ServletContext servletContext, PathMappedEndpoints pathMappedEndpoints, - WebEndpointProperties webEndpoint, MetadataContributor metadataContributor, - DispatcherServletPath dispatcherServletPath) { - return new AdminApplicationFactory(instance, management, server, servletContext, pathMappedEndpoints, webEndpoint, metadataContributor, dispatcherServletPath); - } - -} diff --git a/support/schbrain-spring-support/src/main/java/com/schbrain/framework/support/spring/env/DefaultPropertiesEnvironmentPostProcessor.java b/support/schbrain-spring-support/src/main/java/com/schbrain/framework/support/spring/env/DefaultPropertiesEnvironmentPostProcessor.java index 0b0ba2c..dd26945 100644 --- a/support/schbrain-spring-support/src/main/java/com/schbrain/framework/support/spring/env/DefaultPropertiesEnvironmentPostProcessor.java +++ b/support/schbrain-spring-support/src/main/java/com/schbrain/framework/support/spring/env/DefaultPropertiesEnvironmentPostProcessor.java @@ -68,9 +68,6 @@ public class DefaultPropertiesEnvironmentPostProcessor extends LoggerAwareEnviro defaultProperties.put("spring.main.allow-circular-references", true); defaultProperties.put("spring.main.banner-mode", Banner.Mode.OFF.name()); defaultProperties.put("server.shutdown", Shutdown.GRACEFUL.name()); - if (EnvUtils.runningOnCloudPlatform(environment)) { - defaultProperties.put("spring.boot.admin.client.url", "http://spring-boot-admin-server.devops:8019"); - } DefaultPropertiesPropertySource.addOrMerge(defaultProperties, environment.getPropertySources()); } diff --git a/support/schbrain-spring-support/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/support/schbrain-spring-support/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports index 31bc5ac..89f8c31 100644 --- a/support/schbrain-spring-support/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports +++ b/support/schbrain-spring-support/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports @@ -1,3 +1,2 @@ -com.schbrain.framework.support.spring.admin.SpringBootAdminFeatureAutoConfiguration com.schbrain.framework.support.spring.elasticsearch.ElasticsearchFeatureAutoConfiguration com.schbrain.framework.support.spring.redisson.RedissonFeatureAutoConfiguration -- GitLab