20.6.4. ページングモード

アドレスに送信されたメッセージが設定サイズを越える場合は、そのアドレスが「ページ/ページングモード」になります。

注記

ページングはアドレスごとに個別に行われます。アドレスに対して max-size-bytes を設定すると、一致する各アドレスには指定した最大サイズが適用されます。しかし、一致するすべてのアドレスの合計サイズが max-size-bytes に限定されるわけではありません。
サーバー設定ファイル (standalone.xml および domain.xml) でアドレスの最大サイズをバイト単位で設定できます (max-size-bytes)。
<address-settings>
   <address-setting match="jms.someaddress">
      <max-size-bytes>104857600</max-size-bytes>
      <page-size-bytes>10485760</page-size-bytes>
      <address-full-policy>PAGE</address-full-policy>
   </address-setting>
</address-settings>
下表はアドレス設定のパラメーターについて説明しています。

表20.4 ページングアドレス設定

要素デフォルト値説明
max-size-bytes10485760
ページングモードになる前にアドレスが取得できる最大メモリーサイズを指定します。
page-size-bytes2097152
ページングシステムで使用される各ページファイルのサイズを指定します。
address-full-policyPAGE
ページングの決定に使用されます。この属性には、以下の値のいずれかを指定できます。PAGE: ページングが有効になり、設定された制限を越えたメッセージはディスクにページングされます。DROP: 設定された制限を越えたメッセージは通知なしでドロップされます。FAIL: メッセージがドロップされ、クライアントメッセージプロデューサーへ例外が送信されます。BLOCK: クライアントメッセージプロデューサーによって設定された制限を越えるメッセージが送信されると、クライアントメッセージプロデューサーがブロックされます。
page-max-cache-size5
ページング検索中に入出力を最適化するため、page-max-cache-size 以下のページファイルがメモリーに保持されます。

重要

最大サイズに達したときにメッセージをページングしたくない場合は、address-full-policyDROP (メッセージをドロップする)、FAIL (クライアント側で例外を発生してメッセージをドロップする)、または BLOCK (今後メッセージを送信しないようプロデューサーをブロックする) に設定します。デフォルトの設定では、アドレスが max-size-bytes に達した後、メッセージをページングするようにすべてのアドレスが設定されています。
複数のキューを持つアドレス

複数のキューがバインドされているアドレスにメッセージがルーティングされた場合、メッセージが 1 つのみメモリーに格納されます。各キューは、このメッセージへの参照のみを処理します。そのため、このメッセージを参照するキューすべてがメッセージを送信したときのみメモリーに空きができます。

注記

単一のレイジーキュー/サブスクリプションによってアドレス全体の出入力のパフォーマンスが減少することがあります。これは、ページングシステム上の追加ストレージより送信されたメッセージがすべてのキューにあるからです。