Das Schreiben in Nachrichtenwarteschlangen erfolgt mithilfe der EGL-Anweisung add; das Lesen mit get next.
Bei der ersten Verwendung einer EGL-Anweisung mit einem WebSphere MQ-Datensatz während einer Programmausführung überprüft EGL, ob eine aktive Verbindung zu einem Warteschlangenmanager vorhanden ist. Ist dies nicht der Fall, wird eine Verbindung erstellt.
Nachdem Sie in die Nachrichtenwarteschlange geschrieben bzw. aus ihr gelesen haben, müssen Sie Ihre Änderungen möglicherweise festschreiben oder rückgängig machen.
In einem EGL-Programm können Sie jeweils nur zu einem Warteschlangenmanager eine Verbindung herstellen.
EGL stellt bei der ersten Anweisung add oder get next in einem Programm automatisch eine Verbindung zum Warteschlangenmanager her, wobei der Name des WS-Managers verwendet wird, der in dem Systemressourcennamen angegeben ist, der dem Datensatz der Nachrichtenwarteschlange zugeordnet ist. Wenn kein WS-Manager-Name angegeben ist, ist der Warteschlangenmanager der für Ihr System definierte Standardwarteschlangenmanager. EGL trennt die Verbindung zum Warteschlangenmanager automatisch, wenn das Programm beendet wird, wobei alle offenen Dateien sowie die aktuelle Arbeitseinheit (falls diese noch geöffnet ist) geschlossen werden.
Weitere Informationen zu MQCONN und MQDISC finden Sie in Direkte WebSphere MQ-API-Aufrufe verwenden. In Workstationumgebungen (Windows NT, OS/2, AIX, Solaris und HP), stellt WebSphere MQ unterschiedliche Laufzeitbibliotheken für WebSphere MQ-Programme bereit. Die Auswahl hängt davon ab, ob das Programm auf demselben System wie der Manager der Nachrichtenwarteschlange ausgeführt wird, oder ob das Programm als WebSphere MQ-Client ausgeführt wird, der mit einem Manager auf einem Serversystem kommuniziert. Auf AIX- und HP-Systemen werden außerdem für Threadumgebungen und Nicht-Threadumgebungen unterschiedliche Bibliotheken bereitgestellt.
EGL speichert das Verbindungshandle für künftige add-Anweisungen.
EGL schließt die Verbindung zur Warteschlange automatisch, wenn das Programm beendet wird.
EGL schließt die Verbindung zur Warteschlange automatisch, wenn das Programm beendet wird.
Wenn Sie in einer Transaktion, die eine Arbeitseinheit definiert, Nachrichten kombinieren, können die Nachrichten als Gruppe festgeschrieben oder rückgängig gemacht werden. Wenn eine Arbeitseinheit festgeschrieben wird, wird alles, was in der Transaktion enthalten ist, abgeschlossen. Wenn eine Arbeitseinheit rückgängig gemacht wird, wird alles, was in der Transaktion enthalten ist, entfernt.
In diesen Transaktionsumgebungen werden Festschreibungen und Rollbacks für Nachrichtenwarteschlangen mit Festschreibungen und Rollbacks für andere wiederherstellbare Ressourcen, wie beispielsweise DB2-Datenbanken, unter Verwendung eines Protokolls für zweiphasige Festschreibung koordiniert.
In anderen Umgebungen werden Ressourcen für unterschiedliche Manager unabhängig voneinander festgeschrieben. EGL setzt die entsprechenden WebSphere MQ-Aufrufe für Festschreibungen und Rollbacks automatisch ab, wenn Sie sysLib.commit() und sysLib.rollback() verwenden.