首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Spring集成DefaultFtpsSessionFactory

Spring集成DefaultFtpsSessionFactory
EN

Stack Overflow用户
提问于 2021-02-08 21:07:46
回答 2查看 221关注 0票数 2

在我们将spring boot升级到2.4.2版本之前,这个配置对我来说非常有效。

代码语言:javascript
复制
    DefaultFtpsSessionFactory sessionFactory = new DefaultFtpsSessionFactory();
    sessionFactory.setHost("host");
    sessionFactory.setUsername("username");
    sessionFactory.setPassword("password");
    sessionFactory.setPort(21);
    sessionFactory.setClientMode(FTPClient.PASSIVE_LOCAL_DATA_CONNECTION_MODE);
    sessionFactory.setControlEncoding("UTF-8");

目前我正面临以下异常:

javax.net.ssl.SSLException: Unsupported or unrecognized SSL message

我在文档中找不到任何东西。

谢谢你的回答。

编辑1#:

@ArtemBilan这里是堆栈跟踪:

代码语言:javascript
复制
Caused by: javax.net.ssl.SSLException: Unsupported or unrecognized SSL message
    at sun.security.ssl.SSLSocketInputRecord.handleUnknownRecord(SSLSocketInputRecord.java:439) ~[?:?]
    at sun.security.ssl.SSLSocketInputRecord.decode(SSLSocketInputRecord.java:184) ~[?:?]
    at sun.security.ssl.SSLTransport.decode(SSLTransport.java:108) ~[?:?]
    at sun.security.ssl.SSLSocketImpl.decode(SSLSocketImpl.java:1152) ~[?:?]
    at sun.security.ssl.SSLSocketImpl.readHandshakeRecord(SSLSocketImpl.java:1063) ~[?:?]
    at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:402) ~[?:?]
    at org.apache.commons.net.ftp.FTPSClient._openDataConnection_(FTPSClient.java:642) ~[commons-net-3.7.jar:3.7]
    at org.apache.commons.net.ftp.FTPClient._openDataConnection_(FTPClient.java:790) ~[commons-net-3.7.jar:3.7]
    at org.apache.commons.net.ftp.FTPClient.initiateListParsing(FTPClient.java:3456) ~[commons-net-3.7.jar:3.7]
    at org.apache.commons.net.ftp.FTPClient.initiateListParsing(FTPClient.java:3386) ~[commons-net-3.7.jar:3.7]
    at org.apache.commons.net.ftp.FTPClient.listFiles(FTPClient.java:3063) ~[commons-net-3.7.jar:3.7]
    at org.springframework.integration.ftp.session.FtpSession.list(FtpSession.java:74) ~[spring-integration-ftp-5.4.3.jar:5.4.3]
    at org.springframework.integration.ftp.session.FtpSession.list(FtpSession.java:45) ~[spring-integration-ftp-5.4.3.jar:5.4.3]
    at org.springframework.integration.file.remote.session.CachingSessionFactory$CachedSession.list(CachingSessionFactory.java:225) ~[spring-integration-file-5.4.3.jar:5.4.3]
    at org.springframework.integration.file.remote.gateway.AbstractRemoteFileOutboundGateway.listFilesInRemoteDir(AbstractRemoteFileOutboundGateway.java:948) ~[spring-integration-file-5.4.3.jar:5.4.3]
    at org.springframework.integration.file.remote.gateway.AbstractRemoteFileOutboundGateway.ls(AbstractRemoteFileOutboundGateway.java:913) ~[spring-integration-file-5.4.3.jar:5.4.3]
    at org.springframework.integration.ftp.gateway.FtpOutboundGateway.lambda$ls$0(FtpOutboundGateway.java:209) ~[spring-integration-ftp-5.4.3.jar:5.4.3]
    at org.springframework.integration.ftp.gateway.FtpOutboundGateway.doInWorkingDirectory(FtpOutboundGateway.java:285) ~[spring-integration-ftp-5.4.3.jar:5.4.3]
    at org.springframework.integration.ftp.gateway.FtpOutboundGateway.ls(FtpOutboundGateway.java:209) ~[spring-integration-ftp-5.4.3.jar:5.4.3]
    at org.springframework.integration.file.remote.gateway.AbstractRemoteFileOutboundGateway.lsRemoteFilesForMget(AbstractRemoteFileOutboundGateway.java:1202) ~[spring-integration-file-5.4.3.jar:5.4.3]
    at org.springframework.integration.file.remote.gateway.AbstractRemoteFileOutboundGateway.mGetWithRecursion(AbstractRemoteFileOutboundGateway.java:1182) ~[spring-integration-file-5.4.3.jar:5.4.3]
    at org.springframework.integration.file.remote.gateway.AbstractRemoteFileOutboundGateway.mGet(AbstractRemoteFileOutboundGateway.java:1127) ~[spring-integration-file-5.4.3.jar:5.4.3]
    at org.springframework.integration.ftp.gateway.FtpOutboundGateway.lambda$mGet$3(FtpOutboundGateway.java:230) ~[spring-integration-ftp-5.4.3.jar:5.4.3]
    at org.springframework.integration.ftp.gateway.FtpOutboundGateway.doInWorkingDirectory(FtpOutboundGateway.java:285) ~[spring-integration-ftp-5.4.3.jar:5.4.3]
    at org.springframework.integration.ftp.gateway.FtpOutboundGateway.mGet(FtpOutboundGateway.java:229) ~[spring-integration-ftp-5.4.3.jar:5.4.3]
    at org.springframework.integration.file.remote.gateway.AbstractRemoteFileOutboundGateway.lambda$doMget$9(AbstractRemoteFileOutboundGateway.java:683) ~[spring-integration-file-5.4.3.jar:5.4.3]
    at org.springframework.integration.file.remote.RemoteFileTemplate.execute(RemoteFileTemplate.java:439) ~[spring-integration-file-5.4.3.jar:5.4.3]
    at org.springframework.integration.file.remote.gateway.AbstractRemoteFileOutboundGateway.doMget(AbstractRemoteFileOutboundGateway.java:682) ~[spring-integration-file-5.4.3.jar:5.4.3]
    at org.springframework.integration.file.remote.gateway.AbstractRemoteFileOutboundGateway.handleRequestMessage(AbstractRemoteFileOutboundGateway.java:573) ~[spring-integration-file-5.4.3.jar:5.4.3]
    at org.springframework.integration.handler.AbstractReplyProducingMessageHandler.handleMessageInternal(AbstractReplyProducingMessageHandler.java:134) ~[spring-integration-core-5.4.3.jar:5.4.3]
    at org.springframework.integration.handler.AbstractMessageHandler.handleMessage(AbstractMessageHandler.java:56) ~[spring-integration-core-5.4.3.jar:5.4.3]
    ... 43 more 

编辑#2

代码语言:javascript
复制
[INFO] +- commons-net:commons-net:jar:3.7.2:compile
[INFO] +- org.springframework.integration:spring-integration-ftp:jar:5.4.3:compile

编辑#3 -堆栈中更高的一些异常只是为了完整性

代码语言:javascript
复制
Caused by: org.springframework.messaging.MessagingException: Failed to execute on session; nested exception is javax.net.ssl.SSLException: Unsupported or unrecognized SSL message
    at org.springframework.integration.file.remote.RemoteFileTemplate.execute(RemoteFileTemplate.java:448) ~[spring-integration-file-5.4.3.jar:5.4.3]
    at org.springframework.integration.file.remote.gateway.AbstractRemoteFileOutboundGateway.doMget(AbstractRemoteFileOutboundGateway.java:682) ~[spring-integration-file-5.4.3.jar:5.4.3]
    at org.springframework.integration.file.remote.gateway.AbstractRemoteFileOutboundGateway.handleRequestMessage(AbstractRemoteFileOutboundGateway.java:573) ~[spring-integration-file-5.4.3.jar:5.4.3]
    at org.springframework.integration.handler.AbstractReplyProducingMessageHandler.handleMessageInternal(AbstractReplyProducingMessageHandler.java:134) ~[spring-integration-core-5.4.3.jar:5.4.3]
    at org.springframework.integration.handler.AbstractMessageHandler.handleMessage(AbstractMessageHandler.java:56) ~[spring-integration-core-5.4.3.jar:5.4.3]
    ... 43 more

使用commons-net:jar:3.7.2编辑4#实验

下面的设置工作正常

代码语言:javascript
复制
[INFO] +- commons-net:commons-net:jar:3.7.2:compile
[INFO] +- org.springframework.integration:spring-integration-ftp:jar:5.3.2.RELEASE:compile
[INFO] |  \- org.springframework.integration:spring-integration-file:jar:5.4.3:compile
[INFO] |     \- org.springframework.integration:spring-integration-core:jar:5.4.3:compile
[INFO] |        \- org.springframework.retry:spring-retry:jar:1.3.1:compile
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-02-09 18:44:54

在将spring-integration-ftp降级到5.3.2.RELEASE版本后,它可以正常工作。

代码语言:javascript
复制
<dependency>
  <groupId>org.springframework.integration</groupId>
  <artifactId>spring-integration-ftp</artifactId>
  <version>5.3.2.RELEASE</version>
</dependency>
票数 1
EN

Stack Overflow用户

发布于 2021-02-08 23:41:09

请考虑使用commons-net:commons-net:3.7.2依赖。

我们确实将Spring Integration starting的5.4版本从旧的3.6升级到了commons-net 3.7

有关更多详细信息,请参阅本期:https://github.com/spring-projects/spring-integration/issues/3463

我们计划在下周发布5.4.4https://calendar.spring.io/

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66102260

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档