From 80b6cbfc9c861469146318d0b3dd5f8b8b525b8a Mon Sep 17 00:00:00 2001 From: xiejun <xiejun@vci-tech.com> Date: 星期五, 01 十一月 2024 15:11:19 +0800 Subject: [PATCH] Revert "集成获取mdm分发通用数据格式接口集成" --- Source/BladeX-Tool/blade-starter-oss/src/main/java/org/springblade/core/oss/config/TencentCosConfiguration.java | 82 +++++++++++++++++++++++++++++++++++++++++ 1 files changed, 82 insertions(+), 0 deletions(-) diff --git a/Source/BladeX-Tool/blade-starter-oss/src/main/java/org/springblade/core/oss/config/TencentCosConfiguration.java b/Source/BladeX-Tool/blade-starter-oss/src/main/java/org/springblade/core/oss/config/TencentCosConfiguration.java new file mode 100644 index 0000000..010c7fd --- /dev/null +++ b/Source/BladeX-Tool/blade-starter-oss/src/main/java/org/springblade/core/oss/config/TencentCosConfiguration.java @@ -0,0 +1,82 @@ +/* + * Copyright (c) 2018-2028, Chill Zhuang All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * Neither the name of the dreamlu.net developer nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * Author: Chill 搴勯獮 (smallchill@163.com) + */ +package org.springblade.core.oss.config; + +import com.qcloud.cos.COSClient; +import com.qcloud.cos.ClientConfig; +import com.qcloud.cos.auth.BasicCOSCredentials; +import com.qcloud.cos.auth.COSCredentials; +import com.qcloud.cos.region.Region; +import lombok.AllArgsConstructor; +import org.springblade.core.oss.TencentCosTemplate; +import org.springblade.core.oss.props.OssProperties; +import org.springblade.core.oss.rule.OssRule; +import org.springframework.boot.autoconfigure.AutoConfiguration; +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; + +/** + * <p> + * 鑵捐浜� COS 鑷姩瑁呴厤 + * </p> + * + * @author yangkai.shen + * @date Created in 2020/1/7 17:24 + */ +@AllArgsConstructor +@AutoConfiguration(after = OssConfiguration.class) +@ConditionalOnClass({COSClient.class}) +@EnableConfigurationProperties(OssProperties.class) +@ConditionalOnProperty(value = "oss.name", havingValue = "tencentcos") +public class TencentCosConfiguration { + + private final OssProperties ossProperties; + private final OssRule ossRule; + + + @Bean + @ConditionalOnMissingBean(COSClient.class) + public COSClient ossClient() { + // 鍒濆鍖栫敤鎴疯韩浠戒俊鎭紙secretId, secretKey锛� + COSCredentials credentials = new BasicCOSCredentials(ossProperties.getAccessKey(), ossProperties.getSecretKey()); + // 璁剧疆 bucket 鐨勫尯鍩�, COS 鍦板煙鐨勭畝绉拌鍙傜収 https://cloud.tencent.com/document/product/436/6224 + Region region = new Region(ossProperties.getRegion()); + // clientConfig 涓寘鍚簡璁剧疆 region, https(榛樿 http), 瓒呮椂, 浠g悊绛� set 鏂规硶, 浣跨敤鍙弬瑙佹簮鐮佹垨鑰呭父瑙侀棶棰� Java SDK 閮ㄥ垎銆� + ClientConfig clientConfig = new ClientConfig(region); + // 璁剧疆OSSClient鍏佽鎵撳紑鐨勬渶澶TTP杩炴帴鏁帮紝榛樿涓�1024涓�� + clientConfig.setMaxConnectionsCount(1024); + // 璁剧疆Socket灞備紶杈撴暟鎹殑瓒呮椂鏃堕棿锛岄粯璁や负50000姣銆� + clientConfig.setSocketTimeout(50000); + // 璁剧疆寤虹珛杩炴帴鐨勮秴鏃舵椂闂达紝榛樿涓�50000姣銆� + clientConfig.setConnectionTimeout(50000); + // 璁剧疆浠庤繛鎺ユ睜涓幏鍙栬繛鎺ョ殑瓒呮椂鏃堕棿锛堝崟浣嶏細姣锛夛紝榛樿涓嶈秴鏃躲�� + clientConfig.setConnectionRequestTimeout(1000); + return new COSClient(credentials, clientConfig); + } + + @Bean + @ConditionalOnBean({COSClient.class}) + @ConditionalOnMissingBean(TencentCosTemplate.class) + public TencentCosTemplate tencentCosTemplate(COSClient cosClient) { + return new TencentCosTemplate(cosClient, ossProperties, ossRule); + } + +} -- Gitblit v1.9.3