From 944725e5b345d8c20f64556d4f8e2d755083a69f Mon Sep 17 00:00:00 2001 From: StarBlues Date: Sun, 4 Dec 2022 13:56:31 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=8F=92=E4=BB=B6Profiles?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../bootstrap/ConfigurePluginEnvironment.java | 50 +++++++++++-------- .../PluginOneselfSpringApplication.java | 6 +++ .../bootstrap/PluginSpringApplication.java | 6 +++ 3 files changed, 42 insertions(+), 20 deletions(-) diff --git a/spring-brick-bootstrap/src/main/java/com/gitee/starblues/bootstrap/ConfigurePluginEnvironment.java b/spring-brick-bootstrap/src/main/java/com/gitee/starblues/bootstrap/ConfigurePluginEnvironment.java index 69433a0..3a05409 100644 --- a/spring-brick-bootstrap/src/main/java/com/gitee/starblues/bootstrap/ConfigurePluginEnvironment.java +++ b/spring-brick-bootstrap/src/main/java/com/gitee/starblues/bootstrap/ConfigurePluginEnvironment.java @@ -103,13 +103,20 @@ public class ConfigurePluginEnvironment { environment.getPropertySources().addFirst(new MapPropertySource(PLUGIN_PROPERTY_NAME, env)); } - private String getConfigFileLocation(String configFileLocation){ - String path = FilesUtils.resolveRelativePath(new File("").getAbsolutePath(), configFileLocation); - // 拼接最后字符斜杠 - if(path.endsWith(FilesUtils.SLASH) || path.endsWith(File.separator)){ - return path; + public void logProfiles(ConfigurableEnvironment environment){ + IntegrationConfiguration configuration = processorContext.getConfiguration(); + String fromMainMsg = configuration.pluginFollowProfile() ? " from main" : " "; + String[] activeProfiles = environment.getActiveProfiles(); + if(activeProfiles.length > 0){ + logger.info("Plugin[{}] following profiles are active{}: {}", + MsgUtils.getPluginUnique(pluginDescriptor), + fromMainMsg, + StringUtils.toStrByArray(activeProfiles)); } else { - return path + File.separator; + logger.info("Plugin[{}] No active profile set, falling back to default profiles{}: {}", + MsgUtils.getPluginUnique(pluginDescriptor), + fromMainMsg, + StringUtils.toStrByArray(environment.getDefaultProfiles())); } } @@ -119,21 +126,24 @@ public class ConfigurePluginEnvironment { return; } MainApplicationContext mainApplicationContext = processorContext.getMainApplicationContext(); - String[] activeProfiles = environment.getActiveProfiles(); - if(activeProfiles.length > 0){ - logger.info("Plugin[{}] following profiles are active: {}", - MsgUtils.getPluginUnique(pluginDescriptor), StringUtils.toStrByArray(activeProfiles)); + String[] mainActiveProfiles = mainApplicationContext.getActiveProfiles(); + if(mainActiveProfiles.length > 0){ + environment.setActiveProfiles(mainActiveProfiles); } else { - String[] mainActiveProfiles = mainApplicationContext.getActiveProfiles(); - if(mainActiveProfiles.length > 0){ - logger.info("Plugin[{}] following profiles are active from main: {}", - MsgUtils.getPluginUnique(pluginDescriptor), StringUtils.toStrByArray(mainActiveProfiles)); - environment.setActiveProfiles(mainActiveProfiles); - } else { - logger.info("Plugin[{}] No active profile set, falling back to default profiles: {}", - MsgUtils.getPluginUnique(pluginDescriptor), - StringUtils.toStrByArray(environment.getDefaultProfiles())); - } + logger.info("Plugin[{}] No active profile set, falling back to default profiles: {}", + MsgUtils.getPluginUnique(pluginDescriptor), + StringUtils.toStrByArray(environment.getDefaultProfiles())); + } + } + + + private String getConfigFileLocation(String configFileLocation){ + String path = FilesUtils.resolveRelativePath(new File("").getAbsolutePath(), configFileLocation); + // 拼接最后字符斜杠 + if(path.endsWith(FilesUtils.SLASH) || path.endsWith(File.separator)){ + return path; + } else { + return path + File.separator; } } diff --git a/spring-brick-bootstrap/src/main/java/com/gitee/starblues/bootstrap/PluginOneselfSpringApplication.java b/spring-brick-bootstrap/src/main/java/com/gitee/starblues/bootstrap/PluginOneselfSpringApplication.java index b49e658..76c97c4 100644 --- a/spring-brick-bootstrap/src/main/java/com/gitee/starblues/bootstrap/PluginOneselfSpringApplication.java +++ b/spring-brick-bootstrap/src/main/java/com/gitee/starblues/bootstrap/PluginOneselfSpringApplication.java @@ -49,6 +49,12 @@ public class PluginOneselfSpringApplication extends SpringApplication { new ConfigureMainPluginEnvironment(processorContext).configureEnvironment(environment, args); } + @Override + protected void bindToSpringApplication(ConfigurableEnvironment environment) { + super.bindToSpringApplication(environment); + configurePluginEnvironment.logProfiles(environment); + } + @Override protected ConfigurableApplicationContext createApplicationContext() { return this.applicationContext; diff --git a/spring-brick-bootstrap/src/main/java/com/gitee/starblues/bootstrap/PluginSpringApplication.java b/spring-brick-bootstrap/src/main/java/com/gitee/starblues/bootstrap/PluginSpringApplication.java index c5a64e1..28a09ad 100644 --- a/spring-brick-bootstrap/src/main/java/com/gitee/starblues/bootstrap/PluginSpringApplication.java +++ b/spring-brick-bootstrap/src/main/java/com/gitee/starblues/bootstrap/PluginSpringApplication.java @@ -89,6 +89,12 @@ public class PluginSpringApplication extends SpringApplication { configurePluginEnvironment.configureEnvironment(environment, args); } + @Override + protected void bindToSpringApplication(ConfigurableEnvironment environment) { + super.bindToSpringApplication(environment); + configurePluginEnvironment.logProfiles(environment); + } + @Override protected ConfigurableApplicationContext createApplicationContext() { return this.applicationContext; -- Gitee