INT-2892 Add 'local-filter' to (S)FTP Adapters
Allow the replacement of the default AcceptOnceFileListFilter.
This commit is contained in:
committed by
Gunnar Hillert
parent
e6753efd50
commit
14a7953ff6
@@ -151,6 +151,7 @@ protected void postProcessClientBeforeConnect(T client) throws IOException {
|
||||
remote-directory="some/remote/path"
|
||||
remote-file-separator="/"
|
||||
local-filename-generator-expression="#this.toUpperCase() + '.a'"
|
||||
local-filter="myFilter"
|
||||
local-directory=".">
|
||||
<int:poller fixed-rate="1000"/>
|
||||
</int-ftp:inbound-channel-adapter>]]></programlisting>
|
||||
@@ -174,13 +175,20 @@ protected void postProcessClientBeforeConnect(T client) throws IOException {
|
||||
(e.g. <code>filename-regex=".*\.test$"</code>). And of course if you need complete control you can use <code>filter</code>
|
||||
attribute and provide a reference to any custom implementation of the
|
||||
<classname>org.springframework.integration.file.filters.FileListFilter</classname>, a strategy interface for filtering a
|
||||
list of files.
|
||||
list of files. This filter determines which remote files are retrieved.
|
||||
</para>
|
||||
<note>
|
||||
As of Spring Integration 2.0.2, we have added a 'remote-file-separator' attribute. That allows you to configure a
|
||||
file separator character to use if the default '/' is not applicable for your particular environment.
|
||||
<note>
|
||||
Beginning with 3.0, you can also specify a filter used to filter the files locally, once they have
|
||||
been retrieved. The default filter is an <classname>AcceptOnceFileListFilter</classname> which prevents processing
|
||||
files with the same name multiple times in the same JVM execution; this can now be overridden
|
||||
(for example with an <classname>AcceptAllFileListFilter</classname>), using the <code>local-filter</code> attribute.
|
||||
Previously, the default <classname>AcceptOnceFileListFilter</classname> could not be overridden.
|
||||
</note>
|
||||
<para>
|
||||
<para>
|
||||
The 'remote-file-separator' attribute allows you to configure a
|
||||
file separator character to use if the default '/' is not applicable for your particular environment.
|
||||
</para>
|
||||
<para>
|
||||
Please refer to the schema for more details on these attributes.
|
||||
</para>
|
||||
<para>
|
||||
|
||||
@@ -227,6 +227,7 @@ xsi:schemaLocation="http://www.springframework.org/schema/integration/sftp
|
||||
local-directory="file:target/foo"
|
||||
auto-create-local-directory="true"
|
||||
local-filename-generator-expression="#this.toUpperCase() + '.a'"
|
||||
local-filter="myFilter"
|
||||
delete-remote-files="false">
|
||||
<int:poller fixed-rate="1000"/>
|
||||
</int-sftp:inbound-channel-adapter>]]></programlisting>
|
||||
@@ -251,8 +252,15 @@ xsi:schemaLocation="http://www.springframework.org/schema/integration/sftp
|
||||
(e.g. <code>filename-regex=".*\.test$"</code>). And of course if you need complete control you can use the <code>filter</code>
|
||||
attribute to provide a reference to a custom implementation of the
|
||||
<classname>org.springframework.integration.file.filters.FileListFilter</classname> - a strategy interface for filtering a
|
||||
list of files.
|
||||
list of files. This filter determines which remote files are retrieved.
|
||||
</para>
|
||||
<note>
|
||||
Beginning with 3.0, you can also specify a filter used to filter the files locally, once they have
|
||||
been retrieved. The default filter is an <classname>AcceptOnceFileListFilter</classname> which prevents processing
|
||||
files with the same name multiple times in the same JVM execution; this can now be overridden
|
||||
(for example with an <classname>AcceptAllFileListFilter</classname>), using the <code>local-filter</code> attribute.
|
||||
Previously, the default <classname>AcceptOnceFileListFilter</classname> could not be overridden.
|
||||
</note>
|
||||
<para>
|
||||
Please refer to the schema for more detail on these attributes.
|
||||
</para>
|
||||
|
||||
@@ -88,6 +88,27 @@
|
||||
URI-schemes supported by Spring Web Services. For more information see <xref linkend="outbound-uri"/>.
|
||||
</para>
|
||||
</section>
|
||||
<section id="3.0-xFTP-ib">
|
||||
<title>(S)FTP(S) Inbound Adapters</title>
|
||||
<para>
|
||||
Previously, there was no way to override the default filter used to process files retrieved
|
||||
from a remote server. The <code>filter</code> attribute determines which files are retrieved
|
||||
but the <classname>FileReadingMessageSource</classname> uses an
|
||||
<classname>AcceptOnceFileListFilter</classname>. This means that if a new copy of a file
|
||||
is retrieved, with the same name as a previously copied file, no message was sent from the
|
||||
adapter.
|
||||
</para>
|
||||
<para>
|
||||
With this release, a new attribute <code>local-filter</code> allows you to override the
|
||||
default filter, for example with an <classname>AcceptAllFileListFilter</classname>, or some
|
||||
other custom filter.
|
||||
</para>
|
||||
<para>
|
||||
For users that wish the behavior of the <classname>AcceptOnceFileListFilter</classname>
|
||||
to be maintained across JVM executions, a custom filter that retains state, perhaps on
|
||||
the file system, can now be configured.
|
||||
</para>
|
||||
</section>
|
||||
<section id="3.0-xFTP-gw">
|
||||
<title>(S)FTP(S) Gateways</title>
|
||||
<para>
|
||||
|
||||
Reference in New Issue
Block a user