7.3. メッセージブロックの設定
以下の手順では、指定のアドレスが指定した最大サイズ制限に達した際に、メッセージブロックを設定する方法を説明します。
メッセージブロックは、Core、OpenWire、および AMQP プロトコルに対して のみ 設定できます。
7.3.1. Core および OpenWire プロデューサーのブロック
以下の手順は、指定のアドレスが指定した最大サイズ制限に達した際の、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-bytes
を指定すると、一致する 各 アドレスに値が適用されます。この値を指定すると、一致するすべてのアドレスの 合計 サイズがmax-size-bytes
の値に制限されるわけでは ありません。address-full-policy
- アドレスの最大サイズに達したときにブローカーが取るアクション。
上記の例では、アドレス
my.blocking.address
に送信されたメッセージがメモリーの 300000 バイトを超えると、ブローカーは Core または OpenWire メッセージプロデューサーからの追加のメッセージをブロックします。