LibraryToggle FramesPrintFeedback

There are several URI options that you can set on a File or FTP consumer endpoint, which take a file language expression as their value. For example, in a File consumer endpoint URI you can set the fileName, move, preMove, moveFailed, and sortBy options using a file expression.

In a File consumer endpoint, the fileName option acts as a filter, determining which file will actually be read from the starting directory. If a plain text string is specified (for example, fileName=report.txt), the File consumer reads the same file each time it is updated. You can make this option more dynamic, however, by specifying a simple expression. For example, you could use a counter bean to select a different file each time the File consumer polls the starting directory, as follows:

file://target/filelanguage/bean/?fileName=${bean:counter.next}.txt&delete=true

Where the ${bean:counter.next} expression invokes the next() method on the bean registered under the ID, counter.

The move option is used to move files to a backup location after then have been read by a File consumer endpoint. For example, the following endpoint moves files to a backup directory, after they have been processed:

file://target/filelanguage/?move=backup/${date:now:yyyyMMdd}/${file:name.noext}.bak&recursive=false

Where the ${file:name.noext}.bak expression modifies the original file name, replacing the file extension with .bak.

You can use the sortBy option to specify the order in which file should be processed. For example, to process files according to the alphabetical order of their file name, you could use the following File consumer endpoint:

file://target/filelanguage/?sortBy=file:name

To process file according to the order in which they were last modified, you could use the following File consumer endpoint:

file://target/filelanguage/?sortBy=file:modified

You can reverse the order by adding the reverse: prefix—for example:

file://target/filelanguage/?sortBy=reverse:file:modified
Comments powered by Disqus