6.2. 配置基于日志的持久性


持久性配置在文件 BROKER_INSTANCE_DIR/etc/broker.xml 中进行维护。代理的默认配置使用基于日志的持久性,包括以下元素。

<configuration>
  <core>
    ...
    <persistence-enabled>true</persistence-enabled>
    <journal-type>ASYNCIO</journal-type>
    <bindings-directory>./data/bindings</bindings-directory>
    <journal-directory>./data/journal</journal-directory>
    <journal-datasync>true</journal-datasync>
    <journal-min-files>2</journal-min-files>
    <journal-pool-files>-1</journal-pool-files>
    ...
  </core>
</configuration>
启用持久性
指定是否将基于文件的日志用于消息持久性。
journal-type
要使用的日志类型。如果设置为 ASYNCIO,则代理首先尝试使用 AIO。如果没有找到 ASYNCIO,则代理会返回 NIO。
bindings-directory
绑定日志的文件系统位置。默认设置为 BROKER_INSTANCE_DIR
journal-directory
消息传递日志的文件系统位置。默认设置为 BROKER_INSTANCE_DIR
journal-datasync
指定是否使用 fdatasync 确认对磁盘的写入操作。
journal-min-files
代理启动时要创建的日志文件数量。
journal-pool-files
回收未使用的文件后要保留的文件数量。默认值 -1 表示在清理过程中不会删除任何文件。

6.2.1. Message Journal

消息日志存储所有与消息相关的数据,包括消息本身和重复的 ID 缓存。此日志上的文件的前缀为 activemq-data。每个文件都有一个 amq 扩展名,默认大小为 10485760 字节。使用 journal-directory 配置元素设置消息日志的位置。默认值为 BROKER_INSTANCE_DIR/data/journal。默认配置包含与消息传递日志相关的其他元素:

  • journal-min-files

    代理启动时预先创建的日志文件数量。默认值为 2

  • journal-pool-files

    回收未使用的文件后要保留的文件数量。默认值 -1 表示代理创建后不会删除任何文件。但是,该系统不能无限增加,因此您需要将分页用于未绑定的目的地。如需更多信息,请参阅关于使用消息 的章节。

消息传递日志提供了其他一些配置元素。有关 完整的列表,请参见附录

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.