Die WebSphere MQ-Anwendungsprogrammierschnittstelle (WebSphere MQ-API) ist eine Gruppe von Programmschnittstellen, die Sie zum Anfordern von Services vom Manager der Nachrichtenwarteschlange anfordern können.
Die WebSphere MQ-API (auch als MQ Interface oder MQI bezeichnet) greift direkt auf den Manager der Nachrichtenwarteschlange zu. Verwenden Sie MQI nur zur Verwaltung von vorhandenem Code, da die Schnittstelle komplex ist, leicht Fehler unterlaufen und die Flexibilität eingeschränkt ist. Bei neuem Code sollten für den Zugriff auf Informationen der Nachrichtenwarteschlange die EGL-Anweisungen add und get next verwendet werden.
EGL stellt eine Gruppe von wiederverwendbaren Abschnitten bereit, bei denen es sich um Parameter, Datensätze und Funktionen handelt, die Sie verwenden oder ändern können, um direkte Aufrufe an die WebSphere MQ-API abzusetzen. Die Quellendateien für diese Teile befinden sich im Verzeichnis SDP70Shared\plugins\com.ibm.etools.egl.resources_Version\MqReusableParts.
Bei MQI-Parametern handelt es sich entweder um Datenelemente oder um Datensätze. Die Beispieldatensätze MQSTATE und MQATTRIBUTES enthalten Deklarationen für die Mehrheit der Parameter von Datenelementen.
Für den Parameter BUFFER (Nachrichtenpufferparameter, der mit den Aufrufen MQGET, MQPUT und MQPUT1 verwendet wird) und für CHARATTRS (Pufferparameter für Zeichenattribute, der mit den Aufrufen MQINQ und MQSET verwendet wird) ist jeweils eine Länge von 1024 Zeichen definiert. Erhöhen Sie den Wert für die Länge dieser Elemente, wenn Sie MQSTATE in einem Programm wiederverwenden wollen, das größere Puffer benötigt.
Es werden Beispieldatensätze bereitgestellt, um das Format von Satzparametern und von Nachrichten für besondere Zwecke sowie von Nachrichtenheadern zu definieren. Die Datensatznamen sind dieselben wie die Namen von COBOL-Strukturen. Die Datenelemente in den Datensätzen haben dieselben Namen wie die entsprechenden Felder in den COBOL-Strukturen, mit der Ausnahme, dass bei COBOL-Namen als Tokenseparator ein Bindestrich (-) statt eines Unterstrichs verwendet wird.
Die folgende Tabelle enthält die Namen der Beispieldatensätze für direkte WebSphere MQ-Aufrufe.
| Datensatz | Beschreibung | Initialisierungsoperatorfunktion |
|---|---|---|
| MQBO | Startoptionen | MQBO_INIT |
| MQCNO | Verbindungsoptionen | MQCNO_INIT |
| MQDH | Verteilungsheader | MQDH_INIT |
| MQDLH | Header für nicht zustellbare Nachrichten | MQDLH_INIT |
| MQGMO | Parameter für Optionen für Nachrichtenabruf | MQGMO_INIT |
| MQINTATTRS | Parameter für Integerattribute | MQINTATTRS_INIT |
| MQMD | Parameter für Nachrichtendeskriptor | MQMD_INIT |
| MQMD1 | Nachrichtendeskriptor (Version 1) | MQMD1_INIT |
| MQMDE | Erweiterung für Nachrichtendeskriptor | MQMDE_INIT |
| MQOD | Parameter für Objektdeskriptor | MQOD_INIT |
| MQOR | Objektdatensatz | MQOR_INIT |
| MQPMO | Struktur für Optionen zum Einreihen von Nachrichten | MQPMO_INIT |
| MQRMH | Header für Nachrichtenreferenz | MQRMH_INIT |
| MQRR | Antwortdatensatz | MQRR_INIT |
| MQSELECTORS | Parameter für Attributselektoren | MQSELECTORS_INIT |
| MQTM | Struktur der Auslösenachricht | MQTM_INIT |
| MQTMC2 | Auslösenachricht 2 (Zeichenformat) | MQTMC2_INIT |
| MQXQH | Header der Übertragungswarteschlange | MQXQH_INIT |
Die folgende Tabelle enthält die EGL-Beispielfunktionen, mit denen WebSphere MQ-API-Funktionen aufgerufen werden.
| Funktion | Beschreibung |
|---|---|
| MQCONN | Verbindung zum Manager der Nachrichtenwarteschlange herstellen |
| MQCONNX | Erweiterte Verbindung |
| MQDISC | Verbindung zum Manager der Nachrichtenwarteschlange trennen |
| MQOPEN | Nachrichtenwarteschlange öffnen |
| MQCLOSE | Nachrichtenwarteschlange schließen |
| MQGET | Nachricht aus einer Warteschlange lesen |
| MQPUT | Nachricht in eine Warteschlange schreiben |
| MQPUT1 | Einzelne Nachricht an eine Warteschlange schreiben, einschließlich Öffnen und Schließen der Warteschlange |
| MQINQ | Warteschlangenattribute abfragen |
| MQSET | Warteschlangenattribute festlegen |
| MQBEGIN | Logische Arbeitseinheit starten |
| MQCMIT | Logische Arbeitseinheit festschreiben |
| MQBACK | Logische Arbeitseinheit zurücksetzen |