(Some of these features are not yet implemented.)
Monitors multiple directories
File name filters
Plugin: Move/copy/rename
Plugin: Mail
Plugin: System
Template variables
Run as service/daemon
You can configure multipe directories and each directory will get a thread that will monitor file changes. The plugin you specify will receive the file name which it can process. After the processing the file can be deleted.
Monitoring does not use any OS specific mechanism, but its own implementation. You can specify a time interval in which the directory will be polled.
You can start several instances of the application with different configuration to diferentiate the load per application or to run it under different user account.
Default is no filter, so the plugin gets every file in the directory.
You can specify that you want only files that match specific pattern, or that you want to exclude those files, or combine the two patterns. The pattern uses simple wildcards, asterisk (*) and question mark (?). (Internally it uses Java Regex but it has not been tested with any other combination).
If you declare colliding filters, the exclusion filter is executed last. So, if you define include *.txt, and exclude *.t* you will not get anything.
Plugin framework lets you define your own plugin or extend an existing one. Plugins included are: Move, Mail and System
This plugin moves or copies files from one folder to another. If you don't specify "delete" in the configuration, it just copies the file. Destination file can be overwritten or overwritten if it's older.
File can be renamed in the process, as well. You can use template variables in creating new file name or the destination directory.
Mails a file as an attachment or as the body of the mail. It can insert headers, footers (as text or from anexternal file), define mail fields (To, From, CC, BCC...) with template variables. Not yet implemented.
Executes files as commands or as parameters of a command. You can wait for the command to finish before processing the next file. You can define a working directory.
While processing, some configuration values can be modified from the template definition by using template variables. For example, let's say the file name must be renamed to include a date. The template could be \F-\D.\E. A file name would then be converted from invoice.tif to invoice-2012-06-22.tif.
Suported variables are:
A - absolute path to the file
F - full file name
N - file name without extension
E - file extension
D - date (representation format must be defined in plugin configuration)
Variable separator character is the system path separator, i.e. slash on Unix, backslash on Windows etc. So you use \F on Windows and /F on Linux.
Not all configuration values can use templates and not all templates can include all variables, it depends on the context. Please, consult the apropriate configuration section (global, directory or plugin).
DirExe can be used with Java Service Wrapper from Tanuki Software. It is compatible with the "Integration Method 1 (WrapperSimpleApp)".