Amazon MQ 子元素属性 - Amazon MQ
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

Amazon MQ 子元素属性

下面是子元素属性的详细说明。有关更多信息,请参阅 Apache ActiveMQ 文档中的 XML 配置

authorizationEntry

authorizationEntryauthorizationEntries 子集合元素的子项。

属性

admin|read|write

授予一组用户的权限。有关更多信息,请参阅始终配置授权映射

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

默认值null

示例配置

<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>

networkConnector

networkConnectornetworkConnectors 子集合元素的子项。

属性

conduitSubscriptions

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

注意

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

默认值true

duplex

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

默认值false

name

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

默认值bridge

uri

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

默认值null

username

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

默认值null

示例配置

注意

当使用 networkConnector 来定义代理网络时,请勿包含代理共有的用户的密码。

有两个代理的代理网络

在此配置中,两个代理连接在代理网络中。网络连接器的名称是 connector_1_to_2,代理共有的用户名是 myCommonUser,连接是 duplex,OpenWire 终端节点 URI 以 static: 为前缀,表示代理之间的一对一连接。

<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>

有关更多信息,请参阅Configure Network Connectors for Your Broker

有多个代理的代理网络

在此配置中,多个代理连接在代理网络中。网络连接器的名称是 connector_1_to_2,代理共有的用户名是 myCommonUser,连接是 duplex,逗号分隔的 OpenWire 终端节点 URI 列表以 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-east-2.amazonaws.com:61617)"/> </networkConnectors>
注意

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

注意

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

kahaDB

kahaDBpersistenceAdapter 子集合元素的子项。

属性

concurrentStoreAndDispatchQueues

指定是否对队列使用并发存储和分派。有关更多信息,请参阅对具有慢速使用者的队列禁用并发存储和分派

默认值true

cleanupOnStop

在以下版本中受支持:

Apache ActiveMQ 15.16.x 及更高版本

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

默认值true

journalDiskSyncInterval

journalDiskSyncStrategy=periodic 的情况下,执行磁盘同步的时间间隔 (毫秒)。有关详细信息,请参阅 Apache ActiveMQ kahaDB 文档

默认值1000

journalDiskSyncStrategy

在以下版本中受支持:

Apache ActiveMQ 15.14.x 及更高版本

配置磁盘同步策略。有关详细信息,请参阅 Apache ActiveMQ kahaDB 文档

默认值always

注意

ActiveMQ 文档规定数据损失仅限于持续时间 journalDiskSyncInterval,其默认值为 1 秒。数据损失可以超过该间隔,但很难精确确定。请谨慎使用。

preallocationStrategy

配置在需要新日志文件时,代理尝试预分配日志文件的方式。有关详细信息,请参阅 Apache ActiveMQ kahaDB 文档

默认值sparse_file

示例配置

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

systemUsage

systemUsagesystemUsage 子集合元素的子项。该元素控制代理在减缓创建器速度之前使用的最大空间量。有关更多信息,请参阅 Apache ActiveMQ 文档中的创建器流控制

子元素

memoryUsage

memoryUsagesystemUsage 子元素的子项。该元素管理内存使用情况。使用 memoryUsage 可以跟踪正在使用的内存量,这样您可以高效地控制工作集的使用情况。有关更多信息,请参阅 Apache ActiveMQ 文档中的架构

子元素

memoryUsagememoryUsage 子元素的子项。

属性
percentOfJvmHeap

介于 0(含)与 70(含)之间的整数。

默认值70

属性

sendFailIfNoSpace

设置在没有可用空间的情况下 send() 方法是否应失败。默认值为 false,该值会阻止 send() 方法,直至有空间可用。有关更多信息,请参阅 Apache ActiveMQ 文档中的架构

默认值false

sendFailIfNoSpaceAfterTimeout

默认值null

示例配置

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