2.3.1 キューの永続性
永続版リソースアダプタの場合,キューの作成時には,hrmmkqueコマンドの-mオプションにキューの永続性を指定できます。永続性には次に示す属性があり,メッセージの管理が異なります。
-
永続キュー属性(-mオプションにpersistentを指定)
送信側アプリケーションが送信したメッセージは,受信側アプリケーションが受信するまでキューのあるDB上で永続的に管理されます。DB障害以外によってメッセージが消滅しないため,通常は永続キュー属性を指定することをお勧めします。
メッセージを送信する際には,DBへの書き込みと同時にReliable Messagingが管理するメモリ上にメッセージがキャッシュされます。同一メッセージの受信の際はメモリ上からメッセージが読み取られるため,取り出し処理のレスポンスが向上します。
-
非永続キュー属性(-mオプションにnon_persistentを指定)
送信側アプリケーションが送信したメッセージは,Reliable Messagingのメモリ上でだけ管理され,DB上では管理されません。永続キュー属性を指定する場合と比較すると,DBへの書き込みが発生しない分だけレスポンスが良くなりますが,障害発生時やReliable Messagingを再度開始するときにメッセージは消滅します。
キューに指定できる永続性を次の表に示します。
項番 |
キューの種類 |
永続キュー属性 |
非永続キュー属性 |
---|---|---|---|
1 |
ローカルキュー |
○ |
○ |
2 |
転送キュー |
○ |
△※ |
3 |
受信用共用キュー |
○ |
× |
4 |
送信用共用キュー |
× |
× |
5 |
デッドメッセージキュー |
○ |
○ |
非永続版リソースアダプタの場合,キューの永続性は非永続キュー属性だけになります。Reliable Messagingの開始時に非永続キュー属性のローカルキューが作成されるため,キューの永続性は指定できません。