第 7 章 资源限制和政策

您可以定义资源限制和策略,以控制代理实例应如何处理消息的重要方面。在 AMQ Broker 7 中配置这些资源限制和策略的过程与 AMQ 6 中的不同,许多配置属性已经改变。

7.1. 资源限制和政策配置方式

在 AMQ 6 中,资源限制和策略在代理配置文件中配置为目标策略。

在 AMQ Broker 7 中,您可以为地址或地址 集合 定义资源限值和策略。代理实例收到消息时,为消息地址定义的资源限值和策略将应用到消息。

要在 AMQ Broker 7 中配置资源限制和策略,您可以使用 BROKER_INSTANCE_DIR/etc/broker.xml 配置文件定义带有适当配置属性的 <address-setting> 元素。

broker.xml 配置文件包含以下默认地址设置配置:

<address-settings>
    <!-- if you define auto-create on certain queues, management has to be auto-create -->
    <address-setting match="activemq.management#"> 1
        <dead-letter-address>DLQ</dead-letter-address>
        <expiry-address>ExpiryQueue</expiry-address>
        <redelivery-delay>0</redelivery-delay>
        <!-- with -1 only the global-max-size is in use for limiting -->
        <max-size-bytes>-1</max-size-bytes>
        <message-counter-history-day-limit>10</message-counter-history-day-limit>
        <address-full-policy>PAGE</address-full-policy>
        <auto-create-queues>true</auto-create-queues>
        <auto-create-addresses>true</auto-create-addresses>
        <auto-create-jms-queues>true</auto-create-jms-queues>
        <auto-create-jms-topics>true</auto-create-jms-topics>
    </address-setting>
    <!--default for catch all-->
    <address-setting match="#"> 2
        <dead-letter-address>DLQ</dead-letter-address>
        <expiry-address>ExpiryQueue</expiry-address>
        <redelivery-delay>0</redelivery-delay>
        <!-- with -1 only the global-max-size is in use for limiting -->
        <max-size-bytes>-1</max-size-bytes>
        <message-counter-history-day-limit>10</message-counter-history-day-limit>
        <address-full-policy>PAGE</address-full-policy>
        <auto-create-queues>true</auto-create-queues>
        <auto-create-addresses>true</auto-create-addresses>
        <auto-create-jms-queues>true</auto-create-jms-queues>
        <auto-create-jms-topics>true</auto-create-jms-topics>
    </address-setting>
</address-settings>
1
默认的管理地址设置。嵌套资源限制和策略应用到具有与 activemq.management# 匹配的地址的所有消息。
2
默认地址设置。# 通配符匹配所有地址,因此定义的资源限值和策略适用于所有信息。

要配置资源限制和策略,您需要指定地址或地址 集合 (使用 <address-setting>),然后为其添加资源限制和策略属性。这些属性将应用到发送到您指定的地址(或地址)的每个消息。

相关信息