File stores use a file system to preserve operating information
and to persist the objects that messaging engines need for recovery
in the event of a failure.
A file store is a type of message store
that directly uses files in a file system through the operating system. The
data storage in a file store is split into three levels: the log file,
permanent store file, and temporary store file.
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 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
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 ${USER_INSTALL_ROOT}/filestores.
The file store directory contains three files: logDirectory, permanentstoreDirectory and temporaryStoreDirectory.