Das Beispielprogramm 'Soccer Results' ausführen
Das Beispielprogramm 'SoccerResults' umfasst zwei kleine Anwendungen, die über die Befehlszeile ausgeführt werden:
- Die Subskribentenanwendung 'SoccerResults', die die Ergebnisse aller ausgetragenen Fußballspiele abonniert. Von 'SoccerResults' wird immer nur jeweils eine Instanz ausgeführt.
- Die Publisher-Anwendung 'SoccerGame', die Fußballspiele simuliert und Ereignisdaten veröffentlicht, wenn Tore geschossen werden. Es können eine oder auch gleichzeitig mehrere Instanzen der Anwendung 'SoccerGame' ausgeführt werden.
Die Anwendungen 'SoccerResults' und 'SoccerGame' werden zusammen mit der Laufzeitkomponente von WebSphere Message Brokers installiert:
- Unter Windows befinden sich die Anwendungen im Verzeichnis Installationsverzeichnis\sample\soccer\bin.
- Unter Linux und Unix werden diese Anwendungen im Verzeichnis Installationsverzeichnis/sample/soccer/bin installiert
Dabei steht Installationsverzeichnis für das Verzeichnis in dem WebSphere Message Brokers installiert wird.
Starten Sie zunächst die Subskribentenanwendung 'SoccerResults', bevor Sie Instanzen der Publisher-Anwendung 'SoccerGame' starten. Wenn die Anwendung 'SoccerGame' zuerst gestartet wird, gehen unter Umständen einige Ergebnisveröffentlichungen für die Anwendung 'SoccerResults' verloren.
So führen Sie das Beispielprogramm aus:
- Starten Sie die Anwendung 'SoccerResults':
- Wechseln Sie in der Befehlszeile in das Verzeichnis mit der Anwendung 'SoccerResults'.
- Geben Sie den folgenden Befehl ein; dabei steht WBRK6_DEFAULT_QUEUE_MANAGER für den Namen des Warteschlangenmanagers des Brokers in der Standardkonfiguration:
soccerResults WBRK6_DEFAULT_QUEUE_MANAGER
Die Anwendung 'SoccerResults' meldet daraufhin, dass sie eine Subskription eingerichtet hat und erfolgreich gestartet wurde. Bei WebSphere Message Brokers muss die Groß-/Kleinschreibung beachtet werden, daher müssen Sie den Namen des Warteschlangenmanagers genau so eingeben, wie er definiert wurde.
- Starten Sie die Anwendung 'SoccerGame':
- Wechseln Sie an einer neuen Eingabeaufforderung in das Verzeichnis mit der Anwendung 'SoccerGame'.
- Geben Sie den folgenden Befehl ein; dabei steht WBRK6_DEFAULT_QUEUE_MANAGER für den Namen des Warteschlangenmanagers des Brokers in der Standardkonfiguration und Team1 und Team2 für die Namen der jeweiligen Mannschaften.
soccerGame Team1 Team2 WBRK6_DEFAULT_QUEUE_MANAGER
Mannschaftsnamen dürfen nur die Zeichen "_", 0-9, a-z und A-Z enthalten. Mit dem Zeichen "_" können Sie ein Leerzeichen im Namen der Mannschaft darstellen. Beispiel:
soccerGame Hudford_Harriers Drafton_Dynamos WBRK6_DEFAULT_QUEUE_MANAGER
Funktionen, die Sie ausprobieren können
Nachdem Sie das Beispielprogramm 'SoccerResults' ausgeführt haben, können Sie die verschiedenen Möglichkeiten der Publish/Subscribe-Nachrichtenübertragung ausprobieren:
- Simulieren Sie den Umgang mit ständigen Veröffentlichungen. (Probieren Sie diese Funktion nicht aus, wenn Ihr Broker als eine sichere WebSphere MQ-Anwendung agiert, da der WS-Manager einer sicheren Anwendung die Subskriptionswarteschlange (SOCCER_SUBSCRIPTION) nicht freigeben kann, wenn die Anwendung 'SoccerResults' beendet wird.):
- Nachdem einige Tore gefallen sind, wechseln Sie in das Fenster der aktiven Anwendungen 'SoccerResults' und brechen Sie den Prozess vorzeitig ab, indem Sie die Tastenkombination Strg+C drücken.
- Warten Sie etwa 30 Sekunden, und starten Sie anschließend die Anwendung 'SoccerResults' erneut. Die aktuellen Spiele werden jetzt wieder auf ihren zuletzt bekannten Spielstand gesetzt, und der Spielstand wird mit allen weiteren Toren aktualisiert, die erzielt wurden, solange die Anwendung nicht ausgeführt wurde. Wenn die Anwendung 'SoccerResults' zu schnell wieder gestartet wird, kann die Subskribentenwarteschlange unter Umständen nicht geöffnet werden (Fehlercode 2042 (MQRC_OBJECT_IN_USE)). Dieser Fall tritt ein, wenn der WS-Manager nicht erkennt, dass die Anwendung fehlgeschlagen ist. Unter diesen Umständen gibt er die Warteschlange nicht frei, da diese für die exklusive Verwendung durch die fehlgeschlagene Anwendung geöffnet war. Starten Sie die Anwendung nach einigen Sekunden erneut.
- Starten Sie eine weitere Instanz der Anwendung 'SoccerGame', und verwenden Sie dieses Mal andere Mannschaftsnamen. Wenn Sie gleichzeitig zwei Instanzen von 'SoccerGame' ausführen, empfängt der Ergebnisserver die Tore beider Spiele.
Zurück zum Beginn des Beispielprogramms