diff --git a/pom.xml b/pom.xml index 9742a21f2..45d4ece78 100644 --- a/pom.xml +++ b/pom.xml @@ -42,7 +42,6 @@ 2.28.22 - 0.31.3 3.3.3 @@ -245,18 +244,18 @@ s3 ${aws.sdk.version} - - - software.amazon.awssdk.crt - aws-crt - ${aws.crt.version} - software.amazon.awssdk s3-transfer-manager ${aws.sdk.version} + + + software.amazon.awssdk + netty-nio-client + ${aws.sdk.version} + org.dromara.sms4j diff --git a/ruoyi-common/ruoyi-common-oss/pom.xml b/ruoyi-common/ruoyi-common-oss/pom.xml index 18d004f57..190dc5d46 100644 --- a/ruoyi-common/ruoyi-common-oss/pom.xml +++ b/ruoyi-common/ruoyi-common-oss/pom.xml @@ -31,11 +31,6 @@ software.amazon.awssdk s3 - - - software.amazon.awssdk - netty-nio-client - software.amazon.awssdk @@ -54,10 +49,10 @@ - + - software.amazon.awssdk.crt - aws-crt + software.amazon.awssdk + netty-nio-client diff --git a/ruoyi-common/ruoyi-common-oss/src/main/java/org/dromara/common/oss/core/OssClient.java b/ruoyi-common/ruoyi-common-oss/src/main/java/org/dromara/common/oss/core/OssClient.java index e3b20dde3..41e74969d 100644 --- a/ruoyi-common/ruoyi-common-oss/src/main/java/org/dromara/common/oss/core/OssClient.java +++ b/ruoyi-common/ruoyi-common-oss/src/main/java/org/dromara/common/oss/core/OssClient.java @@ -16,10 +16,10 @@ import software.amazon.awssdk.auth.credentials.StaticCredentialsProvider; import software.amazon.awssdk.core.ResponseInputStream; import software.amazon.awssdk.core.async.AsyncResponseTransformer; import software.amazon.awssdk.core.async.BlockingInputStreamAsyncRequestBody; +import software.amazon.awssdk.http.nio.netty.NettyNioAsyncHttpClient; import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.s3.S3AsyncClient; import software.amazon.awssdk.services.s3.S3Configuration; -import software.amazon.awssdk.services.s3.crt.S3CrtHttpConfiguration; import software.amazon.awssdk.services.s3.model.GetObjectResponse; import software.amazon.awssdk.services.s3.presigner.S3Presigner; import software.amazon.awssdk.transfer.s3.S3TransferManager; @@ -84,18 +84,28 @@ public class OssClient { // MinIO 使用 HTTPS 限制使用域名访问,站点填域名。需要启用路径样式访问 boolean isStyle = !StringUtils.containsAny(properties.getEndpoint(), OssConstant.CLOUD_SERVICE); - // 创建AWS基于 CRT 的 S3 客户端 - this.client = S3AsyncClient.crtBuilder() +// // 创建AWS基于 CRT 的 S3 客户端 +// this.client = S3AsyncClient.crtBuilder() +// .credentialsProvider(credentialsProvider) +// .endpointOverride(URI.create(getEndpoint())) +// .region(of()) +// .targetThroughputInGbps(20.0) +// .minimumPartSizeInBytes(10 * 1025 * 1024L) +// .checksumValidationEnabled(false) +// .forcePathStyle(isStyle) +// .httpConfiguration(S3CrtHttpConfiguration.builder() +// .connectionTimeout(Duration.ofSeconds(60)) // 设置连接超时 +// .build()) +// .build(); + + // 创建AWS基于 Netty 的 S3 客户端 + this.client = S3AsyncClient.builder() .credentialsProvider(credentialsProvider) .endpointOverride(URI.create(getEndpoint())) .region(of()) - .targetThroughputInGbps(20.0) - .minimumPartSizeInBytes(10 * 1025 * 1024L) - .checksumValidationEnabled(false) .forcePathStyle(isStyle) - .httpConfiguration(S3CrtHttpConfiguration.builder() - .connectionTimeout(Duration.ofSeconds(60)) // 设置连接超时 - .build()) + .httpClient(NettyNioAsyncHttpClient.builder() + .connectionTimeout(Duration.ofSeconds(60)).build()) .build(); //AWS基于 CRT 的 S3 AsyncClient 实例用作 S3 传输管理器的底层客户端