2055 (0807) (RC2055): MQRC_Q_NOT_EMPTY
説明
永続動的キューに対して、次のいずれかを指定した MQCLOSE 呼び出しが発行されましたが、キューが空でなかったか使用中であったために、その呼び出しはエラーになりました。 次のいずれかが当てはまります。
- MQCO_DELETE オプションが指定されたが、キューにまだメッセージが残っている。
- MQCO_DELETE または MQCO_DELETE_PURGE オプションが指定されたが、キューに対して未処理のコミットされていない読み取り呼び出しまたは書き込み呼び出しがある。
この理由コードは、コミットされていないメッセージがキューに存在する場合に (または、除去オプションのない削除キューの場合はコミット済みメッセージ)、そのキューを消去、削除、または移動するためにコマンドからも返されます。
完了コード
MQCC_FAILED
プログラマー応答
キュー上にメッセージが存在する理由を調べてください。 そのキューに 1 つまたは複数のメッセージが存在する場合でも、CurrentQDepth キュー属性が 0 になる可能性があるので注意してください。 まだコミットされていない作業単位の一部としてメッセージが取り出された場合に、このようなことが起こります。 メッセージを廃棄できる場合は、MQCO_DELETE_PURGE オプションを指定して MQCLOSE 呼び出しを試みてください。 この呼び出しをあとで再試行することを検討してください。