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