These components write messages to files in a directory or poll files or directories (possibly recursively) to send files into the JBI.

Firstly here is the poller which will poll a file or directory (recursively by default) to find files, which are then sent into the JBI bus

Error formatting macro: snippet: java.lang.IllegalArgumentException: Invalid url: must begin with a configured prefix.

 

Then here's the sender. We're using a FileMarshaler here to turn JBI messages into files with an expression using XPath from the message content to generate the file name in the directory.

Error formatting macro: snippet: java.lang.IllegalArgumentException: Invalid url: must begin with a configured prefix.

 

You can if you prefer let the operating system generate temporary file names in the directory specifying an optional prefix and suffix.

Filtering inbound files

You cna configure a java.io.FileFilter to only accept certain files when polling.
This can be done by configuring the filter property on the poller:

<bean class="o.a.s.components.file.FilePoller">
  <property name="filter">
    <bean ... />
  </property>
</bean>

The Jakarta ORO project contains RegExp based filters, but you can also define your own filters by implementing java.io.FileFilter.