MessageQueueDirector説明書 |
目次
索引
![]() ![]() |
第1部 基本機能編 | > 第6章 アプリケーションの作成 | > 6.9 アプリケーション作成時の注意点 |
MQDはメッセージキューごと、プライオリティごとにメッセージを管理しています。カーソルはプライオリティの高いメッセージから順番に移動しますが、一端プライオリティの高いメッセージを通りすぎると、カーソルをメッセージキューの先頭に戻さない限り、そのあと高いプライオリティのメッセージが格納されても、そのメッセージを受信(参照)することはできません。
上記仕様のため、一つのメッセージキューに複数のプライオリティのメッセージを格納する場合には、以下に示すようにアプリケーションを作成してください。
カーソルをメッセージキューの先頭に戻さなかった場合には、受信アプリケーションにエラーコード MQD_ERR_QUEEND が通知される場合があります。その際にはカーソルをメッセージキューの先頭に移動させてから、再度受信を実行すると、メッセージを受信することができます。カーソルをメッセージキューの先頭に戻すには、mqd_seekmsg(COBOLの場合はMQDSEEKMSG)をカーソルをメッセージキューの先頭メッセージに移動するモードで使用してください。
受信アプリケーションにエラーコード MQD_ERR_QUEEND が通知されるパターンは以下の通りです。
よりプライオリティの高いメッセージが、メッセージキューに格納されたため、エラーコード MQD_ERR_QUEEND が通知されるパターンを以下に例で示します。
目次
索引
![]() ![]() |