Skip to content

Commit f24c313

Browse files
authored
Merge pull request #50 from minbox-projects/2.3.x
merge from 2.3.x
2 parents c3e408b + 40c3433 commit f24c313

File tree

24 files changed

+111
-892
lines changed

24 files changed

+111
-892
lines changed

.travis.yml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,4 +26,7 @@ after_success:
2626
- bash <(curl -s https://codecov.io/bash)
2727
notifications:
2828
email:
29-
- jnyuqy@gmail.com
29+
recipients:
30+
- apiboot@minbox.org
31+
on_success: change
32+
on_failure: always

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ The official version of ApiBoot will be released to Maven Center. If you want to
9292

9393
```sh
9494
# Download master branch source code to local
95-
➜ git clone https://gitee.com/minbox-projects/api-boot.git
95+
➜ git clone https://github.com/minbox-projects/api-boot.git
9696
cd api-boot
9797
# install
9898
➜ mvn clean install -Dmaven.test.skip=true -Dmaven.javadoc.skip=true -Dgpg.skip

README.zh-CN.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,7 @@ ApiBoot正式版本都会发布到Maven Center,如果你想使用源码最新
9797

9898
```sh
9999
# 下载master分支源码到本地
100-
➜ git clone https://gitee.com/minbox-projects/api-boot.git
100+
➜ git clone https://github.com/minbox-projects/api-boot.git
101101
# 进入api-boot源码根目录
102102
cd api-boot
103103
# 执行安装

api-boot-project/api-boot-autoconfigure/pom.xml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -156,6 +156,11 @@
156156
<artifactId>minbox-security</artifactId>
157157
<optional>true</optional>
158158
</dependency>
159+
<dependency>
160+
<groupId>org.minbox.framework</groupId>
161+
<artifactId>minbox-oss</artifactId>
162+
<optional>true</optional>
163+
</dependency>
159164

160165

161166
<!--Others-->

api-boot-project/api-boot-autoconfigure/src/main/java/org/minbox/framework/api/boot/autoconfigure/logging/ApiBootLoggingAutoConfiguration.java

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,8 @@
2525
import org.slf4j.LoggerFactory;
2626
import org.springframework.beans.factory.ObjectProvider;
2727
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
28+
import org.springframework.boot.autoconfigure.cache.CacheManagerCustomizer;
29+
import org.springframework.boot.autoconfigure.cache.CacheManagerCustomizers;
2830
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
2931
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
3032
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
@@ -38,6 +40,7 @@
3840
import org.springframework.util.ObjectUtils;
3941

4042
import java.util.List;
43+
import java.util.stream.Collectors;
4144

4245
import static org.minbox.framework.api.boot.autoconfigure.logging.ApiBootLoggingProperties.API_BOOT_LOGGING_PREFIX;
4346

@@ -74,18 +77,24 @@ public ApiBootLoggingAutoConfiguration(ApiBootLoggingProperties apiBootLoggingPr
7477
this.apiBootLoggingProperties = apiBootLoggingProperties;
7578
}
7679

80+
@Bean
81+
@ConditionalOnMissingBean
82+
public LoggingFactoryBeanCustomizers loggingFactoryBeanCustomizers(ObjectProvider<LoggingFactoryBeanCustomizer> customizers) {
83+
return new LoggingFactoryBeanCustomizers(customizers.orderedStream().collect(Collectors.toList()));
84+
}
85+
7786
/**
7887
* logging factory bean
7988
* {@link LoggingFactoryBean}
8089
*
8190
* @param loggingAdminDiscoveryObjectProvider Logging Admin Discovery Instance Provider
82-
* @param customizerObjectProvider LoggingFactory Bean Customizer
91+
* @param customizers LoggingFactory Bean Customizers
8392
* @return LoggingFactoryBean
8493
*/
8594
@Bean
8695
@ConditionalOnMissingBean
8796
public LoggingFactoryBean loggingFactoryBean(ObjectProvider<LoggingAdminDiscovery> loggingAdminDiscoveryObjectProvider,
88-
ObjectProvider<List<LoggingFactoryBeanCustomizer>> customizerObjectProvider) {
97+
LoggingFactoryBeanCustomizers customizers) {
8998
LoggingFactoryBean factoryBean = new LoggingFactoryBean();
9099
factoryBean.setIgnorePaths(apiBootLoggingProperties.getIgnorePaths());
91100
factoryBean.setIgnoreHttpStatus(apiBootLoggingProperties.getIgnoreHttpStatus());
@@ -97,12 +106,8 @@ public LoggingFactoryBean loggingFactoryBean(ObjectProvider<LoggingAdminDiscover
97106
factoryBean.setShowConsoleLog(apiBootLoggingProperties.isShowConsoleLog());
98107
factoryBean.setFormatConsoleLog(apiBootLoggingProperties.isFormatConsoleLogJson());
99108

100-
List<LoggingFactoryBeanCustomizer> customizers = customizerObjectProvider.getIfAvailable();
101-
if (!ObjectUtils.isEmpty(customizers)) {
102-
customizers.stream().forEach(customizer -> customizer.customize(factoryBean));
103-
}
104109
logger.info("【LoggingFactoryBean】init successfully.");
105-
return factoryBean;
110+
return customizers.customize(factoryBean);
106111
}
107112

108113
/**
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
package org.minbox.framework.api.boot.autoconfigure.logging;
2+
3+
import org.minbox.framework.logging.client.LoggingFactoryBean;
4+
import org.springframework.boot.autoconfigure.cache.CacheManagerCustomizer;
5+
import org.springframework.boot.autoconfigure.cache.CacheManagerCustomizers;
6+
import org.springframework.boot.util.LambdaSafe;
7+
8+
import java.util.ArrayList;
9+
import java.util.Collections;
10+
import java.util.List;
11+
12+
/**
13+
* The {@link LoggingFactoryBeanCustomizer} collection processing class
14+
*
15+
* @author 恒宇少年
16+
*/
17+
public class LoggingFactoryBeanCustomizers {
18+
private List<LoggingFactoryBeanCustomizer> customizers;
19+
20+
public LoggingFactoryBeanCustomizers(List<LoggingFactoryBeanCustomizer> customizers) {
21+
this.customizers = (customizers != null) ? new ArrayList<>(customizers) : Collections.emptyList();
22+
}
23+
24+
/**
25+
* Customize the specified {@link LoggingFactoryBean}. Locates all
26+
* {@link LoggingFactoryBeanCustomizer} beans able to handle the specified instance and
27+
* invoke {@link LoggingFactoryBeanCustomizer#customize(LoggingFactoryBean)} on them.
28+
*
29+
* @param factoryBean the logging factory bean to customize
30+
* @return the factory bean
31+
*/
32+
public LoggingFactoryBean customize(LoggingFactoryBean factoryBean) {
33+
LambdaSafe.callbacks(LoggingFactoryBeanCustomizer.class, this.customizers, factoryBean)
34+
.withLogger(LoggingFactoryBeanCustomizer.class).invoke((customizer) -> customizer.customize(factoryBean));
35+
return factoryBean;
36+
}
37+
}

api-boot-project/api-boot-autoconfigure/src/main/java/org/minbox/framework/api/boot/autoconfigure/oss/ApiBootOssAutoConfiguration.java

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
11
package org.minbox.framework.api.boot.autoconfigure.oss;
22

33
import com.aliyun.oss.OSSClient;
4-
import org.minbox.framework.api.boot.oss.ApiBootOssService;
5-
import org.minbox.framework.api.boot.oss.progress.ApiBootObjectStorageProgress;
4+
import org.minbox.framework.oss.ObjectStorageProgress;
5+
import org.minbox.framework.oss.ObjectStorageService;
6+
import org.minbox.framework.oss.support.aliyun.AliyunObjectStorageService;
67
import org.springframework.beans.factory.ObjectProvider;
78
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
89
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
@@ -36,9 +37,9 @@ public class ApiBootOssAutoConfiguration {
3637
/**
3738
* ApiBoot Progress Provider
3839
*/
39-
private ApiBootObjectStorageProgress apiBootObjectStorageProgress;
40+
private ObjectStorageProgress apiBootObjectStorageProgress;
4041

41-
public ApiBootOssAutoConfiguration(ApiBootOssProperties apiBootOssProperties, ObjectProvider<ApiBootObjectStorageProgress> apiBootProgressProvider) {
42+
public ApiBootOssAutoConfiguration(ApiBootOssProperties apiBootOssProperties, ObjectProvider<ObjectStorageProgress> apiBootProgressProvider) {
4243
this.apiBootOssProperties = apiBootOssProperties;
4344
this.apiBootObjectStorageProgress = apiBootProgressProvider.getIfAvailable();
4445
}
@@ -50,9 +51,9 @@ public ApiBootOssAutoConfiguration(ApiBootOssProperties apiBootOssProperties, Ob
5051
*/
5152
@Bean
5253
@ConditionalOnMissingBean
53-
ApiBootOssService apiBootOssService() {
54-
ApiBootOssService apiBootOssService = new ApiBootOssService(apiBootOssProperties.getRegion().getEndpoint(), apiBootOssProperties.getBucketName(), apiBootOssProperties.getAccessKeyId(), apiBootOssProperties.getAccessKeySecret(), apiBootOssProperties.getDomain());
55-
apiBootOssService.setApiBootObjectStorageProgress(apiBootObjectStorageProgress);
56-
return apiBootOssService;
54+
ObjectStorageService apiBootOssService() {
55+
AliyunObjectStorageService objectStorageService = new AliyunObjectStorageService(apiBootOssProperties.getRegion().getEndpoint(), apiBootOssProperties.getBucketName(), apiBootOssProperties.getAccessKeyId(), apiBootOssProperties.getAccessKeySecret(), apiBootOssProperties.getDomain());
56+
objectStorageService.setObjectStorageProgress(apiBootObjectStorageProgress);
57+
return objectStorageService;
5758
}
5859
}

api-boot-project/api-boot-autoconfigure/src/main/java/org/minbox/framework/api/boot/autoconfigure/oss/ApiBootOssProperties.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package org.minbox.framework.api.boot.autoconfigure.oss;
22

33
import lombok.Data;
4-
import org.minbox.framework.api.boot.oss.OssRegion;
4+
import org.minbox.framework.oss.OssRegion;
55
import org.springframework.boot.context.properties.ConfigurationProperties;
66
import org.springframework.context.annotation.Configuration;
77

api-boot-project/api-boot-autoconfigure/src/main/java/org/minbox/framework/api/boot/autoconfigure/security/ApiBootWebSecurityAutoConfiguration.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
import org.springframework.security.web.access.AccessDeniedHandler;
2424
import org.springframework.util.ObjectUtils;
2525

26+
import java.util.ArrayList;
2627
import java.util.Arrays;
2728
import java.util.List;
2829

@@ -54,7 +55,7 @@ public ApiBootWebSecurityAutoConfiguration(ApiBootSecurityProperties apiBootSecu
5455
*/
5556
@Override
5657
protected List<String> configureIgnoreUrls() {
57-
List<String> ignoringUrls = Arrays.asList(ApiBootSecurityProperties.DEFAULT_IGNORE_URLS);
58+
List<String> ignoringUrls = new ArrayList(Arrays.asList(ApiBootSecurityProperties.DEFAULT_IGNORE_URLS));
5859
if (!ObjectUtils.isEmpty(apiBootSecurityProperties.getIgnoringUrls())) {
5960
ignoringUrls.addAll(Arrays.asList(apiBootSecurityProperties.getIgnoringUrls()));
6061
}

0 commit comments

Comments
 (0)