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-bytes | 10485760 |
ページングモードになる前にアドレスが取得できる最大メモリーサイズを指定します。
|
page-size-bytes | 2097152 |
ページングシステムで使用される各ページファイルのサイズを指定します。
|
address-full-policy | PAGE |
ページングの決定に使用されます。この属性には、以下の値のいずれかを指定できます。
PAGE : ページングが有効になり、設定された制限を越えたメッセージはディスクにページングされます。DROP : 設定された制限を越えたメッセージは通知なしでドロップされます。FAIL : メッセージがドロップされ、クライアントメッセージプロデューサーへ例外が送信されます。BLOCK : クライアントメッセージプロデューサーによって設定された制限を越えるメッセージが送信されると、クライアントメッセージプロデューサーがブロックされます。
|
page-max-cache-size | 5 |
ページング検索中に入出力を最適化するため、
page-max-cache-size 以下のページファイルがメモリーに保持されます。
|
重要
最大サイズに達したときにメッセージをページングしたくない場合は、
address-full-policy
を DROP
(メッセージをドロップする)、FAIL
(クライアント側で例外を発生してメッセージをドロップする)、または BLOCK
(今後メッセージを送信しないようプロデューサーをブロックする) に設定します。デフォルトの設定では、アドレスが max-size-bytes
に達した後、メッセージをページングするようにすべてのアドレスが設定されています。
複数のキューを持つアドレス
複数のキューがバインドされているアドレスにメッセージがルーティングされた場合、メッセージが 1 つのみメモリーに格納されます。各キューは、このメッセージへの参照のみを処理します。そのため、このメッセージを参照するキューすべてがメッセージを送信したときのみメモリーに空きができます。
注記
単一のレイジーキュー/サブスクリプションによってアドレス全体の出入力のパフォーマンスが減少することがあります。これは、ページングシステム上の追加ストレージより送信されたメッセージがすべてのキューにあるからです。