文件存储器
文件存储器使用文件系统来保存操作信息和保留消息传递引擎在发生故障的情况下进行恢复时所需要的对象。
文件存储器是一种消息存储器,它通过操作系统直接使用文件系统中的文件。文件存储器中的数据存储器分为三个级别:日志文件、持久存储器文件和临时存储器文件。
图 1. 消息传递引擎与其文件存储器之间的关系

- 日志文件
- 此文件包含有关当前处于活动状态的事务以及尚未写入存储器文件的数据的信息。它是一个循环日志,其文件大小在消息传递引擎运行时是静态的,但是必要时可以更改文件大小。需要重新启动消息传递引擎,才能使更改生效。该日志文件的大小将限制可以发送的消息的最大大小。
- 持久存储器文件
- 此文件包含在重新启动消息传递引擎之后仍然保留的持久数据,例如,持久消息、队列数据以及有关存储和传输持久消息的信息。
- 可以将持久存储器文件配置为具有最大大小和最小大小,或者配置为对大小无限制。文件可以从最小大小开始增大(在对大小无限制的情况下,可以根据需要增大),但是决不会缩小(即使最大大小设置为小于其当前大小也是如此)。可以在管理控制台中更改文件大小,但是需要重新启动消息传递引擎,才能使更改生效。
- 与文件系统相似,从存储器中删除数据时,不会删除文件中的数据,只会更新目录信息。这意味着如果使用了消息,那么消息数据可能仍然存在于存储器文件中,但是会更新其中包括存储器中的此数据的目录信息,以反映确实已删除此数据。
- 临时存储器文件
- 此文件包含在重新启动消息传递引擎之后未保留的临时数据,例如,溢出到文件存储器以释放 JVM 堆中的内存的非持久消息。当消息传递引擎启动时,临时存储器文件内容会截断。
- 可以将临时存储器文件配置为具有最大大小和最小大小,或者配置为对大小无限制。文件可以从最小大小开始增大(在对大小无限制的情况下,可以根据需要增大),但是决不会减小(即使最大大小设置为小于其当前大小也是如此)。可以在管理控制台中更改文件大小,但是需要重新启动消息传递引擎,才能使更改生效。
- 与文件系统相似,从存储器中删除数据时,不会删除文件中的数据,只会更新目录信息。这意味着如果使用了消息,那么消息数据可能仍然存在于存储器文件中,但是会更新其中包括存储器中的此数据的目录信息,以反映确实已删除此数据。
您可以配置文件存储器文件的存放位置。缺省情况下,文件存储器使用以下路径中的一个子目录:${USER_INSTALL_ROOT}/filestores/com.ibm.ws.sib/${ME_NAME}。文件存储器目录中包含另外两个目录;一个是包含日志文件的日志目录,一个是同时包含 PermanentStore 文件和 TemporaryStore 文件的存储器目录。