Невозможно загрузить файл в S3 Bucket с помощью aws-java-sdk
У меня есть приложение весенней загрузки, которое загружает файлы в корзину 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>
Но подоконник получает тот же тип ошибки
Я пытался использовать как TransferManager, а также метод putObject() из AmazonS3, но с той же ошибкой.
Приложение работало несколько дней назад, и ошибка начала появляться совсем недавно.
2 ответа
У меня была та же проблема на v1.10.12 SDK, я перешел на 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 -->
Было бы полезно опубликовать больше трассировки стека, чтобы мы могли видеть, в какой точке жизненного цикла SDK генерируется исключение (трассировка стека выше показывает только классы apache). Вы также можете показать, как вы настраиваете клиент S3?
Вы настраиваете SocketFactory
? Проверяемый вопрос проверяет, Socket
что SocketFactory
создано на самом деле SSLSocket
если нет - вот где он бомбит - вы можете увидеть это из кода Apache здесь.