7.3. 配置消息阻止
以下流程演示了如何在给定地址达到您指定的最大大小限制时配置消息阻止。
注意
您 只能 为核心、OpenWire 和 AMQP 协议配置消息阻止。
7.3.1. 阻塞内核和 OpenWire producer
以下流程演示了如何在给定地址达到您指定的最大大小限制时为 Core 和 OpenWire 消息生成器配置消息阻塞。
先决条件
- 您应该熟悉如何配置地址和地址设置。如需更多信息,请参阅 第 4 章 配置地址和队列。
流程
-
打开
<broker_instance_dir>/etc/broker.xml
配置文件。 对于您已为匹配地址或地址 集 配置的
address-setting
元素,请添加配置元素来定义消息阻止行为。例如:<address-settings> <address-setting match="my.blocking.address"> ... <max-size-bytes>300000</max-size-bytes> <address-full-policy>BLOCK</address-full-policy> ... </address-setting> </address-settings>
max-size-bytes
代理执行为
address-full-policy
指定策略之前,地址允许的最大内存大小,以字节为单位。您指定的值还支持字节表示法,如 "K"、"MB" 和 "GB"。注意如果在
address
,则该值将应用到 每个 匹配地址。指定这个值 并不意味着 所有匹配地址 的总 大小都仅限于-setting 元素中指定了 max-size-
bytesmax-size-bytes
的值。address-full-policy
- 代理在达到地址最大值时执行的操作。
在前面的示例中,当发送到地址
my.blocking.address
的消息超过 300000 字节时,代理开始阻止来自 Core 或 OpenWire 消息制作者进一步的消息。