キューの作成時には,次のようにメッセージ取り出しモードを指定できます。
- 永続版リソースアダプタの場合
hrmmkqueコマンドの-dオプションにメッセージ取り出しモードを指定して,コマンドを実行します。
- 非永続版リソースアダプタの場合
キュー定義文の-dオプションにメッセージ取り出しモードを指定して,キュー作成ファイルを作成します。
メッセージ取り出しモードには次に示す属性があり,アプリケーションがキューからメッセージを受信するときの多重化制御が異なります。
- シリアル取り出し属性(-dオプションにserialを指定)
アプリケーションがトランザクション内でキューからメッセージを受信したあと,トランザクションが未決着な状態であるとき,異なるアプリケーション(または異なるスレッドのトランザクション)での次メッセージの取り出しが抑止されます。トランザクションが決着してから受信できるようになります。
つまり,同一トランザクション内でのメッセージの連続的な受信だけができます。
複数のアプリケーション(または複数のスレッドのトランザクション)でメッセージを受信する場合に,メッセージが送信されたときの順序を保持する必要があるときに指定します。
シリアル取り出し属性の概要について,次の図に示します。
図2-10 シリアル取り出し属性の概要
![[図データ]](figure/zu020600.gif)
- パラレル取り出し属性(-dオプションにparallelを指定)
アプリケーションがトランザクション内でキューからメッセージを受信したあと,トランザクションが未決着な状態であるとき,異なるアプリケーション(または異なるスレッドのトランザクション)での次メッセージの受信ができます。
複数のアプリケーション(または複数のスレッドのトランザクション)でメッセージを受信する場合に,メッセージが送信されたときの順序を保持する必要がないときに指定します。シリアル取り出し属性よりもメッセージ受信時のスループットが優れます。
パラレル取り出し属性の概要について,次の図に示します。
図2-11 パラレル取り出し属性の概要
![[図データ]](figure/zu020700.gif)