Cosminexus Reliable Messaging
Cosminexus RMは,アプリケーションによるメッセージの取り出しなどで不要になったキュー内のメッセージを削除します。
メッセージを削除する方法には,遅延削除と即時削除の二つ方法があります。それぞれの方法について説明します。
遅延削除は,メッセージが不要になった時点で削除せず配信済みの状態にしておき,RMSweepTimerIntervalプロパティ指定値の間隔で一括に削除する方法です。遅延削除はメッセージの取り出しの延長でメッセージを削除しないため,即時削除よりもスループットが優れる場合があります。
なお,非永続リソースアダプタの場合,遅延削除は利用できません。
遅延削除を利用したメッセージの削除の概要を,次の図に示します。
図2-15 遅延削除を利用したメッセージの削除の概要
即時削除は,メッセージが不要になった時点で削除する方法です。そのため,遅延削除よりも一時的に使用するメモリの量を削減できます。即時削除は,アプリケーションによるメッセージの取り出しでのコミット時や,hrmdelmsgコマンド実行時のタイミングで実施されます。
ローカルキューまたはデッドメッセージキュー内のメッセージに即時削除を利用する場合,RMDeleteMessageImmediatelyプロパティにtrueを指定します。
即時削除を利用したメッセージの削除の概要を,次の図に示します。
図2-16 即時削除を利用したメッセージの削除の概要
キューの種類によって利用できる削除方法が異なります。
キューの種類と利用できる削除方法について,次の表に示します。
表2-2 キューの種類と利用できる削除方法
| 項番 | キューの種類 | 遅延削除 | 即時削除 |
|---|---|---|---|
| 1 | ローカルキュー | ○ | ○※1※2 |
| 2 | 転送キュー | ○ | × |
| 3 | 受信用共用キュー | × | ○ |
| 4 | 送信用共用キュー | − | − |
| 5 | デッドメッセージキュー | ○ | ○※1 |
All Rights Reserved. Copyright (C) 2006, 2007, Hitachi, Ltd.