MessageQueueDirector説明書
目次 索引 前ページ次ページ

第1部 基本機能編> 第6章 アプリケーションの作成> 6.9 アプリケーション作成時の注意点

6.9.4 メッセージを受信(参照)するアプリケーションに関する注意事項

 MQDはメッセージキューごと、プライオリティごとにメッセージを管理しています。カーソルはプライオリティの高いメッセージから順番に移動しますが、一端プライオリティの高いメッセージを通りすぎると、カーソルをメッセージキューの先頭に戻さない限り、そのあと高いプライオリティのメッセージが格納されても、そのメッセージを受信(参照)することはできません。

 上記仕様のため、一つのメッセージキューに複数のプライオリティのメッセージを格納する場合には、以下に示すようにアプリケーションを作成してください。

 カーソルをメッセージキューの先頭に戻さなかった場合には、受信アプリケーションにエラーコード MQD_ERR_QUEEND が通知される場合があります。その際にはカーソルをメッセージキューの先頭に移動させてから、再度受信を実行すると、メッセージを受信することができます。カーソルをメッセージキューの先頭に戻すには、mqd_seekmsg(COBOLの場合はMQDSEEKMSG)をカーソルをメッセージキューの先頭メッセージに移動するモードで使用してください。

 受信アプリケーションにエラーコード MQD_ERR_QUEEND が通知されるパターンは以下の通りです。

 よりプライオリティの高いメッセージが、メッセージキューに格納されたため、エラーコード MQD_ERR_QUEEND が通知されるパターンを以下に例で示します。

[図6.14 カーソルとアプリケーションの関係]


目次 索引 前ページ次ページ

All Rights Reserved, Copyright(C) 富士通株式会社 2005