package com.qianwen.core.oss.config;
|
|
import com.aliyun.oss.OSSClient;
|
import com.obs.services.ObsClient;
|
import com.obs.services.ObsConfiguration;
|
import com.qianwen.core.oss.HuaweiObsTemplate;
|
import com.qianwen.core.oss.props.OssProperties;
|
import com.qianwen.core.oss.rule.BladeOssRule;
|
import com.qianwen.core.oss.rule.OssRule;
|
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
|
import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
|
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
|
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
|
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
|
import org.springframework.boot.context.properties.EnableConfigurationProperties;
|
import org.springframework.context.annotation.Bean;
|
import org.springframework.context.annotation.Configuration;
|
|
@EnableConfigurationProperties({OssProperties.class})
|
@Configuration(proxyBeanMethods = false)
|
@ConditionalOnClass({OSSClient.class})
|
@AutoConfigureAfter({OssConfiguration.class})
|
@ConditionalOnProperty(value = {"oss.name"}, havingValue = "huaweiobs")
|
/* loaded from: blade-starter-oss-9.3.0.0-SNAPSHOT.jar:org/springblade/core/oss/config/HuaweiObsConfiguration.class */
|
public class HuaweiObsConfiguration {
|
private final OssProperties ossProperties;
|
|
public HuaweiObsConfiguration(final OssProperties ossProperties) {
|
this.ossProperties = ossProperties;
|
}
|
|
@ConditionalOnMissingBean({OssRule.class})
|
@Bean
|
public OssRule ossRule() {
|
return new BladeOssRule(this.ossProperties.getTenantMode());
|
}
|
|
@ConditionalOnMissingBean({ObsClient.class})
|
@Bean
|
public ObsClient ossClient() {
|
ObsConfiguration conf = new ObsConfiguration();
|
conf.setEndPoint(this.ossProperties.getEndpoint());
|
conf.setMaxConnections(1024);
|
conf.setSocketTimeout(50000);
|
conf.setConnectionTimeout(50000);
|
conf.setConnectionRequestTimeout(1000);
|
conf.setIdleConnectionTime(60000);
|
conf.setMaxErrorRetry(5);
|
return new ObsClient(this.ossProperties.getAccessKey(), this.ossProperties.getSecretKey(), conf);
|
}
|
|
@ConditionalOnMissingBean({HuaweiObsTemplate.class})
|
@ConditionalOnBean({ObsClient.class, OssRule.class})
|
@Bean
|
public HuaweiObsTemplate huaweiobsTemplate(ObsClient ossClient, OssRule ossRule) {
|
return new HuaweiObsTemplate(ossClient, this.ossProperties, ossRule);
|
}
|
}
|