FTP job becomes BLOCKED
mathieu Sep 3, 2009 3:43 AMHello
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