Spring integration org.apache.commons.net.ftp.parser.ParserInitializationException:未知解析器类型:未知类型:L8

Spring integration org.apache.commons.net.ftp.parser.ParserInitializationException:未知解析器类型:未知类型:L8,spring-integration,Spring Integration,我们使用的是spring集成版本-4.0.3.0 我们正在使用。应用程序正在连接到本地FileZilla FTP服务器的本地windows工作站上运行。但当我们在linux上的服务器WebLogic10上部署代码时,我们看到了以下错误- Apr 24, 2015 04:29:34.076 PM - <DEBUG> <task-scheduler-3> <loyalty-batch> <org.springframework.integration.ftp

我们使用的是spring集成版本-4.0.3.0

我们正在使用。应用程序正在连接到本地FileZilla FTP服务器的本地windows工作站上运行。但当我们在linux上的服务器WebLogic10上部署代码时,我们看到了以下错误-

Apr 24, 2015 04:29:34.076 PM - <DEBUG> <task-scheduler-3> <loyalty-batch> <org.springframework.integration.ftp.session.DefaultFtpSessionFactory> - <Connected to server [test.ftp.server:10021]> 
at org.springframework.integration.file.remote.synchronizer.AbstractInboundFileSynchronizer.synchronizeToLocalDirectory(AbstractInboundFileSynchronizer.java:193)
    at org.springframework.integration.file.remote.synchronizer.AbstractInboundFileSynchronizingMessageSource.receive(AbstractInboundFileSynchronizingMessageSource.java:167)
    at org.springframework.integration.endpoint.SourcePollingChannelAdapter.receiveMessage(SourcePollingChannelAdapter.java:124)
    at org.springframework.integration.endpoint.AbstractPollingEndpoint.doPoll(AbstractPollingEndpoint.java:190)
    at org.springframework.integration.endpoint.AbstractPollingEndpoint.access$000(AbstractPollingEndpoint.java:55)
    at org.springframework.integration.endpoint.AbstractPollingEndpoint$1.call(AbstractPollingEndpoint.java:149)
    at org.springframework.integration.endpoint.AbstractPollingEndpoint$1.call(AbstractPollingEndpoint.java:146)
    at org.springframework.integration.endpoint.AbstractPollingEndpoint$Poller$1.run(AbstractPollingEndpoint.java:284)
    at org.springframework.integration.util.ErrorHandlingTaskExecutor$1.run(ErrorHandlingTaskExecutor.java:52)
    at org.springframework.core.task.SyncTaskExecutor.execute(SyncTaskExecutor.java:51)
    at org.springframework.integration.util.ErrorHandlingTaskExecutor.execute(ErrorHandlingTaskExecutor.java:59)
    at org.springframework.integration.endpoint.AbstractPollingEndpoint$Poller.run(AbstractPollingEndpoint.java:300)
    at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54)
    at org.springframework.scheduling.concurrent.ReschedulingRunnable.run(ReschedulingRunnable.java:82)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:440)
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
    at java.util.concurrent.FutureTask.run(FutureTask.java:139)
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:98)
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:206)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:919)
    at java.lang.Thread.run(Thread.java:682)
Caused by: org.springframework.messaging.MessagingException: Failed to execute on session; nested exception is org.apache.commons.net.ftp.parser.ParserInitializationException: Unknown parser type: UNKNOWN Type: L8
    at org.springframework.integration.file.remote.RemoteFileTemplate.execute(RemoteFileTemplate.java:311)
    at org.springframework.integration.file.remote.synchronizer.AbstractInboundFileSynchronizer.synchronizeToLocalDirectory(AbstractInboundFileSynchronizer.java:167)
    at org.springframework.integration.file.remote.synchronizer.AbstractInboundFileSynchronizingMessageSource.receive(AbstractInboundFileSynchronizingMessageSource.java:168)
    at org.springframework.integration.endpoint.SourcePollingChannelAdapter.receiveMessage(SourcePollingChannelAdapter.java:124)
    at org.springframework.integration.endpoint.AbstractPollingEndpoint.doPoll(AbstractPollingEndpoint.java:192)
    ... 18 more
Caused by: org.apache.commons.net.ftp.parser.ParserInitializationException: Unknown parser type: UNKNOWN Type: L8
    at org.apache.commons.net.ftp.parser.DefaultFTPFileEntryParserFactory.createFileEntryParser(DefaultFTPFileEntryParserFactory.java:118)
    at org.apache.commons.net.ftp.FTPClient.initiateListParsing(FTPClient.java:2358)
    at org.apache.commons.net.ftp.FTPClient.listFiles(FTPClient.java:2141)
    at org.springframework.integration.ftp.session.FtpSession.list(FtpSession.java:68)
    at org.springframework.integration.ftp.session.FtpSession.list(FtpSession.java:41)
    at org.springframework.integration.file.remote.synchronizer.AbstractInboundFileSynchronizer$1.doInSession(AbstractInboundFileSynchronizer.java:171)
    at org.springframework.integration.file.remote.synchronizer.AbstractInboundFileSynchronizer$1.doInSession(AbstractInboundFileSynchronizer.java:167)
    at org.springframework.integration.file.remote.RemoteFileTemplate.execute(RemoteFileTemplate.java:302)
    ... 22 more
请参见此处的修复程序:

我看到FTPClientConfig中的代码如下所示:

/**
 * Some servers return an "UNKNOWN Type: L8" message
 * in response to the SYST command. We set these to be a Unix-type system.
 * This may happen if the ftpd in question was compiled without system
 * information.
 *
 * NET-230 - Updated to be UPPERCASE so that the check done in
 * createFileEntryParser will succeed.
 *
 * @since 1.5
 */
public static final String SYST_L8 = "TYPE: L8";

因此,请确保正确配置DefaultFTPSessionFactorybean。

我看到commons-net-3.3.jar版本与批处理war文件捆绑在一起。Jira发布的NET-230已修复为2.0版。我还需要补丁吗