3 Replies Latest reply on Jun 11, 2010 11:03 AM by dward

    FTP job becomes BLOCKED

      Hello

      We experience an issue with FTP scheduled job.

      <ftp-listener name="ftp" busidref="ftp" maxThreads="1" is-gateway="true" schedule-frequency="90"/>


      From time to time the job get in status BLOCKED. When this happen the only way to way to unblock it is to restart the esb application. The Quartz status is the following:

      org.jboss.soa.esb.listeners.gateway.RemoteGatewayListener@d9a62490-11 - state : 4 (BLOCKED : the job is a StatefulJob and is currently executing.)
       Start Time : Mon Aug 31 20:45:47 CEST 2009
       End Time :
       Previous Fire Time : Wed Sep 02 13:42:47 CEST 2009
       Next Fire Time : Wed Sep 02 13:44:17 CEST 2009




      We added the folloing configuration in the properties:
      <property name="blocking-timeout-millis" value="5000"/>


      and now I get the exception below but the job stay in BLOCKED status:

      [org.jboss.soa.esb.listeners.gateway.AbstractFileGateway] (DefaultQuartzScheduler_Worker-5:) Can't retrieve file list
      org.jboss.soa.esb.listeners.gateway.GatewayException: org.jboss.soa.esb.util.RemoteFileSystemException: java.net.SocketTimeoutException: Accept timed out
       at org.jboss.soa.esb.listeners.gateway.RemoteGatewayListener.getFileList(RemoteGatewayListener.java:193)
       at org.jboss.soa.esb.listeners.gateway.AbstractFileGateway.onSchedule(AbstractFileGateway.java:128)
       at org.jboss.soa.esb.schedule.ScheduleProvider$ESBScheduledJob.execute(ScheduleProvider.java:227)
       at org.quartz.core.JobRunShell.run(JobRunShell.java:203)
       at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:520)
      Caused by: org.jboss.soa.esb.util.RemoteFileSystemException: java.net.SocketTimeoutException: Accept timed out
       at org.jboss.internal.soa.esb.util.FtpImpl.getFileListFromRemoteDir(FtpImpl.java:368)
       at org.jboss.soa.esb.listeners.gateway.RemoteGatewayListener.getFileList(RemoteGatewayListener.java:183)
       ... 4 more
      Caused by: java.net.SocketTimeoutException: Accept timed out
       at java.net.PlainSocketImpl.socketAccept(Native Method)
       at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:390)
       at java.net.ServerSocket.implAccept(ServerSocket.java:453)
       at java.net.ServerSocket.accept(ServerSocket.java:421)
       at org.apache.commons.net.ftp.FTPClient._openDataConnection_(FTPClient.java:489)
       at org.apache.commons.net.ftp.FTPClient.listNames(FTPClient.java:1950)
       at org.jboss.internal.soa.esb.util.FtpImpl.getFileListFromRemoteDir(FtpImpl.java:364)
       ... 5 more



      Any idea?

      Thanks,
      Mathieu