【问题标题】:Unable to upload file to S3 Bucket using aws-java-sdk无法使用 aws-java-sdk 将文件上传到 S3 存储桶
【发布时间】:2017-09-24 09:20:04
【问题描述】:

我有一个将文件上传到 S3 存储桶的 Spring Boot 应用程序。 每当应用程序尝试上传文件时,我都会收到以下错误。堆栈跟踪是一个巨大的。所以我只提供了一部分。

java.lang.IllegalStateException: Socket not created by this factory
at org.apache.http.util.Asserts.check(Asserts.java:34) ~[httpcore-4.4.6.jar:4.4.6]
at org.apache.http.conn.ssl.SSLSocketFactory.isSecure(SSLSocketFactory.java:435) ~[httpclient-4.5.3.jar:4.5.3]
at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:186) ~[httpclient-4.5.3.jar:4.5.3]

我正在使用以下依赖项

    <dependency>
        <groupId>com.amazonaws</groupId>
        <artifactId>aws-java-sdk</artifactId>
        <version>1.11.123</version>
    </dependency>

我什至尝试过

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.5.1.RELEASE</version>
    </parent>
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-aws</artifactId>
    </dependency>
    <!--<dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-aws-context</artifactId>
    </dependency>

但仍然会出现相同类型的错误

我尝试使用 AmazonS3 中的 TransferManager 和 putObject() 方法,但出现相同的错误。

该应用程序在几天前运行良好,但最近才开始出现错误。

【问题讨论】:

    标签: aws-java-sdk spring-cloud-aws


    【解决方案1】:

    发布更多堆栈跟踪会很有用,这样我们就可以看到在 SDK 生命周期的哪个时间点生成了异常(上面的堆栈跟踪仅显示 apache 类)。您能否也展示一下您是如何配置 S3 客户端的?

    您是否正在配置自定义SocketFactory?有问题的检查是查看 SocketFactory 创建的 Socket 是否实际上是 SSLSocket 如果不是 - 那就是它的炸弹 - 你可以从 Apache 代码 here 中看到。

    【讨论】:

      【解决方案2】:

      我在 SDK 的 v1.10.12 上遇到了同样的问题,我切换到 v1.11.136 并解决了我的问题,将下面的代码添加到您的 pom 文件中

      <!-- AWS S3 Dependencies-->
          <dependency>
              <groupId>com.amazonaws</groupId>
              <artifactId>aws-java-sdk</artifactId>
              <version>1.11.136</version>
          </dependency>
      <!-- End of AWS S3 Dependencies -->
      

      【讨论】:

        猜你喜欢
        • 2020-03-17
        • 2012-09-08
        • 2017-10-17
        • 2012-05-28
        • 2018-08-13
        • 1970-01-01
        • 2018-04-25
        • 1970-01-01
        • 2021-05-05
        相关资源
        最近更新 更多