Commons-net version 2.0 jar unable to download files of time stamp 29th February. ----------------------------------------------------------------------------------
Key: NET-447 URL: https://issues.apache.org/jira/browse/NET-447 Project: Commons Net Issue Type: Bug Components: FTP Affects Versions: 2.0 Environment: Windows Server 2003. Reporter: Jeevesh Mishra Fix For: 2.0 When FTP Client of commons-net.jar (version 2.0) tries to get the list of files on FTP server then for the files of time stamp date 29th Feb 2012 it returns null value and in turn throws Null pointer Exception. Because the files are read in date viz sequence, thus it reads the file names correctly till 28th Feb but as soon as it gets a file of time-stamp date 29th it throws Null Pointer Exception and all the files after that are not read. Also its been mentioned in the case mentioned at following url that this issue has been resolved in version 1.5 : https://issues.apache.org/jira/browse/NET-188 Thus ideally such solution would have been included in all later versions. We would require a patch to resolve this. Also for your information we are using Wicket frame work. Do you forsee any Jar conflict with commons-net version 2.0 in such scenario. We are also attaching the Exceptions trace as follows: ERROR [01 Mar 2012 13:37:33] com.nordea.npdb.datafeed.sp.timertasks.DataFeedSpUsStockReportFtpImpl.execute(DataFeedSpUsStockReportFtpImpl.java:48) : Timer_DataFeedSpUsStockReportFtp [FAILED] java.lang.NullPointerException at com.nordea.npdb.bl.facade.DataFeedServiceImpl.saveFtpFetcherFiles(DataFeedServiceImpl.java:108)[NPDB-core-0-SNAPSHOT.jar:] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)[:1.6.0_24] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)[:1.6.0_24] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)[:1.6.0_24] at java.lang.reflect.Method.invoke(Method.java:597)[:1.6.0_24] at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:309)[spring-aop-3.0.3.RELEASE.jar:3.0.3.RELEASE] at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)[spring-aop-3.0.3.RELEASE.jar:3.0.3.RELEASE] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)[spring-aop-3.0.3.RELEASE.jar:3.0.3.RELEASE] at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:110)[spring-tx-3.0.3.RELEASE.jar:3.0.3.RELEASE] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)[spring-aop-3.0.3.RELEASE.jar:3.0.3.RELEASE] at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)[spring-aop-3.0.3.RELEASE.jar:3.0.3.RELEASE] at $Proxy105.saveFtpFetcherFiles(Unknown Source)[:] at com.nordea.npdb.datafeed.sp.timertasks.DataFeedSpUsStockReportFtpImpl.execute(DataFeedSpUsStockReportFtpImpl.java:32)[NPDB-core-0-SNAPSHOT.jar:] at com.nordea.npdb.infrastructure.batch.OldBatchJob.execute(OldBatchJob.java:12)[NPDB-core-0-SNAPSHOT.jar:] at org.springframework.batch.core.step.tasklet.TaskletStep$ChunkTransactionCallback.doInTransaction(TaskletStep.java:386)[spring-batch-core-2.1.7.RELEASE.jar:] at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:130)[spring-tx-3.0.3.RELEASE.jar:3.0.3.RELEASE] at org.springframework.batch.core.step.tasklet.TaskletStep$2.doInChunkContext(TaskletStep.java:264)[spring-batch-core-2.1.7.RELEASE.jar:] at org.springframework.batch.core.scope.context.StepContextRepeatCallback.doInIteration(StepContextRepeatCallback.java:76)[spring-batch-core-2.1.7.RELEASE.jar:] at org.springframework.batch.repeat.support.RepeatTemplate.getNextResult(RepeatTemplate.java:367)[spring-batch-infrastructure-2.1.7.RELEASE.jar:] at org.springframework.batch.repeat.support.RepeatTemplate.executeInternal(RepeatTemplate.java:214)[spring-batch-infrastructure-2.1.7.RELEASE.jar:] at org.springframework.batch.repeat.support.RepeatTemplate.iterate(RepeatTemplate.java:143)[spring-batch-infrastructure-2.1.7.RELEASE.jar:] at org.springframework.batch.core.step.tasklet.TaskletStep.doExecute(TaskletStep.java:250)[spring-batch-core-2.1.7.RELEASE.jar:] at org.springframework.batch.core.step.AbstractStep.execute(AbstractStep.java:195)[spring-batch-core-2.1.7.RELEASE.jar:] at org.springframework.batch.core.job.SimpleStepHandler.handleStep(SimpleStepHandler.java:135)[spring-batch-core-2.1.7.RELEASE.jar:] at org.springframework.batch.core.job.flow.JobFlowExecutor.executeStep(JobFlowExecutor.java:61)[spring-batch-core-2.1.7.RELEASE.jar:] at org.springframework.batch.core.job.flow.support.state.StepState.handle(StepState.java:60)[spring-batch-core-2.1.7.RELEASE.jar:] at org.springframework.batch.core.job.flow.support.SimpleFlow.resume(SimpleFlow.java:144)[spring-batch-core-2.1.7.RELEASE.jar:] at org.springframework.batch.core.job.flow.support.SimpleFlow.start(SimpleFlow.java:124)[spring-batch-core-2.1.7.RELEASE.jar:] at org.springframework.batch.core.job.flow.FlowJob.doExecute(FlowJob.java:135)[spring-batch-core-2.1.7.RELEASE.jar:] at org.springframework.batch.core.job.AbstractJob.execute(AbstractJob.java:281)[spring-batch-core-2.1.7.RELEASE.jar:] at com.nordea.npdb.infrastructure.batch.NpdbJobLauncherImpl$2.run(NpdbJobLauncherImpl.java:116)[NPDB-core-0-SNAPSHOT.jar:] at org.springframework.core.task.SyncTaskExecutor.execute(SyncTaskExecutor.java:48)[spring-core-3.0.3.RELEASE.jar:3.0.3.RELEASE] at com.nordea.npdb.infrastructure.batch.NpdbJobLauncherImpl.run(NpdbJobLauncherImpl.java:110)[NPDB-core-0-SNAPSHOT.jar:] at com.nordea.npdb.infrastructure.batch.BatchFacadeImpl.runJobUsingCurrentThread(BatchFacadeImpl.java:83)[NPDB-core-0-SNAPSHOT.jar:] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)[:1.6.0_24] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)[:1.6.0_24] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)[:1.6.0_24] at java.lang.reflect.Method.invoke(Method.java:597)[:1.6.0_24] at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:309)[spring-aop-3.0.3.RELEASE.jar:3.0.3.RELEASE] at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:196)[spring-aop-3.0.3.RELEASE.jar:3.0.3.RELEASE] at $Proxy136.runJobUsingCurrentThread(Unknown Source)[:] at com.nordea.npdb.infrastructure.scheduler.SchedulerServiceImpl$SchedulerThread$1.doWithinTimingWithoutResult(SchedulerServiceImpl.java:509)[NPDB-core-0-SNAPSHOT.jar:] at com.nordea.pubdb.timer.TimingCallbackWithoutResult.doWithinTiming(TimingCallbackWithoutResult.java:6)[NPDB-core-0-SNAPSHOT.jar:] at com.nordea.pubdb.timer.TimingTemplateImpl.execute(TimingTemplateImpl.java:105)[NPDB-core-0-SNAPSHOT.jar:] at com.nordea.npdb.infrastructure.scheduler.SchedulerServiceImpl$SchedulerThread.run(SchedulerServiceImpl.java:502)[NPDB-core-0-SNAPSHOT.jar:] ERROR [01 Mar 2012 13:37:38] org.springframework.batch.core.step.AbstractStep.execute(AbstractStep.java:212) : Encountered an error executing the step java.lang.RuntimeException: Timer_DataFeedSpUsStockReportFtp [FAILED] at com.nordea.npdb.datafeed.sp.timertasks.DataFeedSpUsStockReportFtpImpl.execute(DataFeedSpUsStockReportFtpImpl.java:49)[NPDB-core-0-SNAPSHOT.jar:] at com.nordea.npdb.infrastructure.batch.OldBatchJob.execute(OldBatchJob.java:12)[NPDB-core-0-SNAPSHOT.jar:] at org.springframework.batch.core.step.tasklet.TaskletStep$ChunkTransactionCallback.doInTransaction(TaskletStep.java:386)[spring-batch-core-2.1.7.RELEASE.jar:] at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:130)[spring-tx-3.0.3.RELEASE.jar:3.0.3.RELEASE] at org.springframework.batch.core.step.tasklet.TaskletStep$2.doInChunkContext(TaskletStep.java:264)[spring-batch-core-2.1.7.RELEASE.jar:] at org.springframework.batch.core.scope.context.StepContextRepeatCallback.doInIteration(StepContextRepeatCallback.java:76)[spring-batch-core-2.1.7.RELEASE.jar:] at org.springframework.batch.repeat.support.RepeatTemplate.getNextResult(RepeatTemplate.java:367)[spring-batch-infrastructure-2.1.7.RELEASE.jar:] at org.springframework.batch.repeat.support.RepeatTemplate.executeInternal(RepeatTemplate.java:214)[spring-batch-infrastructure-2.1.7.RELEASE.jar:] at org.springframework.batch.repeat.support.RepeatTemplate.iterate(RepeatTemplate.java:143)[spring-batch-infrastructure-2.1.7.RELEASE.jar:] at org.springframework.batch.core.step.tasklet.TaskletStep.doExecute(TaskletStep.java:250)[spring-batch-core-2.1.7.RELEASE.jar:] at org.springframework.batch.core.step.AbstractStep.execute(AbstractStep.java:195)[spring-batch-core-2.1.7.RELEASE.jar:] at org.springframework.batch.core.job.SimpleStepHandler.handleStep(SimpleStepHandler.java:135)[spring-batch-core-2.1.7.RELEASE.jar:] at org.springframework.batch.core.job.flow.JobFlowExecutor.executeStep(JobFlowExecutor.java:61)[spring-batch-core-2.1.7.RELEASE.jar:] at org.springframework.batch.core.job.flow.support.state.StepState.handle(StepState.java:60)[spring-batch-core-2.1.7.RELEASE.jar:] at org.springframework.batch.core.job.flow.support.SimpleFlow.resume(SimpleFlow.java:144)[spring-batch-core-2.1.7.RELEASE.jar:] at org.springframework.batch.core.job.flow.support.SimpleFlow.start(SimpleFlow.java:124)[spring-batch-core-2.1.7.RELEASE.jar:] at org.springframework.batch.core.job.flow.FlowJob.doExecute(FlowJob.java:135)[spring-batch-core-2.1.7.RELEASE.jar:] at org.springframework.batch.core.job.AbstractJob.execute(AbstractJob.java:281)[spring-batch-core-2.1.7.RELEASE.jar:] at com.nordea.npdb.infrastructure.batch.NpdbJobLauncherImpl$2.run(NpdbJobLauncherImpl.java:116)[NPDB-core-0-SNAPSHOT.jar:] at org.springframework.core.task.SyncTaskExecutor.execute(SyncTaskExecutor.java:48)[spring-core-3.0.3.RELEASE.jar:3.0.3.RELEASE] at com.nordea.npdb.infrastructure.batch.NpdbJobLauncherImpl.run(NpdbJobLauncherImpl.java:110)[NPDB-core-0-SNAPSHOT.jar:] at com.nordea.npdb.infrastructure.batch.BatchFacadeImpl.runJobUsingCurrentThread(BatchFacadeImpl.java:83)[NPDB-core-0-SNAPSHOT.jar:] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)[:1.6.0_24] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)[:1.6.0_24] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)[:1.6.0_24] at java.lang.reflect.Method.invoke(Method.java:597)[:1.6.0_24] at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:309)[spring-aop-3.0.3.RELEASE.jar:3.0.3.RELEASE] at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:196)[spring-aop-3.0.3.RELEASE.jar:3.0.3.RELEASE] at $Proxy136.runJobUsingCurrentThread(Unknown Source)[:] at com.nordea.npdb.infrastructure.scheduler.SchedulerServiceImpl$SchedulerThread$1.doWithinTimingWithoutResult(SchedulerServiceImpl.java:509)[NPDB-core-0-SNAPSHOT.jar:] at com.nordea.pubdb.timer.TimingCallbackWithoutResult.doWithinTiming(TimingCallbackWithoutResult.java:6)[NPDB-core-0-SNAPSHOT.jar:] at com.nordea.pubdb.timer.TimingTemplateImpl.execute(TimingTemplateImpl.java:105)[NPDB-core-0-SNAPSHOT.jar:] at com.nordea.npdb.infrastructure.scheduler.SchedulerServiceImpl$SchedulerThread.run(SchedulerServiceImpl.java:502)[NPDB-core-0-SNAPSHOT.jar:] -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira