メッセージキューの削除は、不要になったメッセージキューを削除する機能です。メッセージキューの削除は、mqddltqコマンド、プログラムインタフェースの“MQDDELETEQ”または“mqd_deleteq”で行うことができます。
メッセージキューの削除は、メッセージキューごとに行います。
メッセージキューの削除は、通常、そのメッセージキューに接続している利用者がいない場合にだけ実行されます。ただし、メッセージ格納ファイルとして通常のファイルを使用している場合は、強制モードを指定することで、利用者がいる場合でも強制的にメッセージキューを削除することができます。この場合、メッセージキューを利用しているアプリケーションは途中でエラーを検出する場合があります。ただし、メッセージ格納ファイルとしてデータベースを使用している場合は、メッセージキューに接続している利用者がいる場合には強制的にメッセージキューを削除することはできません。
また、メッセージキューの削除は、通常、そのメッセージキューにメッセージがない場合にだけ実行されます。ただし、強制モードを指定することで、メッセージがある場合でも強制的にメッセージキューを削除することができます。
なお、メッセージキューを強制的に削除する場合は、以下のことに留意する必要があります。
強制削除中のメッセージキューは、使用禁止状態となります。
以下のいずれかの状態のメッセージキューについては、強制削除が失敗して、メッセージキューが使用禁止状態のままになることがあります。
メッセージを受信中
メッセージを削除中
強制削除に失敗したメッセージキューは、メッセージの内容が保証されなくなります。この場合は、失敗の原因を取り除いた後、再度、強制削除を行う必要があります。
使用禁止状態のメッセージキューに対しては、メッセージキューの削除、メッセージの一括削除およびメッセージキュー情報の表示の操作だけ行うことができます。