我有一个spring boot应用程序,可以将文件上传到S3存储桶。每当应用程序尝试上传文件时,我都会收到以下错误。堆栈跟踪是一个巨大的跟踪。所以我只提供了其中的一部分。
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()方法,但都出现了相同的错误。
几天前,该应用程序运行良好,但直到最近才开始出现错误。
发布于 2017-05-31 06:01:24
我在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 -->发布于 2017-04-27 23:07:46
发布更多的堆栈跟踪会很有用,这样我们就可以看到在SDK生命周期的哪个点上生成了异常(上面的堆栈跟踪只显示apache类)。您还能展示一下如何配置S3客户端吗?
您是否在配置自定义SocketFactory?我们要检查的是,SocketFactory创建的Socket是否真的是一个SSLSocket,如果不是,您可以从Apache代码here中看到。
https://stackoverflow.com/questions/43643215
复制相似问题