From 093d94f30feafbb6e99b5890f4769e312971794f Mon Sep 17 00:00:00 2001 From: hengboy Date: Wed, 21 Oct 2020 11:13:48 +0800 Subject: [PATCH 1/3] =?UTF-8?q?:arrow=5Fup:=20=E5=8D=87=E7=BA=A7minbox-par?= =?UTF-8?q?ent=E7=89=88=E6=9C=AC=E4=B8=BAv1.0.4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 3d2ebcc..bca8fd3 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ org.minbox.framework minbox-parent - 1.0.3.RELEASE + 1.0.4-SNAPSHOT pom From 5761ddcd832780a2762c4f32220710af33cf9953 Mon Sep 17 00:00:00 2001 From: hengboy Date: Wed, 21 Oct 2020 11:14:35 +0800 Subject: [PATCH 2/3] =?UTF-8?q?:art:=20=E6=96=B0=E5=A2=9E=E6=B6=88?= =?UTF-8?q?=E6=81=AF=E7=AE=A1=E9=81=93ServerConfiguration=E7=9A=84?= =?UTF-8?q?=E8=87=AA=E5=AE=9A=E4=B9=89=E9=85=8D=E7=BD=AE=E7=B1=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../MessagePipeServerAutoConfiguration.java | 22 ++++++++++++++-- .../server/ServerConfigurationCustomizer.java | 11 ++++++++ .../ServerConfigurationCustomizers.java | 25 +++++++++++++++++++ 3 files changed, 56 insertions(+), 2 deletions(-) create mode 100644 api-boot-project/api-boot-autoconfigure/src/main/java/org/minbox/framework/api/boot/autoconfigure/message/pipe/server/ServerConfigurationCustomizer.java create mode 100644 api-boot-project/api-boot-autoconfigure/src/main/java/org/minbox/framework/api/boot/autoconfigure/message/pipe/server/ServerConfigurationCustomizers.java diff --git a/api-boot-project/api-boot-autoconfigure/src/main/java/org/minbox/framework/api/boot/autoconfigure/message/pipe/server/MessagePipeServerAutoConfiguration.java b/api-boot-project/api-boot-autoconfigure/src/main/java/org/minbox/framework/api/boot/autoconfigure/message/pipe/server/MessagePipeServerAutoConfiguration.java index 36dd6d1..0872c85 100644 --- a/api-boot-project/api-boot-autoconfigure/src/main/java/org/minbox/framework/api/boot/autoconfigure/message/pipe/server/MessagePipeServerAutoConfiguration.java +++ b/api-boot-project/api-boot-autoconfigure/src/main/java/org/minbox/framework/api/boot/autoconfigure/message/pipe/server/MessagePipeServerAutoConfiguration.java @@ -27,15 +27,33 @@ public MessagePipeServerAutoConfiguration(MessagePipeServerProperties messagePip this.messagePipeServerProperties = messagePipeServerProperties; } + /** + * Instantiate the wrapper class of {@link ServerConfigurationCustomizer} + * + * @param customizers The {@link ServerConfigurationCustomizer} object provider + * @return The {@link ServerConfigurationCustomizers} instance + */ + @Bean + @ConditionalOnMissingBean + public ServerConfigurationCustomizers serverConfigurationCustomizers( + ObjectProvider customizers) { + List sortedCustomizers = + customizers.orderedStream().collect(Collectors.toList()); + return new ServerConfigurationCustomizers(sortedCustomizers); + } + /** * Create {@link ServerConfiguration} instance * * @return The {@link ServerConfiguration} instance * @see MessagePipeServerProperties + * @see ServerConfigurationCustomizer + * @see ServerConfigurationCustomizers */ @Bean - public ServerConfiguration serverConfiguration() { - return messagePipeServerProperties.getConfiguration(); + public ServerConfiguration serverConfiguration(ServerConfigurationCustomizers customizers) { + ServerConfiguration configuration = messagePipeServerProperties.getConfiguration(); + return customizers.customizer(configuration); } /** diff --git a/api-boot-project/api-boot-autoconfigure/src/main/java/org/minbox/framework/api/boot/autoconfigure/message/pipe/server/ServerConfigurationCustomizer.java b/api-boot-project/api-boot-autoconfigure/src/main/java/org/minbox/framework/api/boot/autoconfigure/message/pipe/server/ServerConfigurationCustomizer.java new file mode 100644 index 0000000..58c2d7b --- /dev/null +++ b/api-boot-project/api-boot-autoconfigure/src/main/java/org/minbox/framework/api/boot/autoconfigure/message/pipe/server/ServerConfigurationCustomizer.java @@ -0,0 +1,11 @@ +package org.minbox.framework.api.boot.autoconfigure.message.pipe.server; + +import org.minbox.framework.message.pipe.server.config.ServerConfiguration; + +/** + * @author 恒宇少年 + */ +@FunctionalInterface +public interface ServerConfigurationCustomizer { + void customize(ServerConfiguration serverConfiguration); +} diff --git a/api-boot-project/api-boot-autoconfigure/src/main/java/org/minbox/framework/api/boot/autoconfigure/message/pipe/server/ServerConfigurationCustomizers.java b/api-boot-project/api-boot-autoconfigure/src/main/java/org/minbox/framework/api/boot/autoconfigure/message/pipe/server/ServerConfigurationCustomizers.java new file mode 100644 index 0000000..81da6d5 --- /dev/null +++ b/api-boot-project/api-boot-autoconfigure/src/main/java/org/minbox/framework/api/boot/autoconfigure/message/pipe/server/ServerConfigurationCustomizers.java @@ -0,0 +1,25 @@ +package org.minbox.framework.api.boot.autoconfigure.message.pipe.server; + +import org.minbox.framework.message.pipe.server.config.ServerConfiguration; +import org.springframework.boot.util.LambdaSafe; + +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; + +/** + * @author 恒宇少年 + */ +public class ServerConfigurationCustomizers { + private List customizers; + + public ServerConfigurationCustomizers(List customizers) { + this.customizers = (customizers != null) ? new ArrayList<>(customizers) : Collections.emptyList(); + } + + public ServerConfiguration customizer(ServerConfiguration configuration) { + LambdaSafe.callbacks(ServerConfigurationCustomizer.class, this.customizers, configuration) + .withLogger(ServerConfigurationCustomizer.class).invoke((customizer) -> customizer.customize(configuration)); + return configuration; + } +} From 8b4b0e78b2e93e472e5606b2a38a9602cb0ab24f Mon Sep 17 00:00:00 2001 From: hengboy Date: Wed, 21 Oct 2020 11:15:13 +0800 Subject: [PATCH 3/3] =?UTF-8?q?:white=5Fcheck=5Fmark:=20=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E6=B6=88=E6=81=AF=E7=AE=A1=E9=81=93=E6=8E=92=E9=99=A4=E5=88=9B?= =?UTF-8?q?=E5=BB=BA=E6=8C=87=E5=AE=9A=E5=90=8D=E7=A7=B0=E7=A4=BA=E4=BE=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/application.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/api-boot-samples/api-boot-sample-message-pipe-server/src/main/resources/application.yml b/api-boot-samples/api-boot-sample-message-pipe-server/src/main/resources/application.yml index 6c3ade7..50374f2 100644 --- a/api-boot-samples/api-boot-sample-message-pipe-server/src/main/resources/application.yml +++ b/api-boot-samples/api-boot-sample-message-pipe-server/src/main/resources/application.yml @@ -18,3 +18,4 @@ api: configuration: # 配置监听端口号,默认为5200 server-port: 5200 + exclude-pipe-name-patterns: "test-1"