Publish/Subscribe-Beispielprogramme

Die Publish/Subscribe-Beispielprogramme veranschaulichen die Verwendung der Publish- und Subscribe-Funktionen (Veröffentlichen und Subskribieren) in WebSphere MQ.

Drei Beispielprogramme in der Programmiersprache C veranschaulichen die Programmierung der Publish/Subscribe-Schnittstelle von WebSphere MQ. Einige in der Programmiersprache C geschriebene Beispielprogramme verwenden ältere Schnittstellen, zudem gibt es auch Java-Beispielprogramme. Die Java-Beispielprogramme verwenden die Publish/Subscribe-Schnittstelle von WebSphere MQ in com.ibm.mq.jar und die Publish/Subscribe-Schnittstelle von JMS in com.ibm.mqjms. Die JMS-Beispiele werden in diesem Abschnitt nicht behandelt.

C

Das Publisher-Beispielprogramm amqspub finden Sie im Beispielordner C. Führen Sie es mit einem beliebigen Namen als ersten Parameter aus, gefolgt von einem optionalen Warteschlangenmanagernamen. Beispiel: amqspub mytopic QM3 . Es steht auch eine Clientversion namens amqspubc zur Verfügung. Wenn Sie die Clientversion ausführen möchten, lesen Sie zunächst die Informationen unter Beispielprogramme vorbereiten und ausführen.

Der Publisher stellt eine Verbindung zum Standardwarteschlangenmanager her und antwortet mit der Ausgabe target topic is mytopic . Jede Zeile, die Sie ab sofort in dieses Fenster eingeben, wird in mytopic veröffentlicht .

Öffnen Sie ein anderes Befehlsfenster im selben Verzeichnis und führen Sie das Subskribentenprogramm amqssub aus. Geben Sie dabei denselben Themennamen und einen optionalen Warteschlangenmanagernamen an, zum Beispiel amqssub mytopic QM3 .

Der Subskribent antwortet mit der Ausgabe Calling MQGET : 30 seconds wait time . Ab sofort erscheinen die Zeilen, die in im Publisher eingeben, in der Ausgabe des Subskribenten.

Starten Sie einen anderen Subskribenten in einem anderen Befehlsfenster und beobachten Sie, wie beide Subskribenten Veröffentlichungen erhalten.

Eine ausführliche Dokumentation der Parameter einschließlich Einstellungsoptionen finden Sie im Quellcode des Beispielprogramms. Die Werte für die Subskribentoptionsfelder werden im Abschnitt Options (MQLONG) erläutert.

Es gibt ein weiteres Subskribentenbeispielprogramm - amqssbx -, das zusätzliche Subskriptionsoptionen als Befehlszeilenoptionen anbietet.

Geben Sie amqssbx -d mysub -t mytopic -k ein, um den Subskribenten mittels permanenter Subskriptionen aufzurufen, die nach Beendigung des Subskribenten beibehalten und aufbewahrt werden.

Testen Sie die Subskription, indem Sie einen anderen Artikel mithilfe des Publishers veröffentlichen. Warten Sie 30 Sekunden, bis der Subskribent beendet wird. Veröffentlichen Sie einige weitere Artikel unter demselben Thema. Starten Sie den Subskribenten neu. Der Artikel, der zuletzt bei nicht aktivem Subskribent veröffentlicht wurde, wird sofort nach Neustart des Subskribenten angezeigt.

Ältere C-Programme

Zudem gibt es eine Reihe von Beispielprogrammen in der Programmiersprache C zur Veranschaulichung von Befehlen in Warteschlangen. Einige dieser Beispielprogramme waren ursprünglich Bestandteil des MQ0C-SupportPacs. Aus Kompatibilitätsgründen werden die Funktionen der Beispielprogramme vollständig unterstützt.

Wir empfehlen Ihnen, die Schnittstelle der Befehle in Warteschlangen zu verwenden. Sie ist weitaus komplexer als die Publish/Subscribe-API und es gibt keinen zwingenden funktionsbedingten Grund, komplexe Befehle in Warteschlangen zu programmieren. Möglicherweise sagt Ihnen dieser Ansatz jedoch mehr zu, da Sie die Schnittstelle bereits verwenden oder Ihre Programmierumgebung die Erstellung komplexer Nachrichten und Aufrufe eines generischen MQPUT-Befehls erleichtert, statt verschiedene Aufrufe von MQSUB zu erstellen.

Die zusätzlichen Beispielprogramme finden Sie im Unterverzeichnis pubsub des Ordners samples.

In Tabelle 1 sind sechs Beispielprogrammtypen aufgeführt.
Tabelle 1. Kategorien veralteter Publish/Subscribe-Beispielprogramme in Programmiersprache C
Kategorie Programme Anmerkungen
RFH1
  • amqssr1a.c
  • amqspr1a.c
Einfaches Publish/Subscribe-Beispiel, erstellt mittels RFH1-Formatnachrichten.
RFH2
  • amqssr2a.c
  • amqssp2a.c
Einfaches Publish/Subscribe-Beispiel, erstellt mittels RFH2-Formatnachrichten.
MQAI-Beispielprogramme
  • amqsppca.c
  • amqsspca.c
Einfaches Publish/Subscribe-Beispielprogramm, erstellt mittels PCF-Befehlen und der MQAI-Befehlsschnittstelle.
MA0C-Ergebnisdienst unter Verwendung von RFH1
  • amqsgama.c
  • amqsresa.c
Ergebnisdienst, erstellt mit RFH1-Headern
  1. Erfordert die Definition der Warteschlangen in amqsgama.tst und amqsresa.tst
  2. amqsresa muss vor amqsgama gestartet werden.
MA0C-Ergebnisdienst unter Verwendung von RFH2
  • amqsgr2a.c
  • amqsrr2a.c
Ergebnisdienst, erstellt mit RFH2-Headern
  1. Erfordert die Definition der Warteschlangen in amqsgama.tst und amqsresa.tst
  2. amqsresa muss vor amqsgama gestartet werden.
Beispielprogramm für Publish/Subscribe in einem Routing-Exit
  • amqspsra.c
Veranschaulicht die Änderung des Ziels der Warteschlange bzw. des Warteschlangenmanagers für eine Publish/Subscribe-Nachricht in einem Routing-Exit.

Java

Das Java-Beispielprogramm MQPubSubApiSample.java kombiniert Publisher und Subskribenten in einem Programm. Seine Quell- und kompilierten Klassendateien finden Sie im Beispielordner wmqjava.

Wenn Sie die Ausführung im Clientmodus wünschen, lesen Sie zunächst die Informationen unter Beispielprogramme vorbereiten und ausführen.

Führen Sie das Beispielprogramm über den Java-Befehl in der Befehlszeile aus, wenn Sie eine konfigurierte Java-Umgebung verwenden. Sie können das Beispielprogramm auch über den WebSphere MQ Explorer-Eclipse-Arbeitsbereich ausführen. Dieser verfügt über eine bereits eingerichtete Java-Programmierungs-Workbench.

Einige der Eigenschaften des Beispielprogramms müssen unter Umständen geändert werden, um das Programm ausführen zu können. Geben Sie dazu die Parameter in der JVM an oder bearbeiten Sie die Quelle.

Befolgen Sie die Anweisungen in Ausführen des Java-Beispiels, um das Beispielprogramm im Eclipse-Arbeitsbereich auszuführen.


Konzept Konzept

Feedback

Timestamp icon Letzte Aktualisierung: 30. Oktober 2018
http://www.ibm.com/support/knowledgecenter/SSFKSJ_7.5.0/com.ibm.mq.dev.doc/com.ibm.mq.dev.doc/q024230_.htm fg17335_