INT-1670 updated FTP/FTPS documentation to reflect recent changes

This commit is contained in:
Oleg Zhurakousky
2010-12-10 13:34:56 -05:00
parent 56692e6494
commit 0da876fe6e

View File

@@ -47,6 +47,7 @@ xsi:schemaLocation="http://www.springframework.org/schema/integration/ftp
<property name="password" value="frog"/>
<property name="clientMode" value="0"/>
<property name="fileType" value="2"/>
<property name="bufferSize" value="1000000"/>
</bean>]]></programlisting>
</para>
<para>
@@ -74,6 +75,22 @@ xsi:schemaLocation="http://www.springframework.org/schema/integration/ftp
<property name="implicit" value="true"/>
</bean>]]></programlisting>
</para>
<para>
<emphasis>Stale session and session pooling</emphasis>
</para>
<para>
Every time an adapter requests a session object from the <classname>DefaultFtpClientFactory</classname> or <classname>DefaultFtpsClientFactory</classname> the session is
returned from the default session pool maintained by these factories. Session in the session pool might go stale
(session that were disconnected by the server due to inactivity) so <classname>DefaultFtpClientFactory</classname> or <classname>DefaultFtpsClientFactory</classname>
will perform validation to make sure that they never return stale session to the adapter. If stale session was encountered
it will be removed form the pool and the new one will be created.
<note>
If you experience connectivity problems and would like to trace session creation as well as see which session are
polled you may enable it by setting logger to TRACE level (e.g., log4j.category.org.springframework.integration.ftp=DEBUG)
</note>
</para>
<para>
Now all you need to do is inject these session factories into your adapters. Obviously the protocol (FTP or FTPS) that an adapter will
@@ -131,7 +148,7 @@ xsi:schemaLocation="http://www.springframework.org/schema/integration/ftp
</para>
<para>
Some times the file that just appeared in the monitored (remote) directory is not complete. Typically such a file
will be written with some temporary extension (e.g., foo.txt.writing) and then renamed after the writing process finished.
will be written with temporary extension (e.g., foo.txt.writing) and then renamed after the writing process finished.
As a user in most cases you are only interested in files that are complete and would like to filter only files that are complete.
To handle these scenarios you can use the filtering support provided by the <code>filename-pattern</code>, <code>filename-regex</code>
and <code>filter</code> attributes. Here is an example that uses a custom Filter implementation.