[jboss-svn-commits] JBL Code SVN: r33380 - in labs/jbossesb/trunk/product: install/tomcat and 7 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Mon Jun 7 14:45:05 EDT 2010
Author: dward
Date: 2010-06-07 14:45:03 -0400 (Mon, 07 Jun 2010)
New Revision: 33380
Modified:
labs/jbossesb/trunk/product/install/conf/jbossesb-properties.xml
labs/jbossesb/trunk/product/install/tomcat/jbossesb-properties.xml
labs/jbossesb/trunk/product/rosetta/src/org/jboss/internal/soa/esb/couriers/FileCourier.java
labs/jbossesb/trunk/product/rosetta/src/org/jboss/internal/soa/esb/couriers/helpers/FtpFileHandler.java
labs/jbossesb/trunk/product/rosetta/src/org/jboss/internal/soa/esb/message/filter/MetaDataFilter.java
labs/jbossesb/trunk/product/rosetta/src/org/jboss/internal/soa/esb/util/FtpImpl.java
labs/jbossesb/trunk/product/rosetta/src/org/jboss/internal/soa/esb/util/FtpUtils.java
labs/jbossesb/trunk/product/rosetta/src/org/jboss/internal/soa/esb/util/FtpsImpl.java
labs/jbossesb/trunk/product/rosetta/src/org/jboss/internal/soa/esb/util/SecureFtpImpl.java
labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/common/Configuration.java
labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/common/Environment.java
labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/util/FtpClientUtil.java
labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/util/RemoteFileSystem.java
labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/internal/soa/esb/util/FtpImplUnitTest.java
Log:
Fix for JBESB-2905 and JBESB-3177.
Modified: labs/jbossesb/trunk/product/install/conf/jbossesb-properties.xml
===================================================================
--- labs/jbossesb/trunk/product/install/conf/jbossesb-properties.xml 2010-06-07 17:07:54 UTC (rev 33379)
+++ labs/jbossesb/trunk/product/install/conf/jbossesb-properties.xml 2010-06-07 18:45:03 UTC (rev 33380)
@@ -93,6 +93,14 @@
<property name="org.jboss.soa.esb.mail.smtp.auth" value="true"/>
<property name="org.jboss.soa.esb.ftp.localdir" value="/tmp"/>
<property name="org.jboss.soa.esb.ftp.remotedir" value="/tmp"/>
+ <!-- Coarse-grained ftp timeout property in milliseconds (0 = infinite). The fine-grained properties below will default to this value if not set. See FtpUtils javadoc for more info. -->
+ <property name="org.jboss.soa.esb.ftp.timeout" value="0"/>
+ <!-- Fine-grained ftp timeout property which sets the default timeout to use when opening a socket. Not to be confused with timeout.so which operates on the currently opened socket. -->
+ <!-- property name="org.jboss.soa.esb.ftp.timeout.default" value="0"/ -->
+ <!-- Fine-grained ftp timeout property which sets the timeout to use when reading from the data connection. -->
+ <!-- property name="org.jboss.soa.esb.ftp.timeout.data" value="0"/ -->
+ <!-- Fine-grained ftp timeout property which sets the timeout of a currently open connection.-->
+ <!-- property name="org.jboss.soa.esb.ftp.timeout.so" value="0"/ -->
<property name="org.jboss.soa.esb.jms.connectionPool" value="20"/>
<property name="org.jboss.soa.esb.jms.sessionSleep" value="30"/>
<!-- expiry of messages to temporary invm destinations (default replies)
Modified: labs/jbossesb/trunk/product/install/tomcat/jbossesb-properties.xml
===================================================================
--- labs/jbossesb/trunk/product/install/tomcat/jbossesb-properties.xml 2010-06-07 17:07:54 UTC (rev 33379)
+++ labs/jbossesb/trunk/product/install/tomcat/jbossesb-properties.xml 2010-06-07 18:45:03 UTC (rev 33380)
@@ -58,6 +58,14 @@
<property name="org.jboss.soa.esb.mail.smtp.auth" value="true"/>
<property name="org.jboss.soa.esb.ftp.localdir" value="/tmp"/>
<property name="org.jboss.soa.esb.ftp.remotedir" value="/tmp"/>
+ <!-- Coarse-grained ftp timeout property in milliseconds (0 = infinite). The fine-grained properties below will default to this value if not set. See FtpUtils javadoc for more info. -->
+ <property name="org.jboss.soa.esb.ftp.timeout" value="0"/>
+ <!-- Fine-grained ftp timeout property which sets the default timeout to use when opening a socket. Not to be confused with timeout.so which operates on the currently opened socket. -->
+ <!-- property name="org.jboss.soa.esb.ftp.timeout.default" value="0"/ -->
+ <!-- Fine-grained ftp timeout property which sets the timeout to use when reading from the data connection. -->
+ <!-- property name="org.jboss.soa.esb.ftp.timeout.data" value="0"/ -->
+ <!-- Fine-grained ftp timeout property which sets the timeout of a currently open connection.-->
+ <!-- property name="org.jboss.soa.esb.ftp.timeout.so" value="0"/ -->
</properties>
<properties name="connection">
<property name="min-pool-size" value="5"/>
Modified: labs/jbossesb/trunk/product/rosetta/src/org/jboss/internal/soa/esb/couriers/FileCourier.java
===================================================================
--- labs/jbossesb/trunk/product/rosetta/src/org/jboss/internal/soa/esb/couriers/FileCourier.java 2010-06-07 17:07:54 UTC (rev 33379)
+++ labs/jbossesb/trunk/product/rosetta/src/org/jboss/internal/soa/esb/couriers/FileCourier.java 2010-06-07 18:45:03 UTC (rev 33380)
@@ -36,20 +36,17 @@
import org.jboss.internal.soa.esb.couriers.helpers.FileHandler;
import org.jboss.internal.soa.esb.couriers.helpers.FileHandlerFactory;
import org.jboss.internal.soa.esb.couriers.helpers.LocalFileHandler;
+import org.jboss.internal.soa.esb.util.FtpUtils;
import org.jboss.soa.esb.addressing.Call;
import org.jboss.soa.esb.addressing.MalformedEPRException;
import org.jboss.soa.esb.addressing.eprs.FileEpr;
-import org.jboss.soa.esb.common.Environment;
-import org.jboss.soa.esb.common.ModulePropertyManager;
import org.jboss.soa.esb.couriers.CourierException;
-import org.jboss.soa.esb.couriers.CourierTransportException;
-import org.jboss.soa.esb.couriers.CourierServiceBindException;
import org.jboss.soa.esb.couriers.CourierMarshalUnmarshalException;
+import org.jboss.soa.esb.couriers.CourierServiceBindException;
import org.jboss.soa.esb.couriers.CourierTimeoutException;
+import org.jboss.soa.esb.couriers.CourierTransportException;
import org.jboss.soa.esb.couriers.CourierUtil;
-import org.jboss.soa.esb.listeners.message.errors.Factory;
import org.jboss.soa.esb.message.Message;
-import org.jboss.soa.esb.message.util.Type;
import org.jboss.soa.esb.util.FileUtil;
import org.jboss.soa.esb.util.Util;
@@ -221,9 +218,7 @@
new Class[]
{ File.class });
- String sDir = ModulePropertyManager.getPropertyManager(
- ModulePropertyManager.TRANSPORTS_MODULE).getProperty(
- Environment.FTP_LOCALDIR, DEFAULT_TMP);
+ String sDir = FtpUtils.getLocalDir();
File dir = new File(sDir);
String name = message.getHeader().getCall().getMessageID().toString();
@@ -487,9 +482,6 @@
protected long _pollLatency = 900;
- protected static final String DEFAULT_TMP = System
- .getProperty("java.io.tmpdir");
-
protected String _inputSuffix;
protected URI _uri;
Modified: labs/jbossesb/trunk/product/rosetta/src/org/jboss/internal/soa/esb/couriers/helpers/FtpFileHandler.java
===================================================================
--- labs/jbossesb/trunk/product/rosetta/src/org/jboss/internal/soa/esb/couriers/helpers/FtpFileHandler.java 2010-06-07 17:07:54 UTC (rev 33379)
+++ labs/jbossesb/trunk/product/rosetta/src/org/jboss/internal/soa/esb/couriers/helpers/FtpFileHandler.java 2010-06-07 18:45:03 UTC (rev 33380)
@@ -28,9 +28,8 @@
import java.net.URISyntaxException;
import org.apache.log4j.Logger;
+import org.jboss.internal.soa.esb.util.FtpUtils;
import org.jboss.soa.esb.addressing.eprs.FTPEpr;
-import org.jboss.soa.esb.common.Environment;
-import org.jboss.soa.esb.common.ModulePropertyManager;
import org.jboss.soa.esb.couriers.CourierException;
import org.jboss.soa.esb.couriers.CourierUtil;
import org.jboss.soa.esb.helpers.ConfigTree;
@@ -69,13 +68,12 @@
_remoteDir = uri.getPath();
- final String tmpdir = System.getProperty("java.io.tmpdir") ;
if ((_remoteDir == null) || (_remoteDir.equals("")))
- _remoteDir = ModulePropertyManager.getPropertyManager(ModulePropertyManager.TRANSPORTS_MODULE).getProperty(Environment.FTP_REMOTEDIR, tmpdir);
+ _remoteDir = FtpUtils.getRemoteDir();
_port = uri.getPort();
- _localDir = ModulePropertyManager.getPropertyManager(ModulePropertyManager.TRANSPORTS_MODULE).getProperty(Environment.FTP_LOCALDIR, tmpdir);
+ _localDir = FtpUtils.getLocalDir();
_isAscii = false;
_isPassive = _epr.getPassive();
Modified: labs/jbossesb/trunk/product/rosetta/src/org/jboss/internal/soa/esb/message/filter/MetaDataFilter.java
===================================================================
--- labs/jbossesb/trunk/product/rosetta/src/org/jboss/internal/soa/esb/message/filter/MetaDataFilter.java 2010-06-07 17:07:54 UTC (rev 33379)
+++ labs/jbossesb/trunk/product/rosetta/src/org/jboss/internal/soa/esb/message/filter/MetaDataFilter.java 2010-06-07 18:45:03 UTC (rev 33380)
@@ -25,6 +25,7 @@
import java.io.File;
import java.util.Map;
+import org.jboss.internal.soa.esb.util.FtpUtils;
import org.jboss.soa.esb.addressing.EPR;
import org.jboss.soa.esb.addressing.eprs.FTPEpr;
import org.jboss.soa.esb.addressing.eprs.FileEpr;
@@ -32,7 +33,6 @@
import org.jboss.soa.esb.addressing.eprs.JDBCEpr;
import org.jboss.soa.esb.addressing.eprs.JMSEpr;
import org.jboss.soa.esb.common.Environment;
-import org.jboss.soa.esb.common.ModulePropertyManager;
import org.jboss.soa.esb.couriers.CourierException;
import org.jboss.soa.esb.filter.InputOutputFilter;
import org.jboss.soa.esb.message.Message;
@@ -65,10 +65,7 @@
{
type = Environment.Transports.FTP;
- String dir = ModulePropertyManager.getPropertyManager(
- ModulePropertyManager.TRANSPORTS_MODULE)
- .getProperty(Environment.FTP_LOCALDIR,
- System.getProperty("java.io.tmpdir"));
+ String dir = FtpUtils.getLocalDir();
name = dir
+ File.separator
Modified: labs/jbossesb/trunk/product/rosetta/src/org/jboss/internal/soa/esb/util/FtpImpl.java
===================================================================
--- labs/jbossesb/trunk/product/rosetta/src/org/jboss/internal/soa/esb/util/FtpImpl.java 2010-06-07 17:07:54 UTC (rev 33379)
+++ labs/jbossesb/trunk/product/rosetta/src/org/jboss/internal/soa/esb/util/FtpImpl.java 2010-06-07 18:45:03 UTC (rev 33380)
@@ -31,24 +31,20 @@
import java.io.OutputStream;
import java.net.URI;
import java.net.URISyntaxException;
-import java.util.List;
import org.apache.commons.net.ftp.FTP;
import org.apache.commons.net.ftp.FTPClient;
-import org.apache.log4j.Logger;
import org.jboss.soa.esb.ConfigurationException;
import org.jboss.soa.esb.addressing.eprs.FTPEpr;
import org.jboss.soa.esb.addressing.eprs.FileEpr;
import org.jboss.soa.esb.common.Environment;
import org.jboss.soa.esb.common.ModulePropertyManager;
import org.jboss.soa.esb.helpers.ConfigTree;
-import org.jboss.soa.esb.helpers.KeyValuePair;
import org.jboss.soa.esb.util.FileUtil;
import org.jboss.soa.esb.util.FtpClientUtil;
import org.jboss.soa.esb.util.RemoteFileSystem;
import org.jboss.soa.esb.util.RemoteFileSystemException;
-
/**
* Simplified FTP transfers
* <p>
@@ -57,17 +53,16 @@
* change during the lifetime of the object <br/>Hides low level details.
* </p>
*/
-
public class FtpImpl implements RemoteFileSystem
{
- private static final Logger _logger = Logger.getLogger(FtpImpl.class);
private static final String TMP_SUFFIX = ".rosettaPart";
private boolean m_bPassive;
private int m_iPort;
- private int _timeout = 0;
+
+ private int m_iTimeoutDefault, m_iTimeoutData, m_iTimeoutSo;
protected FTPClient m_oConn ;
@@ -79,27 +74,10 @@
private String m_sRemoteDir, m_sLocalDir;
- private int renameRetry;
+ private int m_iRenameRetry;
- /**
- * Checks validity and completeness of parameters, and keeps the info
- * internally for subsequent FTP requests
- *
- * @param p_oP
- * ConfigTree
- * @throws ConfigurationException :
- * if parameters are invalid or incomplete
- * <li>Parameters: (XML attributes at the root level) </li>
- * <li> ftpServer = name or IP of FTP server </li>
- * <li> ftpUser = login ID for server </li>
- * <li> ftpPassword </li>
- * <li> localDirURI = absolute path in the local filesystem
- * </li>
- * <li> remoteDirURI = remote path is relative to ftp user home
- * in remote computer </li>
- */
-
- public FtpImpl (ConfigTree p_oP, boolean p_bConnect)
+ // package-protected since the only use is from FtpImplUnitTest
+ FtpImpl (ConfigTree p_oP, boolean p_bConnect)
throws ConfigurationException, RemoteFileSystemException
{
m_oParms = p_oP;
@@ -110,13 +88,14 @@
throws ConfigurationException, RemoteFileSystemException
{
this(p_oP) ;
- // TODO there is still a bit of space for improvements here.
+
configTreeFromEpr() ;
initialize(p_bConnect) ;
}
- public FtpImpl (FTPEpr p_oP)
+ // protected since the only use is from "this" and FtpsImpl
+ protected FtpImpl (FTPEpr p_oP)
throws ConfigurationException
{
m_oEpr = p_oP;
@@ -149,53 +128,44 @@
m_sRemoteDir = uri.getPath();
- final String tmpdir = System.getProperty("java.io.tmpdir");
if ((m_sRemoteDir == null) || (m_sRemoteDir.equals("")))
- m_sRemoteDir = ModulePropertyManager.getPropertyManager(
- ModulePropertyManager.TRANSPORTS_MODULE).getProperty(
- Environment.FTP_REMOTEDIR, tmpdir);
+ m_sRemoteDir = FtpUtils.getRemoteDir();
m_iPort = uri.getPort();
- m_sLocalDir = ModulePropertyManager.getPropertyManager(
- ModulePropertyManager.TRANSPORTS_MODULE).getProperty(
- Environment.FTP_LOCALDIR, tmpdir);
+ m_sLocalDir = FtpUtils.getLocalDir();
- File oLocalDir = new File(m_sLocalDir);
- if(!oLocalDir.exists()) {
- throw new ConfigurationException("Local FTP directory '" + oLocalDir.getAbsolutePath()
- + "' doesn't exist. Check your JBossESB config '"
- + ModulePropertyManager.TRANSPORTS_MODULE + ":" + Environment.FTP_LOCALDIR + "'");
- }
+ File oLocalDir = new File(m_sLocalDir);
+ if(!oLocalDir.exists()) {
+ throw new ConfigurationException("Local FTP directory '" + oLocalDir.getAbsolutePath()
+ + "' doesn't exist. Check your JBossESB config '"
+ + ModulePropertyManager.TRANSPORTS_MODULE + ":" + Environment.FTP_LOCALDIR + "'");
+ }
+
+ m_bPassive = m_oEpr.getPassive();
+
+ m_iRenameRetry = FtpUtils.getRenameRetry();
- m_bPassive = m_oEpr.getPassive();
-
- String timeout = ModulePropertyManager.getPropertyManager(ModulePropertyManager.TRANSPORTS_MODULE).getProperty(Environment.FTP_SOCKET_TIMEOUT, null);
-
- if (timeout != null)
- {
- try
- {
- _timeout = Integer.parseInt(timeout);
- }
- catch (NumberFormatException ex)
- {
- throw new ConfigurationException("Invalid timeout specified.", ex);
- }
- }
- else
- _timeout = 0;
+ m_iTimeoutDefault = FtpUtils.getTimeoutDefault();
+ m_iTimeoutData = FtpUtils.getTimeoutData();
+ m_iTimeoutSo = FtpUtils.getTimeoutSo();
}
- public FtpImpl (List<KeyValuePair> p_oAttribs, boolean p_bConnect)
- throws ConfigurationException, RemoteFileSystemException
- {
- m_oParms = new ConfigTree("fromProps");
- for (KeyValuePair oCurr : p_oAttribs)
- m_oParms.setAttribute(oCurr.getKey(), oCurr.getValue());
- initialize(p_bConnect);
- }
-
+ /**
+ * Checks validity and completeness of parameters, and keeps the info
+ * internally for subsequent FTP requests
+ *
+ * @throws ConfigurationException :
+ * if parameters are invalid or incomplete
+ * <li>Parameters: (XML attributes at the root level) </li>
+ * <li> ftpServer = name or IP of FTP server </li>
+ * <li> ftpUser = login ID for server </li>
+ * <li> ftpPassword </li>
+ * <li> localDirURI = absolute path in the local filesystem
+ * </li>
+ * <li> remoteDirURI = remote path is relative to ftp user home
+ * in remote computer </li>
+ */
protected void checkParms () throws ConfigurationException
{
String att = m_oParms.getAttribute(FileEpr.URL_TAG);
@@ -211,53 +181,41 @@
throw new ConfigurationException(ex);
}
- m_sFtpServer = (null != uri) ? uri.getHost() : m_oParms
- .getAttribute(PARMS_FTP_SERVER);
- if (null == m_sFtpServer)
- throw new ConfigurationException("No FTP server specified");
+ m_sFtpServer = (null != uri) ? uri.getHost() : m_oParms.getAttribute(PARMS_FTP_SERVER);
+ if (null == m_sFtpServer) {
+ throw new ConfigurationException("No FTP server specified");
+ }
String[] sa = (null == uri) ? null : uri.getUserInfo().split(":");
m_sUser = (null != sa) ? sa[0] : m_oParms.getAttribute(PARMS_USER);
- if (null == m_sUser)
- throw new ConfigurationException("No username specified for FTP");
+ if (null == m_sUser) {
+ throw new ConfigurationException("No username specified for FTP");
+ }
m_sPasswd = ((null != sa) && (sa.length > 1)) ? sa[1] : m_oParms.getAttribute(PARMS_PASSWD);
- m_sRemoteDir = (null != uri) ? uri.getPath() : m_oParms
- .getAttribute(PARMS_REMOTE_DIR);
+ m_sRemoteDir = (null != uri) ? uri.getPath() : m_oParms.getAttribute(PARMS_REMOTE_DIR);
if (null == m_sRemoteDir) m_sRemoteDir = "";
m_sLocalDir = m_oParms.getAttribute(PARMS_LOCAL_DIR);
if (null == m_sLocalDir) m_sLocalDir = ".";
String sAux = m_oParms.getAttribute(PARMS_PORT);
- m_iPort = (null != uri) ? uri.getPort() : (null == sAux) ? 21 : Integer
- .parseInt(sAux);
+ m_iPort = (null != uri) ? uri.getPort() : (null == sAux) ? 21 : Integer.parseInt(sAux);
m_bPassive = false;
sAux = m_oParms.getAttribute(PARMS_PASSIVE);
m_bPassive = (null != sAux) && Boolean.parseBoolean(sAux);
- String renameRetryString = ModulePropertyManager.getPropertyManager(
- ModulePropertyManager.TRANSPORTS_MODULE).getProperty(
- Environment.FTP_RENAME_RETRY, null);
-
- if (renameRetryString != null)
- {
- try
- {
- renameRetry = Integer.parseInt(renameRetryString);
- }
- catch (Exception ex)
- {
- throw new ConfigurationException("Invalid rename retry limit: "+renameRetryString);
- }
- }
- else
- renameRetry = DEFAULT_RENAME_RETRY_NUMBER;
+ String sRenameRetry = m_oParms.getAttribute(PARMS_RENAME_RETRY);
+ m_iRenameRetry = (null != sRenameRetry) ? Integer.parseInt(sRenameRetry) : FtpUtils.getRenameRetry();
- if (renameRetry < 1)
- renameRetry = 1;
+ String sTimeoutDefault = m_oParms.getAttribute(PARMS_TIMEOUT_DEFAULT);
+ m_iTimeoutDefault = (null != sTimeoutDefault) ? Integer.parseInt(sTimeoutDefault) : FtpUtils.getTimeoutDefault();
+ String sTimeoutData = m_oParms.getAttribute(PARMS_TIMEOUT_DATA);
+ m_iTimeoutData = (null != sTimeoutData) ? Integer.parseInt(sTimeoutData) : FtpUtils.getTimeoutData();
+ String sTimeoutSo = m_oParms.getAttribute(PARMS_TIMEOUT_SO);
+ m_iTimeoutSo = (null != sTimeoutSo) ? Integer.parseInt(sTimeoutSo) : FtpUtils.getTimeoutSo();
}
protected void configTreeFromEpr () throws RemoteFileSystemException
@@ -265,24 +223,24 @@
m_oParms = new ConfigTree("fromEpr");
try
{
- m_oParms.setAttribute(RemoteFileSystem.PARMS_FTP_SERVER,
- m_sFtpServer);
- m_oParms.setAttribute(RemoteFileSystem.PARMS_USER, m_sUser);
+ m_oParms.setAttribute(PARMS_FTP_SERVER, m_sFtpServer);
+ m_oParms.setAttribute(PARMS_USER, m_sUser);
if (m_sPasswd != null)
- m_oParms.setAttribute(RemoteFileSystem.PARMS_PASSWD, m_sPasswd);
- m_oParms.setAttribute(RemoteFileSystem.PARMS_REMOTE_DIR,
- m_sRemoteDir);
+ {
+ m_oParms.setAttribute(PARMS_PASSWD, m_sPasswd);
+ }
+ m_oParms.setAttribute(PARMS_REMOTE_DIR, m_sRemoteDir);
if (m_iPort > 0)
{
- m_oParms.setAttribute(RemoteFileSystem.PARMS_PORT, Integer
- .toString(m_iPort));
+ m_oParms.setAttribute(PARMS_PORT, Integer.toString(m_iPort));
}
- m_oParms
- .setAttribute(RemoteFileSystem.PARMS_LOCAL_DIR, m_sLocalDir);
- m_oParms.setAttribute(RemoteFileSystem.PARMS_ASCII, Boolean
- .toString(false));
- m_oParms.setAttribute(RemoteFileSystem.PARMS_PASSIVE, Boolean
- .toString(m_bPassive));
+ m_oParms.setAttribute(PARMS_LOCAL_DIR, m_sLocalDir);
+ m_oParms.setAttribute(PARMS_ASCII, Boolean.toString(false));
+ m_oParms.setAttribute(PARMS_PASSIVE, Boolean.toString(m_bPassive));
+ m_oParms.setAttribute(PARMS_RENAME_RETRY, Integer.toString(m_iRenameRetry));
+ m_oParms.setAttribute(PARMS_TIMEOUT_DEFAULT, Integer.toString(m_iTimeoutDefault));
+ m_oParms.setAttribute(PARMS_TIMEOUT_DATA, Integer.toString(m_iTimeoutData));
+ m_oParms.setAttribute(PARMS_TIMEOUT_SO, Integer.toString(m_iTimeoutSo));
}
catch (Exception e)
{
@@ -410,6 +368,11 @@
{
try
{
+ if (m_iTimeoutDefault > 0)
+ {
+ m_oConn.setDefaultTimeout(m_iTimeoutDefault);
+ }
+
connect() ;
if (!m_oConn.isConnected())
@@ -426,10 +389,14 @@
{
m_oConn.enterLocalPassiveMode() ;
}
- if (_timeout > 0)
+ if (m_iTimeoutData > 0)
{
- m_oConn.setDataTimeout(_timeout);
+ m_oConn.setDataTimeout(m_iTimeoutData);
}
+ if (m_iTimeoutSo > 0)
+ {
+ m_oConn.setSoTimeout(m_iTimeoutSo);
+ }
}
catch (final IOException ioe)
{
@@ -610,7 +577,7 @@
boolean retryProblem = true; // https://jira.jboss.org/jira/browse/JBESB-1995
- for (int i = 0; i < renameRetry; i++)
+ for (int i = 0; i < m_iRenameRetry; i++)
{
if (m_oConn.rename(sRemoteTmp, p_sRemoteName))
{
@@ -620,11 +587,11 @@
}
else
{
- if (i+1 < renameRetry)
+ if (i+1 < m_iRenameRetry)
{
try
{
- Thread.sleep(DEFAULT_RENAME_RETRY_TIMEOUT);
+ Thread.sleep(1000L); // 1 second
}
catch (final Exception ex)
{
Modified: labs/jbossesb/trunk/product/rosetta/src/org/jboss/internal/soa/esb/util/FtpUtils.java
===================================================================
--- labs/jbossesb/trunk/product/rosetta/src/org/jboss/internal/soa/esb/util/FtpUtils.java 2010-06-07 17:07:54 UTC (rev 33379)
+++ labs/jbossesb/trunk/product/rosetta/src/org/jboss/internal/soa/esb/util/FtpUtils.java 2010-06-07 18:45:03 UTC (rev 33380)
@@ -23,20 +23,165 @@
import java.io.File;
+import org.apache.log4j.Level;
+import org.apache.log4j.Logger;
+import org.jboss.soa.esb.ConfigurationException;
+import org.jboss.soa.esb.common.Configuration;
+import org.jboss.soa.esb.common.Environment;
+
/**
* Ftp handling utilities.
* @author b_georges
*/
public class FtpUtils {
+
+ private static final Logger logger = Logger.getLogger(FtpUtils.class);
/**
* Transforms File path to FTP path
* @param p_oF The file to transform
* @return The modified path
*/
- public static String fileToFtpString(File p_oF)
- {
+ public static String fileToFtpString(File p_oF) {
return (null == p_oF) ? null : p_oF.toString().replace("\\", "/");
}
+ public static String getLocalDir() {
+ String s = trimToNull(Configuration.getFtpLocalDir());
+ if (s == null) {
+ s = trimToNull(System.getProperty("java.io.tmpdir"));
+ if (s == null) {
+ s = "/tmp";
+ if (logger.isEnabledFor(Level.WARN)) {
+ logger.warn("property [" + Environment.FTP_LOCALDIR + "] and ${java.io.tmpdir} undefined; defaulting to [" + s + "].");
+ }
+ }
+ }
+ if (logger.isEnabledFor(Level.WARN)) {
+ File f = new File(s);
+ if (!f.exists() || !f.isDirectory() || !f.canRead() || !f.canWrite()) {
+ StringBuilder sb = new StringBuilder();
+ sb.append("getLocalDir() returning [");
+ sb.append(s);
+ sb.append("] however [");
+ sb.append(f.getAbsolutePath());
+ sb.append("]");
+ if (!f.exists()) {
+ sb.append(" does not exist");
+ } else if (!f.isDirectory()) {
+ sb.append(" is not a directory");
+ } else {
+ boolean and = false;
+ if (!f.canRead()) {
+ sb.append(" cannot be read from");
+ and = true;
+ }
+ if (!f.canWrite()) {
+ if (and) {
+ sb.append(" and");
+ }
+ sb.append(" cannot be written to");
+ }
+ }
+ sb.append(".");
+ logger.warn(sb.toString());
+ }
+ }
+ return s;
+ }
+
+ public static String getRemoteDir() {
+ String s = trimToNull(Configuration.getFtpRemoteDir());
+ if (s == null) {
+ s = trimToNull(System.getProperty("java.io.tmpdir"));
+ if (s == null) {
+ s = "/tmp";
+ if (logger.isEnabledFor(Level.WARN)) {
+ logger.warn("property [" + Environment.FTP_REMOTEDIR + "] and ${java.io.tmpdir} undefined; defaulting to [" + s + "].");
+ }
+ }
+ }
+ return s;
+ }
+
+ public static int getRenameRetry() throws ConfigurationException {
+ return getIntProperty(Environment.FTP_RENAME_RETRY, Configuration.getFtpRenameRetry(), 1, 10);
+ }
+
+ /**
+ * Coarse-grained ftp timeout property in milliseconds (0 = infinite).
+ * The getTimeout...() properties below will default to this value if they are not set.
+ *
+ * @return timeout
+ * @throws ConfigurationException if a NumberFormatException is encountered
+ */
+ public static int getTimeout() throws ConfigurationException {
+ return getIntProperty(Environment.FTP_TIMEOUT, Configuration.getFtpTimeout(), 0, 0);
+ }
+
+ /**
+ * Fine-grained ftp timeout property in milliseconds (0 = infinite) used for org.apache.commons.net.SocketClient.setDefaultTimeout(int):void,
+ * which <i>sets the default timeout to use when opening a socket. It is used only previous to a
+ * call to connect() and should not be confused with setSoTimeout() which operates on the currently opened socket.</i>
+ *
+ * @return timeoutDefault, or getTimeout() if not set
+ * @throws ConfigurationException if a NumberFormatException is encountered
+ */
+ public static int getTimeoutDefault() throws ConfigurationException {
+ return getIntProperty(Environment.FTP_TIMEOUT_DEFAULT, Configuration.getFtpTimeoutDefault(), 0, getTimeout());
+ }
+
+ /**
+ * Fine-grained ftp timeout property in milliseconds (0 = infinite) used for org.apache.commons.net.ftp.FTPClient.setDataTimeout(int):void,
+ * which <i>sets the timeout to use when reading from the data connection</i>.
+ *
+ * @return timeoutData, or getTimeout() if not set
+ * @throws ConfigurationException if a NumberFormatException is encountered
+ */
+ public static int getTimeoutData() throws ConfigurationException {
+ return getIntProperty(Environment.FTP_TIMEOUT_DATA, Configuration.getFtpTimeoutData(), 0, getTimeout());
+ }
+
+ /**
+ * Fine-grained ftp timeout property in milliseconds (0 = infinite) used for java.net.Socket.setSoTimeout(int):void,
+ * which <i>sets the timeout of a currently open connection</i>.
+ *
+ * @return timeoutSo, or getTimeout() if not set
+ * @throws ConfigurationException if a NumberFormatException is encountered
+ */
+ public static int getTimeoutSo() throws ConfigurationException {
+ return getIntProperty(Environment.FTP_TIMEOUT_SO, Configuration.getFtpTimeoutSo(), 0, getTimeout());
+ }
+
+ private static int getIntProperty(String configName, String configValue, int minValue, int defValue) throws ConfigurationException {
+ int retValue;
+ String s = trimToNull(configValue);
+ if (s != null) {
+ try {
+ retValue = Integer.parseInt(s);
+ } catch (NumberFormatException e) {
+ throw new ConfigurationException("could not parse property [" + configName + "] value [" + s + "] to an int.", e);
+ }
+ } else {
+ retValue = defValue;
+ }
+ if (retValue < minValue) {
+ if (logger.isEnabledFor(Level.WARN)) {
+ logger.warn("property [" + configName + "] value [" + retValue + "] illegal; defaulting to [" + defValue + "].");
+ }
+ retValue = defValue;
+ }
+ return retValue;
+ }
+
+ private static String trimToNull(String s) {
+ if (s != null) {
+ s = s.trim();
+ if (s.length() == 0) {
+ s = null;
+ }
+ }
+ return s;
+ }
+
}
Modified: labs/jbossesb/trunk/product/rosetta/src/org/jboss/internal/soa/esb/util/FtpsImpl.java
===================================================================
--- labs/jbossesb/trunk/product/rosetta/src/org/jboss/internal/soa/esb/util/FtpsImpl.java 2010-06-07 17:07:54 UTC (rev 33379)
+++ labs/jbossesb/trunk/product/rosetta/src/org/jboss/internal/soa/esb/util/FtpsImpl.java 2010-06-07 18:45:03 UTC (rev 33380)
@@ -34,7 +34,6 @@
import java.security.cert.CertificateFactory;
import java.security.cert.X509Certificate;
import java.util.ArrayList;
-import java.util.List;
import javax.net.ssl.X509TrustManager;
@@ -43,8 +42,6 @@
import org.apache.log4j.Logger;
import org.jboss.soa.esb.ConfigurationException;
import org.jboss.soa.esb.addressing.eprs.FTPSEpr;
-import org.jboss.soa.esb.helpers.ConfigTree;
-import org.jboss.soa.esb.helpers.KeyValuePair;
import org.jboss.soa.esb.util.RemoteFileSystemException;
/**
@@ -63,29 +60,6 @@
private URI m_oCertificate ;
private String m_oCertificateName ;
- /**
- * Checks validity and completeness of parameters, and keeps the info
- * internally for subsequent FTP requests
- *
- * @param p_oP
- * ConfigTree
- * @throws ConfigurationException :
- * if parameters are invalid or incomplete
- * <li>Parameters: (XML attributes at the root level) </li>
- * <li> ftpServer = name or IP of FTP server </li>
- * <li> ftpUser = login ID for server </li>
- * <li> ftpPassword </li>
- * <li> localDirURI = absolute path in the local filesystem
- * </li>
- * <li> remoteDirURI = remote path is relative to ftp user home
- * in remote computer </li>
- */
- public FtpsImpl (ConfigTree p_oP, boolean p_bConnect)
- throws ConfigurationException, RemoteFileSystemException
- {
- super(p_oP, p_bConnect) ;
- }
-
public FtpsImpl (FTPSEpr p_oP, boolean p_bConnect)
throws ConfigurationException, RemoteFileSystemException
{
@@ -101,18 +75,11 @@
}
m_oCertificateName = p_oP.getCertificateName() ;
- // TODO there is still a bit of space for improvements here.
configTreeFromEpr();
initialize(p_bConnect);
}
- public FtpsImpl (List<KeyValuePair> p_oAttribs, boolean p_bConnect)
- throws ConfigurationException, RemoteFileSystemException
- {
- super(p_oAttribs, p_bConnect) ;
- }
-
protected void configTreeFromEpr () throws RemoteFileSystemException
{
super.configTreeFromEpr() ;
@@ -133,6 +100,21 @@
}
}
+ /**
+ * Checks validity and completeness of parameters, and keeps the info
+ * internally for subsequent FTP requests
+ *
+ * @throws ConfigurationException :
+ * if parameters are invalid or incomplete
+ * <li>Parameters: (XML attributes at the root level) </li>
+ * <li> ftpServer = name or IP of FTP server </li>
+ * <li> ftpUser = login ID for server </li>
+ * <li> ftpPassword </li>
+ * <li> localDirURI = absolute path in the local filesystem
+ * </li>
+ * <li> remoteDirURI = remote path is relative to ftp user home
+ * in remote computer </li>
+ */
protected void checkParms() throws ConfigurationException
{
super.checkParms();
Modified: labs/jbossesb/trunk/product/rosetta/src/org/jboss/internal/soa/esb/util/SecureFtpImpl.java
===================================================================
--- labs/jbossesb/trunk/product/rosetta/src/org/jboss/internal/soa/esb/util/SecureFtpImpl.java 2010-06-07 17:07:54 UTC (rev 33379)
+++ labs/jbossesb/trunk/product/rosetta/src/org/jboss/internal/soa/esb/util/SecureFtpImpl.java 2010-06-07 18:45:03 UTC (rev 33380)
@@ -43,10 +43,7 @@
import org.jboss.soa.esb.ConfigurationException;
import org.jboss.soa.esb.addressing.eprs.FileEpr;
import org.jboss.soa.esb.addressing.eprs.SFTPEpr;
-import org.jboss.soa.esb.common.Environment;
-import org.jboss.soa.esb.common.ModulePropertyManager;
import org.jboss.soa.esb.helpers.ConfigTree;
-import org.jboss.soa.esb.helpers.KeyValuePair;
import org.jboss.soa.esb.util.ClassUtil;
import org.jboss.soa.esb.util.FileUtil;
import org.jboss.soa.esb.util.RemoteFileSystem;
@@ -98,20 +95,6 @@
private URI m_oCertificate;
private String m_sPassphrase;
-
- /*
- * Constructor
- *
- * @param p_oP Is a config treeThe used to initialize the object
- *
- * @param connect If true create a new sftp session
- *
- */
- public SecureFtpImpl(ConfigTree p_oP, boolean p_bConnect) throws ConfigurationException, RemoteFileSystemException
- {
- m_oParms = p_oP;
- initialize(p_bConnect);
- }
/*
* Constructor
@@ -150,17 +133,12 @@
m_sRemoteDir = uri.getPath();
- final String tmpdir = System.getProperty("java.io.tmpdir");
if ((m_sRemoteDir == null) || (m_sRemoteDir.equals("")))
- m_sRemoteDir = ModulePropertyManager.getPropertyManager(
- ModulePropertyManager.TRANSPORTS_MODULE).getProperty(
- Environment.FTP_REMOTEDIR, tmpdir);
+ m_sRemoteDir = FtpUtils.getRemoteDir();
m_iPort = uri.getPort();
- m_sLocalDir = ModulePropertyManager.getPropertyManager(
- ModulePropertyManager.TRANSPORTS_MODULE).getProperty(
- Environment.FTP_LOCALDIR, tmpdir);
+ m_sLocalDir = FtpUtils.getLocalDir();
try
{
@@ -177,23 +155,6 @@
initialize(p_bConnect);
}
- /*
- * Constructor
- *
- * @param attribs The key/value pairs used to initialize the object
- *
- * @param connect If true create a new sftp session using attribs
- *
- */
- public SecureFtpImpl(List<KeyValuePair> attribs, boolean connect)
- throws ConfigurationException, RemoteFileSystemException
- {
- m_oParms = new ConfigTree("fromProps");
- for (KeyValuePair oCurr : attribs)
- m_oParms.setAttribute(oCurr.getKey(), oCurr.getValue());
- initialize(connect);
- }
-
private void initialize(boolean bConnect) throws ConfigurationException, RemoteFileSystemException
{
checkParms();
Modified: labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/common/Configuration.java
===================================================================
--- labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/common/Configuration.java 2010-06-07 17:07:54 UTC (rev 33379)
+++ labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/common/Configuration.java 2010-06-07 18:45:03 UTC (rev 33380)
@@ -31,7 +31,6 @@
import javax.naming.InitialContext;
import javax.naming.NamingException;
-import org.apache.log4j.Logger;
import org.jboss.internal.soa.esb.services.registry.InVMRegistryInterceptor;
import org.jboss.soa.esb.ConfigurationException;
import org.jboss.soa.esb.helpers.KeyValuePair;
@@ -40,7 +39,6 @@
public class Configuration
{
- private static Logger _logger = Logger.getLogger(Configuration.class);
private static KeyValuePair[] s_oaKV = new KeyValuePair[]
{
@@ -54,6 +52,13 @@
new KeyValuePair(Environment.HTTP_PORT, getHttpPort()),
new KeyValuePair(Environment.HTTP_SECURE_PORT, getHttpSecurePort()),
new KeyValuePair(Environment.HTTP_RESPONSE_STATUS_ENABLED, getHttpResponseStatusEnabled()),
+ new KeyValuePair(Environment.FTP_LOCALDIR, getFtpLocalDir()),
+ new KeyValuePair(Environment.FTP_REMOTEDIR, getFtpRemoteDir()),
+ new KeyValuePair(Environment.FTP_RENAME_RETRY, getFtpRenameRetry()),
+ new KeyValuePair(Environment.FTP_TIMEOUT, getFtpTimeout()),
+ new KeyValuePair(Environment.FTP_TIMEOUT_DEFAULT, getFtpTimeoutDefault()),
+ new KeyValuePair(Environment.FTP_TIMEOUT_DATA, getFtpTimeoutData()),
+ new KeyValuePair(Environment.FTP_TIMEOUT_SO, getFtpTimeoutSo()),
new KeyValuePair(Environment.JNDI_SERVER_URL, getJndiServerURL()),
new KeyValuePair(Environment.JNDI_SERVER_CONTEXT_FACTORY, getJndiServerContextFactory()),
new KeyValuePair(Environment.JNDI_SERVER_PKG_PREFIX, getJndiServerPkgPrefix()),
@@ -152,6 +157,41 @@
{
return ModulePropertyManager.getPropertyManager(ModulePropertyManager.TRANSPORTS_MODULE).getProperty(Environment.HTTP_RESPONSE_STATUS_ENABLED);
}
+
+ public static String getFtpLocalDir()
+ {
+ return ModulePropertyManager.getPropertyManager(ModulePropertyManager.TRANSPORTS_MODULE).getProperty(Environment.FTP_LOCALDIR);
+ }
+
+ public static String getFtpRemoteDir()
+ {
+ return ModulePropertyManager.getPropertyManager(ModulePropertyManager.TRANSPORTS_MODULE).getProperty(Environment.FTP_REMOTEDIR);
+ }
+
+ public static String getFtpRenameRetry()
+ {
+ return ModulePropertyManager.getPropertyManager(ModulePropertyManager.TRANSPORTS_MODULE).getProperty(Environment.FTP_RENAME_RETRY);
+ }
+
+ public static String getFtpTimeout()
+ {
+ return ModulePropertyManager.getPropertyManager(ModulePropertyManager.TRANSPORTS_MODULE).getProperty(Environment.FTP_TIMEOUT);
+ }
+
+ public static String getFtpTimeoutDefault()
+ {
+ return ModulePropertyManager.getPropertyManager(ModulePropertyManager.TRANSPORTS_MODULE).getProperty(Environment.FTP_TIMEOUT_DEFAULT);
+ }
+
+ public static String getFtpTimeoutData()
+ {
+ return ModulePropertyManager.getPropertyManager(ModulePropertyManager.TRANSPORTS_MODULE).getProperty(Environment.FTP_TIMEOUT_DATA);
+ }
+
+ public static String getFtpTimeoutSo()
+ {
+ return ModulePropertyManager.getPropertyManager(ModulePropertyManager.TRANSPORTS_MODULE).getProperty(Environment.FTP_TIMEOUT_SO);
+ }
public static String getJndiServerURL()
{
Modified: labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/common/Environment.java
===================================================================
--- labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/common/Environment.java 2010-06-07 17:07:54 UTC (rev 33379)
+++ labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/common/Environment.java 2010-06-07 18:45:03 UTC (rev 33380)
@@ -58,8 +58,11 @@
public static final String FTP_LOCALDIR = "org.jboss.soa.esb.ftp.localdir";
public static final String FTP_REMOTEDIR = "org.jboss.soa.esb.ftp.remotedir";
- public static final String FTP_SOCKET_TIMEOUT = "org.jboss.soa.esb.ftp.timeout";
public static final String FTP_RENAME_RETRY = "org.jboss.soa.esb.ftp.renameretry";
+ public static final String FTP_TIMEOUT = "org.jboss.soa.esb.ftp.timeout";
+ public static final String FTP_TIMEOUT_DEFAULT = "org.jboss.soa.esb.ftp.timeout.default";
+ public static final String FTP_TIMEOUT_DATA = "org.jboss.soa.esb.ftp.timeout.data";
+ public static final String FTP_TIMEOUT_SO = "org.jboss.soa.esb.ftp.timeout.so";;
public static final String JMS_CONNECTION_POOL_SIZE = "org.jboss.soa.esb.jms.connectionPool";
public static final String JMS_SESSION_SLEEP = "org.jboss.soa.esb.jms.sessionSleep";
Modified: labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/util/FtpClientUtil.java
===================================================================
--- labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/util/FtpClientUtil.java 2010-06-07 17:07:54 UTC (rev 33379)
+++ labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/util/FtpClientUtil.java 2010-06-07 18:45:03 UTC (rev 33380)
@@ -35,12 +35,8 @@
import org.apache.commons.net.ftp.FTPClient;
import org.jboss.internal.soa.esb.util.FtpUtils;
import org.jboss.soa.esb.ConfigurationException;
-import org.jboss.soa.esb.common.Environment;
-import org.jboss.soa.esb.common.ModulePropertyManager;
import org.jboss.soa.esb.helpers.ConfigTree;
import org.jboss.soa.esb.helpers.KeyValuePair;
-import org.jboss.soa.esb.util.RemoteFileSystem;
-import org.jboss.soa.esb.util.RemoteFileSystemException;
/**
* Simplified FTP transfers
@@ -52,7 +48,6 @@
*
* TODO why duplicate so much of FtpImpl.java?
*/
-
public class FtpClientUtil
{
private static final String TMP_SUFFIX = ".rosettaPart";
@@ -69,6 +64,8 @@
private String m_sRemoteDir, m_sLocalDir;
private int m_iPort;
+
+ private int m_iTimeoutDefault, m_iTimeoutData, m_iTimeoutSo;
private boolean m_bPassive;
@@ -76,7 +73,7 @@
private boolean m_bAsciiTransferType ;
- private int renameRetry;
+ private int m_iRenameRetry;
public String getRemoteDir ()
{
@@ -125,6 +122,11 @@
{
if (bConnect)
{
+ if (m_iTimeoutDefault > 0)
+ {
+ m_oConn.setDefaultTimeout(m_iTimeoutDefault);
+ }
+
if (m_iPort > 0)
{
m_oConn.connect(m_sFtpServer, m_iPort) ;
@@ -147,6 +149,14 @@
{
m_oConn.enterLocalPassiveMode() ;
}
+ if (m_iTimeoutData > 0)
+ {
+ m_oConn.setDataTimeout(m_iTimeoutData);
+ }
+ if (m_iTimeoutSo > 0)
+ {
+ m_oConn.setSoTimeout(m_iTimeoutSo);
+ }
}
}
catch (IOException ioe)
@@ -356,7 +366,7 @@
boolean retryProblem = true; // https://jira.jboss.org/jira/browse/JBESB-1995
- for (int i = 0; i < renameRetry; i++)
+ for (int i = 0; i < m_iRenameRetry; i++)
{
if (m_oConn.rename(sRemoteTmp, p_sRemoteName))
{
@@ -366,11 +376,11 @@
}
else
{
- if (i+1 < renameRetry)
+ if (i+1 < m_iRenameRetry)
{
try
{
- Thread.sleep(RemoteFileSystem.DEFAULT_RENAME_RETRY_TIMEOUT);
+ Thread.sleep(1000L); // 1 second
}
catch (final Exception ex)
{
@@ -493,26 +503,11 @@
sAux = m_oParms.getAttribute(RemoteFileSystem.PARMS_PASSIVE);
m_bPassive = (null != sAux) && Boolean.parseBoolean(sAux);
- String renameRetryString = ModulePropertyManager.getPropertyManager(
- ModulePropertyManager.TRANSPORTS_MODULE).getProperty(
- Environment.FTP_RENAME_RETRY, null);
-
- if (renameRetryString != null)
- {
- try
- {
- renameRetry = Integer.parseInt(renameRetryString);
- }
- catch (Exception ex)
- {
- throw new ConfigurationException("Invalid rename retry limit: "+renameRetryString);
- }
- }
- else
- renameRetry = RemoteFileSystem.DEFAULT_RENAME_RETRY_NUMBER;
+ m_iRenameRetry = FtpUtils.getRenameRetry();
- if (renameRetry < 1)
- renameRetry = 1;
+ m_iTimeoutDefault = FtpUtils.getTimeoutDefault();
+ m_iTimeoutData = FtpUtils.getTimeoutData();
+ m_iTimeoutSo = FtpUtils.getTimeoutSo();
} // __________________________________
public static String fileToFtpString (File p_oF)
Modified: labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/util/RemoteFileSystem.java
===================================================================
--- labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/util/RemoteFileSystem.java 2010-06-07 17:07:54 UTC (rev 33379)
+++ labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/util/RemoteFileSystem.java 2010-06-07 18:45:03 UTC (rev 33380)
@@ -58,10 +58,15 @@
public static final String PARMS_PASSPHRASE = "passphrase";
- public static final int DEFAULT_RENAME_RETRY_NUMBER = 10; // default retries
+ public static final String PARMS_RENAME_RETRY = "ftpRenameRetry";
- public static final int DEFAULT_RENAME_RETRY_TIMEOUT = 1000; // 1 second
+ public static final String PARMS_TIMEOUT_DEFAULT = "ftpTimeoutDefault";
+ public static final String PARMS_TIMEOUT_DATA = "ftpTimeoutData";
+
+ public static final String PARMS_TIMEOUT_SO = "ftpTimeoutSo";
+
+
public String getRemoteDir ();
/**
Modified: labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/internal/soa/esb/util/FtpImplUnitTest.java
===================================================================
--- labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/internal/soa/esb/util/FtpImplUnitTest.java 2010-06-07 17:07:54 UTC (rev 33379)
+++ labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/internal/soa/esb/util/FtpImplUnitTest.java 2010-06-07 18:45:03 UTC (rev 33380)
@@ -297,6 +297,10 @@
configTree.setAttribute( RemoteFileSystem.PARMS_LOCAL_DIR, ftpServer .getRootDir() );
configTree.setAttribute( RemoteFileSystem.PARMS_ASCII, Boolean .toString( false ) );
configTree.setAttribute( RemoteFileSystem.PARMS_PASSIVE, Boolean .toString( false ) );
+ configTree.setAttribute( RemoteFileSystem.PARMS_RENAME_RETRY, Integer .toString(10) );
+ configTree.setAttribute( RemoteFileSystem.PARMS_TIMEOUT_DEFAULT, Integer .toString(0) );
+ configTree.setAttribute( RemoteFileSystem.PARMS_TIMEOUT_DATA, Integer .toString(0) );
+ configTree.setAttribute( RemoteFileSystem.PARMS_TIMEOUT_SO, Integer .toString(0) );
return configTree;
}
More information about the jboss-svn-commits
mailing list