

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# Amazon MQ for ActiveMQ 代理配置
<a name="amazon-mq-broker-configuration-parameters"></a>

 配置中包含您的 ActiveMQ 代理的所有设置（采用 XML 格式，类似于 ActiveMQ 的 `activemq.xml` 文件）。您可以先创建配置，然后创建代理。之后，您可以将配置应用于一个或多个代理。

**重要**  
对配置进行更改*不会*立即将更改应用到代理。要应用更改，必须等待下一维护时段或者[重启代理](amazon-mq-rebooting-broker.md)。  
您只能使用 `DeleteConfiguration` API **删除**配置。更多信息，请参阅 *Amazon MQ API 参考*中的[配置](https://docs.aws.amazon.com/amazon-mq/latest/api-reference/configurations-configuration-id.html)。

## 属性
<a name="configuration-attributes"></a>

代理配置具有几个属性，例如：
+ 名称 (`MyConfiguration`)
+ ID (`c-1234a5b6-78cd-901e-2fgh-3i45j6k178l9`)
+ Amazon Resource Name（ARN）(`arn:aws:mq:us-east-2:123456789012:configuration:c-1234a5b6-78cd-901e-2fgh-3i45j6k178l9`)

有关配置属性的完整列表，请参阅《Amazon MQ REST API 参考》**中的以下内容：
+ [REST 操作 ID：Configuration](https://docs.aws.amazon.com/amazon-mq/latest/api-reference/rest-api-configuration.html)
+ [REST 操作 ID：Configurations](https://docs.aws.amazon.com/amazon-mq/latest/api-reference/rest-api-configurations.html)

有关配置修订属性的完整列表，请参阅以下内容：
+ [REST 操作 ID：Configuration Revision](https://docs.aws.amazon.com/amazon-mq/latest/api-reference/rest-api-configuration-revision.html)
+ [REST 操作 ID：Configuration Revisions](https://docs.aws.amazon.com/amazon-mq/latest/api-reference/rest-api-configuration-revisions.html)

## 使用 Spring XML 配置文件
<a name="working-with-spring-xml-configuration-files"></a>

使用 [Spring XML](https://docs.spring.io/spring/docs/current/spring-framework-reference/) 文件来配置 ActiveMQ 代理。您可以配置您的 ActiveMQ 代理的许多方面，如预定义目标、目标策略、授权策略和插件。Amazon MQ 控制其中一些配置元素，如网络传输和存储。目前不支持其他配置选项，如创建代理的网络。

在 Amazon MQ XML 架构中指定了全套受支持的配置选项：您可以使用以下链接下载受支持架构的 zip 文件。
+ [samples/amazon-mq-active-mq-5.19.1.xsd.zip](samples/amazon-mq-active-mq-5.19.1.xsd.zip) 
+ [samples/amazon-mq-active-mq-5.18.4.xsd.zip](samples/amazon-mq-active-mq-5.18.4.xsd.zip) 
+ [samples/amazon-mq-active-mq-5.17.6.xsd.zip](samples/amazon-mq-active-mq-5.17.6.xsd.zip) 
+ [samples/amazon-mq-active-mq-5.16.7.xsd.zip](samples/amazon-mq-active-mq-5.16.7.xsd.zip) 
+  [samples/amazon-mq-active-mq-5.15.16.xsd.zip](samples/amazon-mq-active-mq-5.15.16.xsd.zip) 

您可以使用这些架构来验证和清理您的配置文件。Amazon MQ 还允许您通过上传 XML 文件来提供配置。在您上传 XML 文件时，Amazon MQ 会自动根据架构来清理和删除无效的和禁止的配置参数。

**注意**  
您只能使用属性的静态值。Amazon MQ 会从您的配置中清理包含 Spring 表达式、变量和元素引用的元素和属性。

# 创建 Amazon MQ for ActiveMQ 代理配置
<a name="amazon-mq-creating-applying-configurations"></a>

*配置*中包含您的 ActiveMQ 代理的所有设置（采用 XML 格式，类似于 ActiveMQ 的 `activemq.xml` 文件）。您可以先创建配置，然后创建代理。之后，您可以将配置应用于一个或多个代理。您可以立即应用或在*维护时段*内应用配置。

以下示例演示如何使用 AWS 管理控制台创建和应用 Amazon MQ 代理配置。

**重要**  
您只能使用 `DeleteConfiguration` API **删除**配置。更多信息，请参阅 *Amazon MQ API 参考*中的[配置](https://docs.aws.amazon.com/amazon-mq/latest/api-reference/configurations-configuration-id.html)。

## 创建新的配置
<a name="creating-configuration-from-scratch-console"></a>

要创建新的代理配置，首先要创建新配置。

1. 登录 [Amazon MQ 控制台](https://console.aws.amazon.com/amazon-mq/)。

1. 在左侧，展开导航面板，然后选择 **Configurations (配置)**。  
![\[Amazon MQ navigation panel showing Brokers and Configurations options.\]](http://docs.aws.amazon.com/zh_cn/amazon-mq/latest/developer-guide/images/amazon-mq-tutorials-create-configuration.png)

1. 在 **Configurations (配置)** 页面上，选择 **Create configuration (创建配置)**。

1. 在**创建配置**页面的**详细信息**部分，输入**配置名称**（例如 `MyConfiguration`）并选择**代理引擎**版本。
**注意**  
要了解有关 Amazon MQ for ActiveMQ 支持的 ActiveMQ 引擎版本的更多信息，请参阅[管理 Amazon MQ for ActiveMQ 引擎版本](activemq-version-management.md)。

1. 选择**创建配置**。

## 创建新的配置修订
<a name="creating-new-configuration-revision-console"></a>

创建代理配置后，需要使用配置修订版编辑配置。

1. 从配置列表中选择***MyConfiguration***。
**注意**  
始终会在 Amazon MQ 创建配置时为您创建第一个配置修订。

   在该***MyConfiguration***页面上，将显示您的新配置修订版使用的代理引擎类型和版本（例如 **Apache ActiveMQ** 5.15.16）。

1. 在 **Configuration details** 选项卡上，会显示配置修订号、描述和 XML 格式的代理配置。
**注意**  
编辑当前配置会创建一个新的配置修订。  
![\[XML configuration snippet for ActiveMQ broker with explanatory comment.\]](http://docs.aws.amazon.com/zh_cn/amazon-mq/latest/developer-guide/images/amazon-mq-tutorials-edit-configuration.png)

1. 选择 **Edit configuration (编辑配置)** 并对 XML 配置进行更改。

1. 选择**保存**。

   **Save revision (保存修订)** 对话框出现。

1. （可选）类型 `A description of the changes in this revision`。

1. 选择**保存**。

   将会保存配置的新修订。
**重要**  
Amazon MQ 控制台会自动根据架构来清理无效和禁止的配置参数。有关更多信息和允许的 XML 参数的完整列表，请参阅[Amazon MQ for ActiveMQ 代理配置](amazon-mq-broker-configuration-parameters.md)。

## 将配置修订应用到代理
<a name="apply-configuration-revision-creating-console"></a>

修订配置后，可以将配置修订版应用到代理。

1. 在左侧，展开导航面板，然后选择 **Brokers (代理)**。  
![\[Amazon MQ navigation panel showing Brokers and Configurations options.\]](http://docs.aws.amazon.com/zh_cn/amazon-mq/latest/developer-guide/images/amazon-mq-tutorials-apply-configuration.png)

1. 从经纪人列表中，选择您的经纪商（例如 **MyBroker**），然后选择**编辑**。

1. 在 **“编辑 *MyBroker***” 页面的 “**配置**” 部分，选择**配置**和**修订版**，然后选择 “**计划修改**”。

1. 在 **Schedule broker modifications (计划代理修改)** 部分中，选择是在 **During the next scheduled maintenance window (下一个计划维护时段期间)** 还是 **Immediately (立即)** 应用修改。
**重要**  
单实例代理在重启期间处于离线状态。对于集群代理，在代理重启期间，每次只有一个节点宕机。

1. 选择**应用**。

   您的配置修订将在指定的时间应用到您的代理。

# 编辑 Amazon MQ for ActiveMQ 配置修订版
<a name="edit-current-configuration-console"></a>

将配置修订版应用到代理后，您可能需要对其进行编辑。按照以下说明编辑配置修订版。

1. 登录 [Amazon MQ 控制台](https://console.aws.amazon.com/amazon-mq/)。

1. 从经纪人列表中，选择您的经纪商（例如 **MyBroker**），然后选择**编辑**。

1. 在***MyBroker***页面上，选择 “**编辑”**。

1. 在 **“编辑 *MyBroker***” 页面的 “**配置**” 部分，选择一个**配置**和一个**修订版**，然后选择**编辑**。
**注意**  
除非您在创建代理时选择配置，否则会在 Amazon MQ 创建代理时为您创建第一个配置修订。

   在该***MyBroker***页面上，将显示配置使用的代理引擎类型和版本（例如 **Apache ActiveMQ** 5.15.8）。

1. 在 **Configuration details** 选项卡上，会显示配置修订号、描述和 XML 格式的代理配置。
**注意**  
编辑当前配置会创建一个新的配置修订。  
![\[XML configuration snippet for ActiveMQ broker with explanatory comment.\]](http://docs.aws.amazon.com/zh_cn/amazon-mq/latest/developer-guide/images/amazon-mq-tutorials-edit-configuration.png)

1. 选择 **Edit configuration (编辑配置)** 并对 XML 配置进行更改。

1. 选择**保存**。

   **Save revision (保存修订)** 对话框出现。

1. （可选）类型 `A description of the changes in this revision`。

1. 选择**保存**。

   将会保存配置的新修订。
**重要**  
Amazon MQ 控制台会自动根据架构来清理无效和禁止的配置参数。有关更多信息和允许的 XML 参数的完整列表，请参阅[Amazon MQ for ActiveMQ 代理配置](amazon-mq-broker-configuration-parameters.md)。

# Amazon MQ 配置中允许的元素
<a name="permitted-elements"></a>

下面是 Amazon MQ 配置中允许的元素的详细列表。有关更多信息，请参阅 Apache ActiveMQ 文档中的 [XML 配置](http://activemq.apache.org/xml-configuration.html)。


| Element | 
| --- | 
| abortSlowAckConsumerStrategy [(属性)](permitted-attributes.md#abortSlowAckConsumerStrategy.attributes) | 
| abortSlowConsumerStrategy [(属性)](permitted-attributes.md#abortSlowConsumerStrategy.attributes) | 
| authorizationEntry [(属性)](permitted-attributes.md#authorizationEntry.attributes) | 
| authorizationMap [(子集合元素)](permitted-collections.md#authorizationMap.collections) | 
| authorizationPlugin [(子集合元素)](permitted-collections.md#authorizationPlugin.collections) | 
| broker [(属性](permitted-attributes.md#broker.attributes) \$1 [子集合元素)](permitted-collections.md#broker.collections) | 
| cachedMessageGroupMapFactory [(属性)](permitted-attributes.md#cachedMessageGroupMapFactory.attributes) | 
| compositeQueue [(属性](permitted-attributes.md#compositeQueue.attributes) \$1 [子集合元素)](permitted-collections.md#compositeQueue.collections) | 
| compositeTopic [(属性](permitted-attributes.md#compositeTopic.attributes) \$1 [子集合元素)](permitted-collections.md#compositeTopic.collections) | 
| constantPendingMessageLimitStrategy [(属性)](permitted-attributes.md#constantPendingMessageLimitStrategy.attributes) | 
| discarding [(属性)](permitted-attributes.md#discarding.attributes) | 
| discardingDLQBrokerPlugin [(属性)](permitted-attributes.md#discardingDLQBrokerPlugin.attributes) | 
| fileCursor | 
| fileDurableSubscriberCursor | 
| fileQueueCursor | 
| filteredDestination [(属性)](permitted-attributes.md#filteredDestination.attributes) | 
| fixedCountSubscriptionRecoveryPolicy [(属性)](permitted-attributes.md#fixedCountSubscriptionRecoveryPolicy.attributes) | 
| fixedSizedSubscriptionRecoveryPolicy [(属性)](permitted-attributes.md#fixedSizedSubscriptionRecoveryPolicy.attributes) | 
| forcePersistencyModeBrokerPlugin [(属性)](permitted-attributes.md#forcePersistencyModeBrokerPlugin.attributes) | 
| individualDeadLetterStrategy [(属性)](permitted-attributes.md#individualDeadLetterStrategy.attributes) | 
| lastImageSubscriptionRecoveryPolicy | 
| messageGroupHashBucketFactory [(属性)](permitted-attributes.md#messageGroupHashBucketFactory.attributes) | 
| mirroredQueue [(属性)](permitted-attributes.md#mirroredQueue.attributes) | 
| noSubscriptionRecoveryPolicy | 
| oldestMessageEvictionStrategy [(属性)](permitted-attributes.md#oldestMessageEvictionStrategy.attributes) | 
| oldestMessageWithLowestPriorityEvictionStrategy [(属性)](permitted-attributes.md#oldestMessageWithLowestPriorityEvictionStrategy.attributes) | 
| policyEntry [(属性](permitted-attributes.md#policyEntry.attributes) \$1 [子集合元素)](permitted-collections.md#policyEntry.collections) | 
| policyMap [(子集合元素)](permitted-collections.md#policyMap.collections) | 
| prefetchRatePendingMessageLimitStrategy [(属性)](permitted-attributes.md#prefetchRatePendingMessageLimitStrategy.attributes) | 
| priorityDispatchPolicy | 
| priorityNetworkDispatchPolicy | 
| queryBasedSubscriptionRecoveryPolicy [(属性)](permitted-attributes.md#queryBasedSubscriptionRecoveryPolicy.attributes) | 
| queue [(属性)](permitted-attributes.md#queue.attributes) | 
| redeliveryPlugin [(属性](permitted-attributes.md#redeliveryPlugin.attributes) \$1 [子集合元素)](permitted-collections.md#redeliveryPlugin.collections) | 
| redeliveryPolicy [(属性)](permitted-attributes.md#redeliveryPolicy.attributes) | 
| redeliveryPolicyMap [(子集合元素)](permitted-collections.md#redeliveryPolicyMap.collections) | 
| retainedMessageSubscriptionRecoveryPolicy [(子集合元素)](permitted-collections.md#retainedMessageSubscriptionRecoveryPolicy.collections) | 
| roundRobinDispatchPolicy | 
| sharedDeadLetterStrategy [(属性](permitted-attributes.md#sharedDeadLetterStrategy.attributes) \$1 [子集合元素)](permitted-collections.md#sharedDeadLetterStrategy.collections) | 
| simpleDispatchPolicy | 
| simpleMessageGroupMapFactory | 
| statisticsBrokerPlugin | 
| storeCursor | 
| storeDurableSubscriberCursor [(属性)](permitted-attributes.md#storeDurableSubscriberCursor.attributes) | 
| strictOrderDispatchPolicy | 
| tempDestinationAuthorizationEntry [(属性)](permitted-attributes.md#tempDestinationAuthorizationEntry.attributes) | 
| tempQueue [(属性)](permitted-attributes.md#tempQueue.attributes) | 
| tempTopic [(属性)](permitted-attributes.md#tempTopic.attributes) | 
| timedSubscriptionRecoveryPolicy [(属性)](permitted-attributes.md#timedSubscriptionRecoveryPolicy.attributes) | 
| timeStampingBrokerPlugin [(属性)](permitted-attributes.md#timeStampingBrokerPlugin.attributes) | 
| topic [(属性)](permitted-attributes.md#topic.attributes) | 
| transportConnector [(属性)](permitted-attributes.md#transportConnector.attributes) | 
| uniquePropertyMessageEvictionStrategy [(属性)](permitted-attributes.md#uniquePropertyMessageEvictionStrategy.attributes) | 
| virtualDestinationInterceptor [(子集合元素)](permitted-collections.md#virtualDestinationInterceptor.collections) | 
| virtualTopic [(属性)](permitted-attributes.md#virtualTopic.attributes) | 
| vmCursor | 
| vmDurableCursor | 
| vmQueueCursor | 

# Amazon MQ 配置中允许的元素及其属性
<a name="permitted-attributes"></a>

下面是 Amazon MQ 配置中允许的元素及其属性的详细列表。有关更多信息，请参阅 Apache ActiveMQ 文档中的 [XML 配置](http://activemq.apache.org/xml-configuration.html)。

使用滚动条查看表的其余部分。

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/amazon-mq/latest/developer-guide/permitted-attributes.html)

## Amazon MQ 父元素属性
<a name="parent-element-details"></a>

下面是父元素属性的详细说明。有关更多信息，请参阅 Apache ActiveMQ 文档中的 [XML 配置](http://activemq.apache.org/xml-configuration.html)。

**Topics**
+ [代理](#broker-element)

### 代理
<a name="broker-element"></a>

`broker` 是一个父集合元素。

#### 属性
<a name="broker-attributes"></a>

##### networkConnectionStart异步
<a name="networkConnectionStartAsync"></a>

要缓解网络延迟并允许其他网络及时启动，请使用 `<networkConnectionStartAsync>` 标签。该标签指示代理使用执行程序并行启动网络连接（与代理启动异步）。

**默认值**：`false`

#### 示例配置
<a name="networkConnectorStartAsync"></a>

```
<broker networkConnectorStartAsync="false"/>
```

# Amazon MQ 配置中允许的元素、子集合元素及其子元素
<a name="permitted-collections"></a>

下面是 Amazon MQ 配置中允许的元素、子集合元素及其子元素的详细列表。有关更多信息，请参阅 Apache ActiveMQ 文档中的 [XML 配置](http://activemq.apache.org/xml-configuration.html)。

使用滚动条查看表的其余部分。

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/amazon-mq/latest/developer-guide/permitted-collections.html)

# Amazon MQ 子元素属性
<a name="child-element-details"></a>

下面是子元素属性的详细说明。有关更多信息，请参阅 Apache ActiveMQ 文档中的 [XML 配置](http://activemq.apache.org/xml-configuration.html)。

**Topics**
+ [authorizationEntry](#authorizationEntry)
+ [networkConnector](#networkConnector)
+ [kahaDB](#kahaDB)
+ [systemUsage](#systemUsage)

## authorizationEntry
<a name="authorizationEntry"></a>

`authorizationEntry` 是 `authorizationEntries` 子集合元素的子项。

### 属性
<a name="admin-read-write-attributes"></a>

#### admin\$1read\$1write
<a name="admin-read-write"></a>

授予一组用户的权限。有关更多信息，请参阅 [始终配置授权映射](using-amazon-mq-securely.md#always-configure-authorization-map)。

如果您指定的授权映射不包含在 `activemq-webconsole` 组中，您无法使用 ActiveMQ Web 控制台，因为该组未获得授权向 Amazon MQ 代理发送消息或接收来自该代理的消息。

**默认值**：`null`

### 示例配置
<a name="admin-read-write-example"></a>

```
<authorizationPlugin>
                                <map>
                                    <authorizationMap>
                                        <authorizationEntries>
                                            <authorizationEntry admin="admins,activemq-webconsole" read="admins,users,activemq-webconsole" write="admins,activemq-webconsole" queue=">"/>
                                            <authorizationEntry admin="admins,activemq-webconsole" read="admins,users,activemq-webconsole" write="admins,activemq-webconsole" topic=">"/>
                                        </authorizationEntries>
                                    </authorizationMap>
                                </map>
                                </authorizationPlugin>
```

**注意**  
 ActiveMQ on Amazon MQ 中的 `activemq-webconsole` 组拥有所有队列和主题的管理权限。该组中的所有用户都有管理员访问权限。

## networkConnector
<a name="networkConnector"></a>

`networkConnector` 是 `networkConnectors` 子集合元素的子项。

**Topics**
+ [属性](#networkConnector-attributes)
+ [示例配置](#networkConnector-example)

### 属性
<a name="networkConnector-attributes"></a>

#### conduitSubscriptions
<a name="conduitSubscriptions"></a>

指定代理网络中的网络连接是否将订阅同一目标的多个使用者视为一个使用者。例如，如果 `conduitSubscriptions` 设置为 `true`，并且两个使用者连接到代理 B 并从目标中使用，则代理 B 会通过与代理 A 的网络连接将订阅组合到单个逻辑订阅中，以便只有一个消息副本从代理 A 转发到代理 B。

**注意**  
将 `conduitSubscriptions` 设置为 `true` 可以减少冗余网络流量。但是，使用此属性可能会影响跨使用者的消息负载均衡，并可能在某些情况下导致不正确的行为（例如，对于 JMS 消息选择器或持久主题）。

**默认值**：`true`

#### duplex
<a name="duplex"></a>

指定代理网络中的连接是否用于生成*和*使用消息。例如，如果代理 A 在非双工模式下创建与代理 B 的连接，则消息只能从代理 A 转发到代理 B。但是，如果代理 A 创建到代理 B 的双工连接，则代理 B 可以将消息转发到代理 A 而无需配置 `<networkConnector>`。

**默认值**：`false`

#### name
<a name="name"></a>

代理网络中的网桥的名称。

**默认值**：`bridge`

#### uri
<a name="uri"></a>

代理网络中两个代理（或多个代理）之一的有线级协议终端节点。

**默认值**：`null`

#### username
<a name="username"></a>

代理网络中的代理共有的用户名。

**默认值**：`null`

### 示例配置
<a name="networkConnector-example"></a>

**注意**  
当使用 `networkConnector` 来定义代理网络时，请勿包含代理共有的用户的密码。

#### 有两个代理的代理网络
<a name="example-network-of-brokers-two-brokers"></a>

在此配置中，两个代理连接在代理网络中。网络连接器的名称是`connector_1_to_2`，代理常用的用户名是`myCommonUser`，连接是`duplex`， OpenWire 端点 URI 的前缀为`static:`，表示代理之间存在 one-to-one连接。

```
<networkConnectors>
                                    <networkConnector name="connector_1_to_2" userName="myCommonUser" duplex="true"
                                        uri="static:(ssl://b-1234a5b6-78cd-901e-2fgh-3i45j6k178l9-1.mq.us-east-2.amazonaws.com:61617)"/>
                                    </networkConnectors>
```

有关更多信息，请参阅 [步骤 2：为您的代理配置网络连接器](amazon-mq-creating-configuring-network-of-brokers.md#creating-configuring-network-of-brokers-configure-network-connectors)。

#### 有多个代理的代理网络
<a name="example-network-of-brokers-multiple-brokers"></a>

在此配置中，多个代理连接在代理网络中。网络连接器的名称是`connector_1_to_2`，代理常用的用户名是，连接是 `myCommonUser``duplex`，逗号分隔的 OpenWire端点列表以逗号分隔 URIs 为前缀`masterslave:`，表示代理之间存在故障转移连接。从代理到代理的故障转移不是随机的，重新连接尝试将无限期地继续。

```
<networkConnectors>
                                    <networkConnector name="connector_1_to_2" userName="myCommonUser" duplex="true"
                                        uri="masterslave:(ssl://b-1234a5b6-78cd-901e-2fgh-3i45j6k178l9-1.mq.us-east-2.amazonaws.com:61617,
                                        ssl://b-9876l5k4-32ji-109h-8gfe-7d65c4b132a1-2.mq.us-west-2.amazonaws.com:61617)"/>
                                    </networkConnectors>
```

**注意**  
我们建议您对网络代理使用 `masterslave:` 前缀。该前缀与更明确的 `static:failover:()?randomize=false&maxReconnectAttempts=0` 语法相同。

**注意**  
此 XML 配置不允许使用空格。

## kahaDB
<a name="kahaDB"></a>

`kahaDB` 是 `persistenceAdapter` 子集合元素的子项。

### 属性
<a name="kahaDB-attributes"></a>

#### concurrentStoreAndDispatchQueues
<a name="concurrentStoreAndDispatchQueues"></a>

指定是否对队列使用并发存储和分派。有关更多信息，请参阅 [对具有慢速使用者的队列禁用并发存储和分派](best-practices-activemq.md#disable-concurrent-store-and-dispatch-queues-flag-slow-consumers)。

**默认值**：`true`

#### cleanupOnStop
<a name="cleanupOnStop"></a>

**在以下版本中受支持：**  
Apache ActiveMQ 15.16.x 及更高版本

如果停用，则不会在代理停止时进行垃圾回收和清理，从而加快关闭过程。在使用大型数据库或调度器数据库的情况下，提高速度非常有用。

**默认值**：`true`

#### journalDiskSync间隔
<a name="journalDiskSyncInterval"></a>

在 `journalDiskSyncStrategy=periodic` 的情况下，执行磁盘同步的时间间隔 (毫秒)。有关详细信息，请参阅 [Apache ActiveMQ kahaDB 文档](https://activemq.apache.org/kahadb)。

**默认值**：`1000`

#### journalDiskSync策略
<a name="journalDiskSyncStrategy"></a>

**在以下版本中受支持：**  
Apache ActiveMQ 15.14.x 及更高版本

配置磁盘同步策略。有关详细信息，请参阅 [Apache ActiveMQ kahaDB 文档](https://activemq.apache.org/kahadb)。

**默认值**：`always`

**注意**  
[ActiveMQ 文档](https://activemq.apache.org/kahadb)规定数据损失仅限于持续时间 `journalDiskSyncInterval`，其默认值为 1 秒。数据损失可以超过该间隔，但很难精确确定。请谨慎使用。

#### preallocationStrategy
<a name="preallocationStrategy"></a>

配置在需要新日志文件时，代理尝试预分配日志文件的方式。有关详细信息，请参阅 [Apache ActiveMQ kahaDB 文档](https://activemq.apache.org/kahadb)。

**默认值**：`sparse_file`

### 示例配置
<a name="kahaDB-example"></a>

**Example**  

```
<broker xmlns="http://activemq.apache.org/schema/core">
                                <persistenceAdapter>
                                <kahaDB preallocationStrategy="zeros" concurrentStoreAndDispatchQueues="false" journalDiskSyncInterval="10000" journalDiskSyncStrategy="periodic"/>
                            </persistenceAdapter>
                            </broker>
```

## systemUsage
<a name="systemUsage"></a>

`systemUsage` 是 `systemUsage` 子集合元素的子项。该元素控制代理在减缓创建器速度之前使用的最大空间量。有关更多信息，请参阅 Apache ActiveMQ 文档中的[创建器流控制](http://activemq.apache.org/producer-flow-control.html)。

### 子元素
<a name="systemUsage-child"></a>

#### memoryUsage
<a name="memoryUsage"></a>

 `memoryUsage` 是 `systemUsage` 子元素的子项。该元素管理内存使用情况。使用 `memoryUsage` 可以跟踪正在使用的内存量，这样您可以高效地控制工作集的使用情况。有关更多信息，请参阅 Apache ActiveMQ 文档中的[架构](http://activemq.apache.org/schema/core/activemq-core-5.15.12-schema.html)。

##### 子元素
<a name="memoryUsage-child"></a>

 `memoryUsage` 是 `memoryUsage` 子元素的子项。

##### 属性
<a name="memeoryUsage-attribute"></a>

##### percentOfJvmHeap
<a name="percentOfJvmHeap"></a>

介于 0（含）与 70（含）之间的整数。

*默认值*：`70`

### 属性
<a name="systemUsage-attributes"></a>

#### sendFailIfNoSpace
<a name="sendFailIfNoSpace"></a>

设置在没有可用空间的情况下 `send()` 方法是否应失败。默认值为 false，该值会阻止 `send()` 方法，直至有空间可用。有关更多信息，请参阅 Apache ActiveMQ 文档中的[架构](http://activemq.apache.org/schema/core/activemq-core-5.15.12-schema.html)。

**默认值**：`false`

#### sendFailIfNoSpaceAfterTimeout
<a name="sendFailIfNoSpaceAfterTimeout"></a>

**默认值**：`null`

#### 示例配置
<a name="systemUsage-example"></a>

**Example**  

```
<broker xmlns="http://activemq.apache.org/schema/core">
                                <systemUsage>
                                <systemUsage sendFailIfNoSpace="true" sendFailIfNoSpaceAfterTimeout="2000">
                                    <memoryUsage>
                                        <memoryUsage  percentOfJvmHeap="60" />
                                    </memoryUsage>>
                                </systemUsage>
                                </systemUsage>
                            </broker>
                            </persistenceAdapter>
```