File stores enable messaging engines to preserve operating
information and to persist those objects that messaging engines need
for recovery in the event of a failure, using a file system.
A file store is a type of message store
that directly uses files in a file system through the operating system. File
store mechanisms split data storage into three levels: the log file,
permanent store files, and temporary store files.
Figure 1. The relationship between a messaging
engine and its file store.
- Log file
- This file contains information about currently active transactions,
and data that has not yet been written to a store file. The log file
has a fixed size and does not expand as it is used.
- Permanent store file
- This file contains permanent data that are retained beyond a restart
of the messaging engine, such as persistent messages and information
about the storage and transmission of persistent messages.
- Temporary store file
- This file contains temporary data that are not retained beyond
a restart of the messaging engine, such as nonpersistent messages
that have been spilled to the file store to release memory from the
JVM heap. The temporary store file is emptied when the messaging engine
starts.
You can configure where the file store files are placed. By default,
the file store uses a subdirectory beneath the ${USER_INSTALL_ROOT}/filestores directory.
The file store directory contains three files, logDirectory, permanentstoreDirectory and temporaryStoreDirectory.