Red Hat Bugzilla – Bug 779967
Add new option to ftp-provider to bypass ftp server check
Last modified: 2011-05-18 10:58:42 EDT
Help Desk Ticket Reference: https://c.na7.visual.force.com/apex/Case_View?id=500A0000003jqQ8IAI&retURL=https%253A%252F%252Fc.na7.visual.force.com%252Fapex%252FCase_View&sfdc.override=1
Currently any JBoss ESB Service using an ftp-provider requires that the FTP Server that the ftp-provider uses be running at the time the ESB Service is deployed. It does this by performing a simple check at deploy time by connecting to the FTP Server. If the FTP Server is not running, the deployment will fail.
The drawback is twofold:
* As a result of the FTP Server not running at deploy time not only does the ESB Service using the FTP Server fail deployment, but every other Service (in jboss-esb.xml) fails deployment as well, regardless of whether they use FTP or not.
* In our case the FTP server might not be running when the Service is deployed, but sometime later. We still need the Service to deploy.
We would like this behaviour to be configurable, in that we would like to specify in the configuration file whether to make this check at deploy time. By defaulting this behaviour to true we can retain backwards compatibility and avoid modifying existing behaviour.
My proposed syntax for the FTP Listener/FTP Message Filter configuration (jboss-esb.xml) would be to add a property to ftp-message-filter:
check-server-on-deploy="false" | "true"
The code change would be in org.jboss.soa.esb.listeners.gateway.RemoteGatewayListener on line 69:
RemoteFileSystem rfs = RemoteFileSystemFactory.getRemoteFileSystem(ftpEpr, true)
RemoteFileSystem rfs = RemoteFileSystemFactory.getRemoteFileSystem(ftpEpr, getBooleanAttribute("checkServerOnDeploy", true))
I don't know where the mapping from the XML file-to-Java Config Tree Attribute (check-server-on-deploy to checkServerOnDeploy) happens (or whether this is automatic)