Skip to content

Commit 55a3cbe

Browse files
authored
Merge pull request #71 from hengboy/2.3.x
Merge from hengboy
2 parents e504452 + 8b4b0e7 commit 55a3cbe

File tree

5 files changed

+58
-3
lines changed

5 files changed

+58
-3
lines changed

api-boot-project/api-boot-autoconfigure/src/main/java/org/minbox/framework/api/boot/autoconfigure/message/pipe/server/MessagePipeServerAutoConfiguration.java

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,15 +27,33 @@ public MessagePipeServerAutoConfiguration(MessagePipeServerProperties messagePip
2727
this.messagePipeServerProperties = messagePipeServerProperties;
2828
}
2929

30+
/**
31+
* Instantiate the wrapper class of {@link ServerConfigurationCustomizer}
32+
*
33+
* @param customizers The {@link ServerConfigurationCustomizer} object provider
34+
* @return The {@link ServerConfigurationCustomizers} instance
35+
*/
36+
@Bean
37+
@ConditionalOnMissingBean
38+
public ServerConfigurationCustomizers serverConfigurationCustomizers(
39+
ObjectProvider<ServerConfigurationCustomizer> customizers) {
40+
List<ServerConfigurationCustomizer> sortedCustomizers =
41+
customizers.orderedStream().collect(Collectors.toList());
42+
return new ServerConfigurationCustomizers(sortedCustomizers);
43+
}
44+
3045
/**
3146
* Create {@link ServerConfiguration} instance
3247
*
3348
* @return The {@link ServerConfiguration} instance
3449
* @see MessagePipeServerProperties
50+
* @see ServerConfigurationCustomizer
51+
* @see ServerConfigurationCustomizers
3552
*/
3653
@Bean
37-
public ServerConfiguration serverConfiguration() {
38-
return messagePipeServerProperties.getConfiguration();
54+
public ServerConfiguration serverConfiguration(ServerConfigurationCustomizers customizers) {
55+
ServerConfiguration configuration = messagePipeServerProperties.getConfiguration();
56+
return customizers.customizer(configuration);
3957
}
4058

4159
/**
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
package org.minbox.framework.api.boot.autoconfigure.message.pipe.server;
2+
3+
import org.minbox.framework.message.pipe.server.config.ServerConfiguration;
4+
5+
/**
6+
* @author 恒宇少年
7+
*/
8+
@FunctionalInterface
9+
public interface ServerConfigurationCustomizer {
10+
void customize(ServerConfiguration serverConfiguration);
11+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
package org.minbox.framework.api.boot.autoconfigure.message.pipe.server;
2+
3+
import org.minbox.framework.message.pipe.server.config.ServerConfiguration;
4+
import org.springframework.boot.util.LambdaSafe;
5+
6+
import java.util.ArrayList;
7+
import java.util.Collections;
8+
import java.util.List;
9+
10+
/**
11+
* @author 恒宇少年
12+
*/
13+
public class ServerConfigurationCustomizers {
14+
private List<ServerConfigurationCustomizer> customizers;
15+
16+
public ServerConfigurationCustomizers(List<ServerConfigurationCustomizer> customizers) {
17+
this.customizers = (customizers != null) ? new ArrayList<>(customizers) : Collections.emptyList();
18+
}
19+
20+
public ServerConfiguration customizer(ServerConfiguration configuration) {
21+
LambdaSafe.callbacks(ServerConfigurationCustomizer.class, this.customizers, configuration)
22+
.withLogger(ServerConfigurationCustomizer.class).invoke((customizer) -> customizer.customize(configuration));
23+
return configuration;
24+
}
25+
}

api-boot-samples/api-boot-sample-message-pipe-server/src/main/resources/application.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,3 +18,4 @@ api:
1818
configuration:
1919
# 配置监听端口号,默认为5200
2020
server-port: 5200
21+
exclude-pipe-name-patterns: "test-1"

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<parent>
66
<groupId>org.minbox.framework</groupId>
77
<artifactId>minbox-parent</artifactId>
8-
<version>1.0.3.RELEASE</version>
8+
<version>1.0.4-SNAPSHOT</version>
99
<relativePath/>
1010
</parent>
1111
<packaging>pom</packaging>

0 commit comments

Comments
 (0)