Zusätzlich zu dem, was Rob sagte, besteht die programmgesteuerte Methode darin, zu versuchen, die Warteschlange zu öffnen. Wenn die Warteschlange existiert, erhalten Sie entweder RC=0
oder RC=2
mit einem Reason Code von 2035 MQRC_NOT_AUTHORIZED
. Wenn die Warteschlange nicht existiert, erhalten Sie RC=2
mit einem Reason Code von 2085 MQRC_UNKNOWN_OBJECT_NAME
zurück.
Wenn jemand diese Warteschlange für die exklusive Eingabe geöffnet hat, können Sie sie nicht zur Eingabe öffnen, ohne einen Fehler zu erhalten, aber der Fehler weist zumindest darauf hin, dass die Warteschlange existiert. Um das zu umgehen, öffnen Sie die Warteschlange für die Anfrage, wenn Sie nur wissen müssen, dass sie existiert. Dadurch können Sie auch andere Attribute über die Abfrageoptionen der API entdecken.
Schließlich, wenn Sie Zugriff auf die Befehlswarteschlange haben, können Sie einen PCF-Befehl darauf ablegen, der DIS Q(<QUEUE NAME>)
entspricht, den Rob erwähnte. Im Allgemeinen benötigen Geschäftsanwendungen keinen Zugriff auf die Befehlswarteschlange, aber Geschäftsanwendungen müssen normalerweise nicht danach fragen, ob ihre Warteschlange existiert oder nicht. Das ist eine Verwaltungsfunktion und die App findet entweder ihre Warteschlange oder einen schwerwiegenden Fehler. Als MQ-Administrator würde ich jede Geschäftsanwendung in Frage stellen, die nach Rechten zur Verwendung von runmqsc
fragte, oder nach der Frage, ob die Warteschlange dort war, ob die Kanäle aktiv waren usw. Die meisten Geschäfte, in denen ich gearbeitet habe, ließen keine Business-App in Produktion mit diesem Design oder Privilegien. Auf der anderen Seite müssen Instrumentierungsanwendungen routinemäßig in der Lage sein, Dinge wie die Warteschlangeninventur anzufragen, so dass erwartet wird, dass sie Zugriff auf die Befehlswarteschlange für diese Funktion haben und diese verwenden können oder Zugriff auf runmqsc
haben, um von Skripten anzufordern.
Als Hinweis, wenn Sie eine Frage an die IBM MQ Produkt beziehen, fragen müssen Sie nur den Tag legen [IBM- mq]. Das [websphere] -Tag ist für Fragen zum Websphere Application Server gedacht. Das [mq] -Tag steht für allgemeine Nachrichtenwarteschlangenfragen. Das [ibm] -Tag ist für Fragen über die Firma IBM. – JoshMc