Direkte WebSphere MQ-API-Aufrufe verwenden

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 unterstützt folgende MQI-Funktionen:
Zum Verwenden von direkten WebSphere MQ-API-Aufrufen müssen Sie eine EGL-Projektfunktion aktivieren:
  1. Klicken Sie im Projektexplorer mit der rechten Maustaste auf den Projektnamen.
  2. Wählen Sie die 'Eigenschaften' aus.
  3. Klicken Sie auf der linken Seite des Dialogfensters 'Eigenschaften' auf 'EGL-Projektfunktionen'.
  4. Aktivieren Sie neben EGL das Kästchen mit der MQ-API-Unterstützung für maschinenorientierte Programmiersprachen.
  5. Klicken Sie auf 'OK'.

Wiederverwendbare WebSphere MQ-Abschnitte

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.

Tabelle 1. Beispieldatensätze für 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.

Tabelle 2. EGL-Funktionen, 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

Feedback